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 for the company they move to a bigger better software company. This is a typical 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 hourglass.
I am not a hiring manager or recruiter. I am sharing my 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.
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 adverse 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. Who is going to read a 5 page CV? No one.
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.
The task always has a deadline which usually 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.
If you spend so much time hiring a good candidate but do not have an excellent onboarding procedure you are doing something wrong. Listen to this amazing podcast/interview with Kate Heddleston to get more idea about tech role on-boarding. After a smooth onboarding 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 critical. 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 the opportunity to grow will help retention.
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 to 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.
Originally published at geshan.com.np.
(open source and trusted by devs everywhere ❤️)