The original Macintosh team [Copyright: cnet.com/Dan Kottke]

How to hire Engineers for your unicorn startup

Rachel Minn Lee
Morning Light
Published in
11 min readMar 5, 2018

--

If you are working in a fast growing technology startup, you have probably been involved in the process of interviewing and hiring Engineers to scale teams. Let us first look at the philosophy to adopt before starting to interview people to join your software engineering teams.

We explore concepts that are formed behind hiring processes for Engineers and how these concepts shape processes to make the probability of hiring exceptional Engineers become a reality. I have interviewed more than a hundred Engineering leaders from technology companies globally, to compile everything addressed here. After understanding the hiring philosophy drivers we then look at designing an efficient, useful process for hiring a great software engineering team.

Hire for Ability & Technical Fit

When they love what they do, the approach of most great Engineers would be to try to push themselves to do more, more than what the typical job demands of them, because they want to see the difference their work can make. Often, they want to help others and are able to understand patterns in order to think broader, beyond the scope of what their current project demands from them. This approach will include an appetite for risk-taking and innovation, as great Engineers are excited by things they do not yet know. If you focus on hiring for ability, look for those who has:

The ability to take a step forward without letting over-thinking and over-analysis bite you, to not get distracted and mired by obstacles

The ability to iterate code case — a bias for action that is scalable and proves to be so over time, as opposed to quick fixes

The ability to produce nice to read and de-buggable code

The ability to (sometimes) take a deep breath and see the full picture

Many confident technology leaders make it their singular goal to hire the smartest people they can find. If the Engineer you hire is able to turn a complex, 1 million dollar problem into a simpler 100K one, then whether or not the problem is solved fast becomes far less important.

Smarts: it is important, but it is not all. If a company prefers to start the interview and hiring process based of the hire’s current knowledge as opposed to hiring for ability, they will usually start the technical screen by asking questions like these below. I, however, recommend that we should look for people we will hire for potential ability , rather than hire for the raw knowledge he/she already possesses.

Typical knowledge based questions in technical interview rounds include:

How long have you been coding in Ruby/Python/Golang/Javascript ?

Explain how XMLFilter works in Java ?

What is the default size of a Java hashmap ?

“The Engineer’s technical fit can be around 80% for our ‘on the job’ requirement, it can be difficult to find a 100% fit, and, for those Engineers who have some gaps, it’s personally motivating for me to have this opportunity to help the Engineer achieve, and close the gaps”- From a 15 years’ experienced senior leader in technology who has managed teams of up to 30 people across all levels in an Engineering organization

An approach to designing the process for hire

Let’s look at hiring the first five Engineers in your team and take a approach to the process of hiring the first five — and then the hiring process to scale up your team to the first twenty, and, the first few hundred. This was the case after 20 months from setting up our first R&D centre with a small team of relocated Engineers.

Should you start using a top-down ‘Hiring senior leaders first’ approach, letting the junior members join in an organic fashion? Or should you start from hiring a few really exceptional Engineers and then help them and the team to scale? We look at the concepts that could help software teams looking for talent in niche fields such as cybersecurity. These concepts also work for those who want to build and scale Engineering teams for continued growth. Useful tips to help Tech Leads actively involved in building fast-growing teams from scratch, will be exemplified.

There is never only ‘one way’ to build your Engineering team. Many of the mobile apps we use daily today are known for having small teams of 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 had only 13 employees in total.

However, if you choose to remain small, you face a different set of challenges. If it is the intention to start with a small team and remain so on purpose every single member in this team will need to have a warrior spirit, ready to fight everyday for the right to be a significant player in the market where you are. The battles will be harder for lean teams with simultaneous calls for action — they will need to be more eager, more hungry and more customer minded than others. These Engineers will certainly face situations such as handling outages that cause the entire product to go down, or solving issues in releasing features simultaneously without disrupting the user experience. They should have proved their mettle before in handling similar situations and the interview process should allow for a round to test if this is true.

There is wisdom in following the best practices adopted by the leading technology companies. Many of these companies today have had great successes in hiring Software Engineering teams, effort and research have been invested in designing processes that works in bringing in hundreds of quality Engineers each year. My recommendation is that it would be better to not try to innovate in existing processes that have been proven to work well. These practices are well-documented online and shared about on sites like Quora and Glassdoor. Due to the volume many leading technology companies deal with , there will be weak points in these processes — the main gripe is that the human touch is often missing in the robust procedure for identifying high quality Engineers.

A place to start at when designing your team’s hiring process would be on deciding the first — and last point of interaction between the Engineer candidate and your team. If there are too many interview rounds, tests and coding assignment rounds accompanied with little human touch, this equates to a (really) bad design for hiring a strong team. In the same vein, determine what your first — and last hire will look like.

Next, categorize your Engineering candidate pool into active applicants (who possibly have a shorter time frame of finding their next project) and those who are more passive, either not looking out presently or slowly looking around for a better opportunity — ones whom if they don’t find one, are pretty sure to stay put for the time being. Depending on the number of active versus passive canddiates whom you would like to hire, design a way for you to spend time with both, adding a laser focused approach on spending your time on those who will matter more in the long run according to your hiring philosophy.

Some companies re-design their entire candidate experience with the focus on addressing the complaints of unhappy candidates who did not manage to reach an agreeable offer (for various reasons). Your time could be better spent on addressing the concerns of the passive but really talented Engineer who may well be looking just for a few more reasons that can validate their choice on taking a chance to join your awesome team.

“I ask them if they have participated in hackathons and examine their CV closely to see what kind of career moves they have decided on, and if those decisions were progressive, if he/she looked for opportunities to learn and grow — I check if they can handle problems, how would they solve problems to reach to solutions.” — Senior leader in Engineering, acting as the CTO in an autonomous vehicle startup

