Live data from Hacker News

Interviewing as a Front-End Engineer in San Francisco

css-tricks.com

61–70 of 188 posts

Re: Interviewing as a Front-End Engineer in San Francisco

#61

One problem is that many people associate front-end development mainly with HTML and CSS. HTML and CSS are not programming languages. I say this a front-end developer who has to write HTML, CSS and JavaScript on a daily basis. Yes, strictly speaking, HTML and CSS may be considered programming languages, but they lack control structures, design patterns and other interesting tenants of computer science. Like the autho…

I always assumed that the term "engineer" in "front-end engineer" implied software engineering capability. Although, like usual, it's dangerous to make assumptions.

Re: Interviewing as a Front-End Engineer in San Francisco

#62

One problem is that many people associate front-end development mainly with HTML and CSS. HTML and CSS are not programming languages. I say this a front-end developer who has to write HTML, CSS and JavaScript on a daily basis. Yes, strictly speaking, HTML and CSS may be considered programming languages, but they lack control structures, design patterns and other interesting tenants of computer science. Like the autho…

Modern Web Components/Polymers assume that Discrete Front End modules include HTML, CSS, and JavaScript.

And then there's http://prezi.com/piifihs2ohet/test-driven-css/.

    There are only two hard things in Computer Science: cache invalidation and naming things.
CSS and HTML have to be given architectures, where we have to name these "files". What can you do with jQuery if your CSS and HTML are named and mixed up with no clear architecture? Or with an architecture that fails to harmoniously follow the JS architecture? It must be clear that one direction the future could take is that CSS classes are given interfaces to be used in JS.

CSS (as JSSS) originally did have control structures, and they're coming back as SASS/LESS. CSS is being "modernized" as it were, and so questions about the language are very important to ensure developers are maturing in light of current trends. We're now talking about CSS variables in Standards.

HTML and CSS fall dead center between "the two hardest things in computer science": How do we name these files for inclusion via AJAX? How do we develop CSS abstractions and class-based architectures? What about LESS/SASS (since no one should really be writing raw CSS anyway)?

Re: Interviewing as a Front-End Engineer in San Francisco

#63

We were hiring a non-senior full-stack developer recently and I noticed there were no "frontend" questions on the list, so I added what I thought would be a question that any developer with frontend experience could answer, and would also pave the way for some more interested discussions for an advanced candidate. The question was something to the effect of "In JavaScript, what is the value of 'this' in a method?" I…

From the top of my head, from someone who currently seeks work as a full stack (Rails) developer:

I would ask if you by "method" mean function defined on an object. If so, this refers to the method's object. If not, this can take on 5 values. In the global scope it is the global object; in a constructor it is the newly created object; in a function (not defined on an object - and also goes for functions defined within methods defined on objects) it is the global object; in a method (defined on object) it is the object, and finally it can be set explicitly with functions like call and apply.

How did I do? (Serious question. I think my answer is good, but I also struggle with a serious form of imposter syndrome.)

Re: Interviewing as a Front-End Engineer in San Francisco

#64

Concerning that they ask you computer science questions when you will be working on the front end. What if you were to ask CSS and Javascript questions to a DBA? Do you see how absolutely ridiculous that sounds?

Well, if the developer is creating custom components, or simply manipulating data, then they need to know some good algorithms (at least know they exist and what to look for). Like when creating a table that needs to sort the rows. If you don't know how to do this, then you could have a really bad 0(N2) algorithm that just kills the browser with even a small list of items. Or, if you need write an algorithm to pack a bunch of rectangles on a screen (like a day calendar) so they don't overlap.

Yes, there are computer science topics that apply to the front end. If you are writing Javascript (not just marking up stuff and applying CSS), then you want to know how this works. This isn't the 90's simple form submission javascript. It's a completely different world in the browser now.

Re: Interviewing as a Front-End Engineer in San Francisco

#65
>"A correct answer to this will demonstrate both an understanding of basic computer science principles as well as a deeper knowledge of what jQuery is doing behind the scenes."

How does the referenced jquery statement represent basic CS principles? OOP? Definitely not that.

Re: Interviewing as a Front-End Engineer in San Francisco

#66
post #2

I'm a PHP/WordPress dev shipping product every single day, but I think I'd probably fail questions like these if I was asked in an interview setting. I don't really worry about functions like these until a need arises, and when it does (and I don't know how to do it), I learn until I do. This is an absurd way to recruit front-end talent and partially explains the so-called talent crunch.

Nothing against you, as I don't know you or your work, but "shipping product" does not equal doing good work. People ship crappy, buggy code every day. Just because one "ships daily" doesn't mean that what they're shipping is worth anything or means they know what they're doing. I've seen people that have no clue how to write code copy and paste crap they find all over the internet into a file and ship it. It's a slo…

You're writing as if most companies care about "proper" software. Most don't. They care about shipping.

Re: Interviewing as a Front-End Engineer in San Francisco

#67

Related, I just found out that Darcy Clarke put this list together of good front-end interview questions. I would have included it in the article if I'd known about it ahead of time. https://github.com/darcyclarke/Front-end-Developer-Interview...

"Whats your favorite feature of internet explorer"

I think I see what she did there..

Re: Interviewing as a Front-End Engineer in San Francisco

#68
post #49

As a follow-up to my earlier comment, i'm doing a phone interview right now and the first interviewer started off with questions about how IIS internals worked and some obscure C# questions. I immediately asked him "Is this a front-end position or not? I know C# and .net MVC but i'm focusing my career on Angular" his reply "I honestly don't know, they just told me to call you and ask you a series of questions on adva…

It seems that JS MVC frameworks change every year, maybe they decided that asking questions on the flavour-of-the-month is not an indicator? Would expect some JS questions though.

As a bonus, finally got to talk to the hiring manager a second ago and he informed me that there would be NO javascript or front end development in this role, just converting Crystal Reports into some other obscure reporting system. So I ended the call promptly with a "Thank you for your time and good bye"

Re: Interviewing as a Front-End Engineer in San Francisco

#69

Earlier quoted context omitted.

Nothing against you, as I don't know you or your work, but "shipping product" does not equal doing good work. People ship crappy, buggy code every day. Just because one "ships daily" doesn't mean that what they're shipping is worth anything or means they know what they're doing. I've seen people that have no clue how to write code copy and paste crap they find all over the internet into a file and ship it. It's a slo…

Software engineers make product, not code. I'd prefer talented developer with good practical experience in “releasing products” rather than an algo-geek who can only solve stupid hiring quizes. Slow buggy ugly WORKING RELEASED product is a much-much better than ideal clean and effective thing not yet ready for release for a few years in row.

Not saying I disagree with that, except for releasing slow buggy code. Why not accept either of those people? There are efficient ways, as described in the article, to interview for people that are great at releasing quality code in a productive time frame. I was simply pointing out that releasing code daily doesn't mean you know what you're doing. If you can't answer at least some of the questions that were in this article, I'd question your ability to write productive code. That's not to say that only questions like that should be a determining factor for ones ability to produce.
Post reply on HN