Sometimes I feel that the software company (YIPL) we started a decade back is turning into a software engineer factory. We take in fresh grads or junior software engineers, train them, mentor them. When they get the skills after 6-9 months and are ready to be productive to the company they move to a bigger and technically better software company. This is a common story in Kathmandu Tech Scene. I am not blaming people moving jobs in tech but I think, there is a fundamental flaw in the process and system itself. In this blog post I will unveil a tech hiring funnel we follow for a few tech startups in Kathmandu. It will also contain some of my thoughts on how to retain tech talent by converting the funnel into an hour glass.
I am not a hiring manager or recruiter. Below is my own experience of some years trying to source and retain tech talents mainly in Kathmandu, Nepal. I feel, these processes can be applied to any hire many tech roles anywhere in the world.
Tech Hiring Funnel #
Hiring for tech roles is a difficult job. Like any other team, if one wrong person gets hired in the tech team it can spoil the team spirit of the whole team. So IMHO, it is better to not hire a person if in doubt than to take chance. Once the person is in the team, it will be a lot difficult to take any negative action than not hiring the person in the first place.
To avoid such problems, here is a tech hiring funnel focused on software engineers:
- We get the CV or head hunt to receive the CV. Some candidates are filtered out just by the CV.
- Then we send in a set of questions over email for software engineers, this one is focused on PHP/JS.
- This helps filter out some candidates. If the answer is without depth or just googled it is easy to filter out the candidate.
- After we are satisfied with the answers we send a coding task/challenge. This one is for a PHP back-end software engineer.
- Always with a deadline which includes a weekend as working candidates need time to do this.
- There might be things s/he is doing for the first time in the task, even experienced software engineers have something new in the above task (at least in the case of Software Engineers in Kathmandu).
- This helps us filter out lots of people as candidates have big words in their CV but the solution gives us a clear picture of their coding skills.
- Depending on the task solution we generally give a score of 1-10 to be objective in the analysis.
- Then if the task solution is good enough, there might be a phone interview for initial screening
- Then there can be one technical and one management interview or both put together depending on the candidate.
- Even after interviews we score on 1-10 to be objective then the decision is to offer or not offer the position to the candidate.
The above is the funnel works for majority of tech positions like software engineer (both back-end and front-end), UI/UX engineer, QA engineer, DevOps/SRE engineer etc. Questions and task will vary depending on the role of course. The steps can be changed to match your company rules and policy.
It works well at the 10s scale but I am not sure how good will it will work at the 100s scale.
The hourglass transformation #
If you spend so much time hiring a good candidate but do not have a great on-boarding procedure you are doing something wrong. Listen to this amazing talk by Kate Heddleston to get more idea about tech role on-boarding. After a smooth on-boarding process, I think the following things matter for retaining tech talent:
- Motivation is always important. Bluntly put "money talks". If you are not able to pay your software engineers good money (at least as per market rates) they will look for other opportunities.
- Software engineers and generally other tech roles crave for challenges. New things, shiny technology attracts us tech people. So keeping your software stack up to date will help retain tech talent.
- Team culture matters a lot. How your team accepts a new member. The culture of mentoring and growth is crucial for software teams.
- Visionary leadership is very important. If you are doing the same thing you were doing 5 or even 2 years back there is a problem in the team. Update and upgrade is the need in technology as it moves very fast.
- Create an environment to grow. If your junior software engineer can't grow to a software engineer in 1-2 years there is some issue to fix. Servant leadership with opportunity to grow will help retention.
Conclusion #
Every team might not have all the skills it needs. Be open to communicate the skills your team lacks and move forward to build that skill. For instance if your team needs DevOps tool's skills hire a consultant for 3-6 months with a target of getting the most out of the consultant to team 1-3 members of the team those skills.
Hopefully, this will help you hire and retain your tech talent better.