Hiring Philosophy

There is an illusion that there is always more good Engineers out there. When you have found a 10x engineer, this hire is simply irreplaceable. I believe this person can help drive successful processes to help you hire the next 100 other great Engineers and they also carry significant value in product knowledge, systems design and design thinking, are able to exert a positive influence over junior team members — which, when lost, has an immeasurable impact on the internal culture. If you are someone who thinks that Engineers can easily be replaced, this line of thought can be detrimental to the whole team. Money (or, the lack of) should not be the main deterrent when you find that 10x Engineer, resources should be allocated to the ‘rockstar budget’ for the top few engineering talents.

Many smaller teams think they can afford to not think about diversity. Even in small teams — diversity — and this means hiring a team member coming from a completely different background from you and the other existing members — bring distinct advantages. Give everyone an equal chance to join your team by eliminating as many obvious biases as possible. And to understand inclusion, it’s simply explained by inviting someone ‘different’ to your party — not only making them feel invited, but like they are really one of you! There’s something to be said for teams that successfully champion all three areas : diversity, equality, and inclusion.

“I look for candidates with deep understanding of the tools, technologies or problems that he / she has worked with before; as opposed to someone who just has shallow knowledge. I look for passion and ability to learn, as technology is changing at a greater pace than ever before, we need candidates who can and will keep expanding their knowledge. I look for candidates who can bring something different to the table so that the team can have a diversity of skill set, experiences, points of view and backgrounds.” - Engineering leader of teams operating in Systems Reliability, Databases and Data Engineering, in an Asian ‘unicorn’ technology startup

A process that works

There are 4 steps outlined here to empower you to design a robust hiring process. Step 1 is to make a really, really good list. If it is your decision to hire only the top 2–5% of Engineering talent out there with a relevant tech stack and industry expertise, understand that this makes the process 100 times harder. Sometimes, this means that you have to go through 500 profiles in order to hire 5–10 talents, it will likely take months to complete this process. On your talent pipeline list should be the open-source committers and the top Engineers from the leading technology companies based in your location. Even if they are currently not ready to join your team, they will be able to recommend other talents — great Engineers attract other great Engineers and your activities and project will be discussed in their communities. If you have already recognized all profiles from LinkedIn, Github will be your next battleground.

In the next step, technical fit should be assessed. I do NOT recommend a technical phone screen for every single engineering role (this is commonly and dangerously done), especially so when the process for cybersecurity and niche data engineering hiring can be designed differently. Typical frontend, full-stack and product or mobile engineering hiring will benefit from a process to review their portfolio and assess their design thinking first. The practices of most technology companies assign tests as the pre-screening round, usually a timed, coding test with relevancy, accompanied by a recruiter screen about the role, scope and culture or team fit alongside a take home assignment involving designing elements crucial for success. This part is designed to take up 1–2 hours of the canddiate’s time as an initial stage. The phone screen could last 20 minutes to 1.5 hours.

Ideally, focus on identifying team and culture fit next. Every team member should feel comfortable to work alongside this Engineer hire, initial misgivings and possible technical gaps could always be improved on while working together on the project. Check if the Engineer hire can work well with other members in Design, Product and Data functions as well as communicate reasonably well to a team member outside of the engineering organization. A HR team member could additionally help to check if this hire possesses a few soft skills he/she needs to possess, including communication to stakeholders, business acumen, or, excitement in helping to solve the customer issues and challenges your product has. This step is really important.

Always be closing — this is a mantra every good recruiter is familiar with. The final step will be to identify your existing team members who are really ‘strict’ interviewers, known commonly as ‘bar-raisers’, and only send the super strong profiles across to them. The other average profiles should be sent to other members for interviewing, so as not to burn out the bar-raiser. Try not to waste the energy of your existing ‘bar-raisers’ on bad interviews, one hour spent in a bad interview is one hour less that could be spent on coding for your product.

By following this method we can predict the pipeline of candidates at any given time and expedite those who have done well in the ‘bar-raiser’s’ round. As a team leader, always know your reasons for declining a candidate and always be as involved as you can manage, in the interview process, no matter how big your team gets.

Your efforts will certainly be discussed by others, so, it is a good idea to frequently check in with peers or board members who act as your company’s technical advisors, especially if there are senior candidates with overlapping tenures at the same companies. Your board and peers could provide useful information to enhance the quality of your decision making process. This would also improve your future hiring processes. Many Engineers will seem to possess all the right credentials, but in the mid-term to long-term, there will always be some who are much better for your team and product.

Finally, aim for a flat structure even if you get really big one day. Companies like Facebook and Grab still try to keep their Engineering structure as flat as possible. I’ve seen that company after company who rose to greatness often struggle with scale. Do remember that the first and last point of interaction is always important for the candidate experience. Contribute effort to build a strong employer brand, if you want to also build out a strong team from the first hire to the last. Hire the really talented Engineer and the rest will follow. Try not to forget about shaping initiatives for diversity, equality, and inclusion. Oh, and don’t forget to have fun : your challenge right now will be to always choose and hire the people who really want to see you succeed!

I previously acted as a talent acquisition business partner in Engineering for Grab, Southeast Asia’s leading ride-hailing platform, and was responsible for the strategy and execution in hiring software engineering teams, including growing the mobile, data engineering, backend, cybersecurity, IT and product teams from scratch in the lead up to scale Grab’s first R&D Engineering centre based in Singapore.

Edited for publication in Morning Light , March 2018, Hong Kong.

Copyright (2018) — All rights reserved to the Author. Views expressed are personal and should not be attributed to any companies mentioned herein.

--

--