A quest to hire great software engineers
If hiring software engineers is no easy task, hiring great ones is nearly impossible. I’d rather kiss all the frogs in a pond to find the prince, if only it were that simple to hire!
An average of 2% of applicants gets hired by my company, Zuhlke Hong Kong. That means there are only 2 princes in a pond living with other 98 frogs. Apparently, we don’t have time and energy to interview all of them, so we have designed a well-defined screening and interview process that I’m going to share with you.
Stage 0: Job openings
Instead of kissing all the frogs, we carefully examined the princes we already hired and identified what a prince frog could look like:
- Technical competence. A generalizing specialist, or a T-shaped engineer, is who we are looking for as a service provider. Even better if they are Pi-shaped.
- Quality of work. Would you buy a car from an unknown manufacturer? Would you trust the quality of the cars they produce? Our customers expect us to deliver high-quality software that they can trust because their business relies on it.
- Passion. Nike’s founder, Phil Knight, once said in his book Shoe Dog, “The rewards are few and far from guaranteed. When you run around an oval track, […] you have no real destination. At least, none that can fully justify the effort. The act itself becomes the destination”. This is passion.
- Growth mindset. This is the mindset all successful people have in common. Technologies and business environments will always change. That means our engineers often need to proactively learn new technologies and adapt to new environments and solve new challenges. Sometimes these happen all at once.
This helps us create the full description of what we are looking for in these roles.
Stage 1: CV screening
We expect software engineers to apply the KISS principle not only for creating software but also for writing CVs. A length of 2±1 pages is considered good. I would reject a candidate for his or her 20-page CV immediately because:
- They don’t know what the most important things to tell. They wouldn’t prioritize their work well.
- They don’t show empathy. They don’t care how much time we need to read it, and they wouldn’t care about users and customers.
- They can’t communicate well. Even if they have 20 years of working experience, we expect them to know how to talk about it in a few sentences.
On the other hand, what we would like to see in a few pages:
- What you did in the past and how you did it. Tell us important and significant work only.
- What tech stacks you have used. Make sure you can demonstrate it during interviews.
It is important to tell us only what you did, not what your company or your team did.
Fortunately, most people know how to create a successful CV and about 50% of candidates made it to the next stage.
One more thing: We did receive 20-page CVs a few times. They look more like books rather than CVs.
Stage 2: Phone interview
The goal of the phone interview is to screen out, in 45 minutes, those who are not technically competent. We don’t want to waste your time as well as ours, so we will not spend too much time talking about your background or explaining about your companies. The majority of time will be spent on assessing your technical skills.
About 40% of candidates passed this stage.
Stage 3: First in-person technical interview
This is the first on-site, face-to-face interview. Technical Interview I is divided into 2 parts. For the first half, we will ask you to write some code to solve a problem. In addition to assessing your technical competence, we will take this chance to verify your quality of work.
How can we identify good software engineers? As our Expert Engineer, Sascha, once said,
“They write tests”.
We will continue to assess your technical competence in the second half of Technical Interview I. We ask in-depth technical questions that only those who are passionate about technologies would know the answers. It’s okay if you don’t know some of the answers, as long as you show curiosity and learn from failures, as we expect what a candidate with a growth mindset would do.
We usually complete Technical Interview I in about 2 hours. We give feedback to all candidates at the end of the interview so that they can learn something and their time is not wasted.
Stage 4: Second in-person technical interview
If you make it to this stage, we are pretty confident in your technical competence and quality of work. In Technical Interview II, we would like to know exactly where you are now — are you a junior, mid-level, senior or lead engineer? How well do you understand the parts of the project that you did not involve? What are the benefits of using a NoSQL database over a relational database? Can you apply Object-oriented principles in practice, during interviews?
Again, we give feedback to all candidates at the end of the interview.
In about 2 hours, we will have a better picture of the level of your skills. This helps us prepare a fair offer for you.
The frog turns into a prince
We believe we have found the right frog and we are ready to offer our kiss. The benefits of joining Zuhlke Hong Kong include:
- Sponsored annual company camp, traveling to a different country/city each year
- Sponsored training and education for all employees, with extra paid leaves for training and education on top of regular paid leaves
- A good sum of annual bonus based on company profits
What’s more, you will be working in a nice office where many other princes, not frogs, working together as a team. You will regularly receive constructive feedback, mentoring and coaching.
Still not convinced?
I have accepted the offer and joined Zuhlke Hong Kong and live happily ever after.
Bonus: Check out job openings at Zuhlke Hong Kong