The Art of Hiring Good Engineers
Hiring the first five good engineers in your team requires a different approach to hiring the first twenty good engineers. The approach to designing this process will be even more different, when you want to hire to scale up to a 100 engineers… or even to 300.
Should you start from the top hires?
Or should you start from hiring a few really good engineers and then help them to scale?
This post covers some concepts on designing efficient, useful processes to help Tech Leads who are actively involved in building fast-growing Engineering teams from scratch. This post may also be useful for people working in super niche fields who want to build and scale Engineering teams for continued growth.
Start Small
There is never only one way to start building a team of good engineers. Many of the mobile apps we use daily today, are known for having small teams of good engineers who built great products:
-
WhatsApp finished building their initial product with 32 engineers
-
Skype’s product was built by 5 engineers
-
Instagram’s first team only had 13 employees in total
Your small team of good engineers should be ready to fight every day for the right to be a player in the market where you are.
They will need to be more eager, more hungry, and more consumer minded than others. They will need to always fight for the right to be a player in that market. To fight off the big guys, sometimes the good engineer needs to be battle-worn, battle-tried.
The battle-tried good engineer has faced many of the situations you too will face:
-
How do you handle outages that cause the entire product to be down?
-
How do you release a lot of features simultaneously without disrupting users?
Follow Existing Wisdom
Many of the top technology companies today have had great success in hiring good engineers. They do put in plenty of effort and research to design processes that work for bringing in hundreds of good engineers each year.
My recommendation to you would be to follow the wisdom of these best practices that have been adopted by the top companies. Many of these processes are well documented and shared about on sites like Quora and Glassdoor. However, be mindful that there are weak points in these processes due to how top companies deal with volume.
(Too many interviews + tests and coding assignment rounds) * too little human touch = bad design for hiring a team of good engineers
Shatter Illusions
The illusion that there is always more good engineers out there.
When you have found a truly good engineer, he/she is simply irreplaceable. I believe this good engineer can help drive successful processes to help you hire 100 good engineers as I’ve personally witnessed this effort happen - and as they also carry great value in product knowledge, systems design, and design thinking, they will be able to exert an influence over their colleagues which, when lost, has an immeasurable impact on the internal culture.
The illusion that small teams can afford to not think about diversity.
Don’t forget about diversity, equality and inclusion. Even in small teams, diversity - this means hiring a good engineer coming from a completely different background from you and the other members - bring distinct advantages.
Remember to give everyone an equal chance to join your team by eliminating as many obvious biases as possible - and to understand inclusion, simply: when you invite someone ‘different’ to the party, make them feel like they are not only invited, but make them feel like they are really one of you! There’s something to be said for teams that champion all three.
Do a fast game, but not too fast though!
If you bring in good engineers too fast and furious without a proper approach, some parts of the moving equation will prove to be detrimental to their success - if you are not setting them up for success, the good engineer will find it hard to match the fit prerogatives, and fail, fast. Being fast at hiring good engineers should not be the only success metric you hold yourself to.
The Recipe so far
Start Small + Follow Existing Wisdom + Shatter Illusions + … how about designing a process that works ?
Now, if you are ready to design your process, consider these 4 steps for designing a robust process.
Step 1: Make a REALLY Good List
If you do decide to only hire the top 2 - 5% good engineers with a relevant tech stack / industry expertise, understand that you are making your process 100 times harder. Sometimes this means that you have to process 500 profiles in order to hire 5 - 10 good engineers. This will take months at least, unless you have super resources.
Add to your list those good engineers who are open-source committers, top engineers from the leading technology companies who are in your location. Even if they do not join your team now, they will be able to recommend others - good engineers attract good engineers and these activities of yours will be discussed in engineering communities.
Once you have already recognised all profiles from LinkedIn, GitHub is the next battleground to look up.
Step 2: Determine Technical Fit
While I don’t recommend the technical phone screen for every single engineering role (as cybersecurity and niche data engineering processes can be designed differently, frontend, full-stack and product or mobile engineering hiring can benefit from a process to review their portfolio and design thinking), most top companies assign tests as the pre-screening round that can be a timed coding test with relevancy, a technical phone screen, a recruiter screen for the role, scope, and culture fit or, a take-home assignment involving designing elements crucial for success in the role.
Most top companies design this first part to take 1-2 hours of the candidates’ time initially, the phone screen can range from 20 minutes to 1.5 hours.
Step 3: Determine Culture and Team Fit Based off Group Interviews
The outcome you should look for is ideally for every one of your warriors to feel comfortable with fighting alongside this battle-ready good engineer. Misgivings and possible gaps can always be improved on while working on the product together.
Also, check if the good engineer can work well with others in Design, Product and Data functions as well as communicate reasonably well to someone outside your engineering organisation. Any HR or Recruitment professional can help check if the engineer possesses a few of these soft skills you need, such as communicating to stakeholders, business acumen or excitement in helping solve consumer issues. Don’t skip this step!
Step 4: Optimise Your Process to ‘Always Be Closing’
Most talent acquisition professionals abide by the ‘always be closing’ mantra - they are selective in the people they talk to and eventually feel proud to represent to top companies, they also choose the roles they want to focus on, usually these are the easier roles to fulfil, according to their expertise.
It could be a good idea to identify the members in your team who are really ‘strict’ interviewers, we call them ‘bar-raisers’ and only send the super strong profiles across to them. The normal profiles can be sent to other good engineers for interviewing, so as not to burn out the strict bar-raiser.
By following this method we can effectively predict the pipeline of candidates and expedite those who have passed well in the bar-raiser round. Always know your reasons for declining a candidate and always be involved in the interview rounds no matter how big your team gets. Your efforts will definitely be discussed by others, so it’s also a good idea to frequently check in with peers, board members and technical advisors, especially if you find a senior candidate who had overlapping tenures with them. Your board and peers could provide useful information about this candidate or other interesting details that enable you to enhance your decision making process and improve your future hiring process as well.
If you did not manage to optimise your approach, a possible outcome is that you will be wasting valuable time of your existing Engineers. One hour spent in a bad interview is one hour less that could be spent on coding for your product.
I think it is a good idea to personally spend more time with all good engineer candidates on an informal basis, if you feel that the 1 hour or 1.5 hour session did not suffice to determine if he/she is a suitable hire.
Many good engineers will seem to possess all the right credentials but in the mid to long-term, there will always be some who are much better for your team.
Final Thoughts
Aim for a flat structure, even if you get big one day. Companies like Facebook and Grab still try to keep their Engineering structure as flat as possible.
Company after company who rose to greatness often struggle with scale.
The first point to the last point of interaction is always important for the candidate experience. If you want to build a strong team from the first hire to the last, your branding is important.
Hire the really talented good engineer, and the rest will follow.
Ensure your small team still stands for diversity, equality and inclusion
Always be closing but don’t forget to have fun: Your current challenge will always be to hire the people who really want to see you succeed!
So You Need to Hire a Good Engineer
Thank you for reading and please share some ideas for future inspiration, I love challenges!