Staffing for HTML5
May 15, 2013 • 5 minutes • 1015 words
The open web platform consists of a number of technologies, from the HTML and CSS required by responsive web design, to the JavaScript that builds applications and powers the advanced HTML5 browser APIs, to server-side languages and technologies that the entire technology stack rests on. As such, there are a number of distinct roles needed to keep this stack upright. In this article, we will focus on defining what we believe has only recently emerged as a key role for developing for the open web: the front-end engineer and how to go about hiring one.
Change is Afoot
Traditionally, web applications were built on a server in a classical programming language such as Java and backed up by some sort of database. The user interface was a thin façade over this main application layer.
Nowadays, our applications put far greater emphasis on the client side (HTML, CSS, and JavaScript), requiring more engineering rigor. This added responsibility requires greater and more diverse expertise from developers who specialize in front-end technologies.
Defining the Front-End Engineer
What does this mix of expertise look like? As a Platonic ideal, it combines expert knowledge of HTML, CSS, JavaScript, web performance and accessibility, with a thorough understanding of software architecture principles and patterns.
This mix is hard to find.
Software architecture is the realm of “traditional” programming and has been largely ignored by client-side developers. Client-side developers have not generally spent time focusing on algorithms, architecture, or other parts of the traditional computer science curriculum. Those that have gained this understanding are rare, and can expect to be very well compensated. They are so rare in fact, that hiring managers sometimes refer to them as “pink elephants” or “unicorns.”
Meanwhile, demand for this role only continues to grow. The U.S. Bureau of Labor Statistics estimates that the number of jobs for software developers will grow by 30 percent between 2010 and 2020. If the industry continues to evolve in the ways we expect, more and more of these jobs will require front-end development expertise.
For companies that are able to find a “unicorn,” most can only afford to keep one or two on staff. So, what is the intrepid hiring manager to do?
The most practical solution is to hire the best you can—within your budget—and train them the rest of the way.
Screening Candidates
A rigorous screening process is key for finding the best developers available in the market. If you don’t currently have an expert front-end engineer, then you’re going to suffer from a classic chicken and egg problem.
You need an expert developer to be able to identify expertise in others.
If you have yet to hire your first expert developer, and are not one yourself, consider finding a trusted partner to assist in building out a self-sustaining core development team.
Once you have expertise internally, the next step is to set up a reusable hiring process that will provide reasonable assurance that the developers you end up hiring are ready and capable of becoming future experts.
That hiring process may take different forms, but perhaps the most valuable element is the design and utilization of a technical exercise.
Using a Technical Exercise
At Sapient Global Markets, our technical exercise is a reduced problem from our Bullsfirst proof of concept project. It requires the knowledgeable use of HTML, CSS, and JavaScript, and is done with the interviewer as both observer and resource, to somewhat simulate a small-scale project.
There are no algorithmic puzzles or trick questions. The objective is not completion or technical wizardry, but instead to observe how the candidate approaches the problem and attempts to solve it.
This approach gives us a better overall understanding of the developer, as we are looking for a certain architectural mindset from developers at each level within our organization. The strategies and speed with which the candidate approaches the exercise, as well as the conversation that goes along through the interview, tells us quite a bit about where he or she will likely fit (or not fit) within the team.
Hire for Passion and Flexibility
The important lesson to remember is that skills can be taught.
What we are looking for is passion and flexibility. A passion for learning, growing, and producing outstanding work is necessary for building and maintaining expertise in an industry that is constantly changing. Developers need to be flexible in order to respond to changing requirements and industry practices; we have been known to change our technical exercise mid-stream for certain candidates in order to judge this very attribute. A candidate with passion and flexibility will tend to build expertise faster and maintain it throughout their career.
Commit to Growth
Once a passionate and flexible developer is hired, they can be trained into the skill set we require on projects and within our practice. If we have hired the right person with these qualities, they will pick up this skill set faster and with better results than an average developer.
Expertise comes with time and experience, but can also be lost. Because the industry continues to change, the only way to remain on the cutting edge is to continue to learn and grow. The onus for this is not only on the individual, but also on the organization. Providing growth opportunities is the only way to keep passionate developers engaged and to protect against attrition—which means starting again at the beginning.
Takeaway
Training front-end developers to become experts is hard, but finding the perfect developer is even harder. If we hire the best developers we can find at a variety of skill levels, and are committed to their growth, we can build an incredible development team that is prepared to handle the rigors of modern open web platform development.
Bob Holt is a JavaScript engineer at Sapient Global Markets. Bob has a background in economics, finance, non-profit development, finance, and education, all of which he tries to shoehorn into his approach to developing for the open web. In his free time, Bob enjoys music, photography, and watching football in all its forms.
Previously published at http://gmblog.sapient.com/