There is often confusion about the various roles of a web engineering team. I have had to explain, even to technical recruiters, the differences between these roles and that the lines that separate them are often fuzzy. I thought I’d share the framework I like to use to evaluate whether someone is a good fit for a startup’s technical team.
The size of the company or startup will determine how many different hats each engineer must wear. Many startups get off the ground with a single founder who does a little bit of everything until he or she can grow the team. It’s also possible to outsource some roles completely. Just as cloud-hosting providers such as Amazon Web Services have drastically reduced the need for hardware/network engineers in web startups, platforms like Heroku take it further and (for a price) can reduce sysadmin and DevOps work almost entirely in the beginning.
In pretty much every case, when a startup grows, people will inevitably start specializing. Even those rare gems, who in the early days can spend the first half of the day in Photoshop and the second half scaling a database, will eventually specialize at least somewhat. If you’re hiring well, you’ll always find someone who can outperform you in at least one area.
Here’s an overview of the main functional areas on a full-stack web engineering team:
We like to evaluate engineering candidates based on a combination of breadth and depth. Candidates need to be proficient in two or more main areas. And the fewer areas they’re comfortable in, the more of an expert in those areas they need to be. You shouldn’t hire for single hard-defined roles, but rather across a spectrum of skills. For example, some good fits for my team right now could include:
Rather than separately trying to fill the four job descriptions that I mentioned earlier, hiring people who have the right blend of breadth and depth across the spectrum is crucial.
There are many other important criteria for evaluating engineering candidates beyond where their skills fall on the web technology stack. People should be considered overall and judged on a team/culture fit, the ability to just get stuff done, product sense, communication and problem-solving skills, and experience with production systems, to name a few. And while having a well-balanced team overall is crucial, remember that technical fit is an important part of it. So figure out how many hats you need somebody to wear, and go find the engineers that will best fit on your team.