(Rebecca Murphey recently published A Baseline for Front-End Developers which was well received and is the inspiration for this aside.)
It’s tough hiring top developers when the talent pool is so small and given that I work for an agency the available pool is even smaller. Those who have worked in the industry for some time are likely scarred by agency burnout and I think it’s reasonable to assume that the most highly skilled developers will have taken advantage of their scarcity and value to find great positions already. When attempting to hire I’m usually left looking through the details of pissed-off web journeymen and graduates.
Recruitment is made harder because CVs have limited value; skill cannot be deduced from big name clients (household brands push out heaps of expensive garbage) and portfolio websites can be a misrepresentation. If personal projects and published code are not available I may still have enough hope to invite a candidate for interview, as it’s (arguably) not fair to dismiss an applicant because they lack a GitHub account.
To help avoid frustrating already fraught interviewers, here is my baseline for front-end interviewees:
I want to see a candidate get animated describing a beautiful site they use, a cool talk they attended, someone they admired working with, who they retweet on Twitter, projects they follow or web experiments they don’t understand. A candidate must be able to show they have an interest and understanding of their industry; what else are we going to talk about? Maintaining a keen interest in interaction design and technology at all times is not an indicator of ability but it is within reason to expect candidates to be savvy enough to prepare for a question that will certainly be asked.
It’s disappointing when a candidate states “HTML5” as a feature they are looking forward to. What about it? HTML5 officially covers a range of technologies so being knowledgeable about specific features will be an advantage. I don’t wish to downplay the significance of the improvements to HTML document outlines and the pain alleviated by additions to the CSS3 backgrounds and borders module but it’s not very interesting to discuss features that have been in widespread usage for some time and considered a standard tool. Being able to clearly convey your ideas for using the latest hotness will be far more engaging than discussing the drawbacks of sliding door sprite creation. An enthusiasm for evolving web technologies is vital.
A candidate must be able to choose reliable resources when in need. When asked where to find programming help “Google” is not an answer, only the first step. The competency to distinguish between a rated Stack Overflow answer from a criticised for-profit website is a required skill. There are many highly respected blogs and books to read so it is expected that a candidate can recall their favoured authorities.
Hiring is a chiefly subjective process with many more factors not discussed by this article but front-end development—like other programming disciplines—can be an objectively testable skill (so long as you ask the right questions). In my experience conducting a simple test is the most useful way of determining if a candidate will fit into the team. We want interviewees to show passion and display a broad knowledge of technology but it is not until we see how they problem solve and test if their reasoning is sensible that we can make an informed decision.