You spend hours preparing a job description. You know all job posting sites like the back of your hand. You go through countless résumés and interview the best candidates — all in the hope of finding a dream employee, a software engineer that will help your organization reach new heights.
Finally, you believe you’ve spotted your purple squirrel and you make an offer. They say yes! So, you sign the contract, get the workstation ready, and create a welcome pack. How thrilling!
Then there’s an onboarding process, training, socialization period… You can’t wait to climb a professional Mount Everest with your new hire.
A few months pass, and your unicorn is gone. Got fired or resigned — whichever it is, the person wasn’t a good fit for your business. Instead of reaching the top, you’ve rolled down a steep incline.
Don’t be hard on yourself, though — your fellow recruiters are lying at the bottom of the mountain next to you. In fact, according to CareerBuilder, nearly three in four employers have been affected by an unsuitable hire. Tony Hsieh, the CEO of Zappos, has admitted that poor hiring decisions have cost his company "well over $100 million."
Don’t let it happen to your organization. Get up, brush your clothes down, and make these 9 steps to find the software engineer your company is worthy of!
1. Define Employee Persona
The first question to ask yourself is, “Who am I looking for, exactly?” And let me tell you — the answer is much more complex than “a highly skilled software engineer.” That’s why you need an employee persona to come to the rescue.
Start defining your employee persona by answering these two questions:
What is the goal of my business?
How will this person contribute to achieving this goal?
At Evojam, we believe that the heart of software development is fulfilling client needs — solving problems and reaching business goals — so we’re looking for engineers who are passionate not only about the code itself but also about what this code can do. It’s a huge difference!
Identify the priority for your organization and you’ll be one step closer to finding the right software engineer.
2. Build a Competency Model
When you already know your goal, prepare to check whether your candidate has a similar mindset and approach to yours.
Make a list of personal traits and skills that can help your company get where you want it to be. You can give a general background or go into detail, it depends on the position you describe. Either way, this list — called a “competency model” — is what you need before taking any further steps.
Let me show you how such a framework looks like in Evojam’s case:
Reliability — it’s all about being professional at work. We have to know we can take the person at his or her word, and he or she will do their best to complete an assignment on time or communicate the reason for delays in case of unrealistic deadlines.
Sense of ownership — taking responsibility not only for their own actions and results but also for the success of the whole project. It includes reporting issues, trying to prevent them, and being aware of the business goals the project is supposed to address.
Good communication skills — a good communicator, as we see it, is a person who understands that there are as many points of view as people in the world. We expect employees to find the common ground with others and overcommunicate if needed.
Proactiveness — sharing ideas and suggesting improvements even if not asked to. The initiatives could even go beyond the scope of core responsibilities.
Desire to learn — we want to have interesting, curious, and active people on board, so we always ask the candidate what he or she has recently learned and how they develop their skills after hours.
Build a competency model that reflects your company values. Name the qualities that you look for and explain what they mean to you.
3. Ignore a Number of Years of Experience
Are you familiar with the phrase “3 years of experience required”? Then delete it from your job ads and forget it ever existed!
Don’t pay attention to numbers and figures while screening résumés or doing a phone screening interview — they don’t show as much as you think.
Look at the quality of the work — the scope of responsibilities, size of projects, technologies used, biggest achievements, and types of companies the candidate has previously worked for.
Remember that you need a good fit for your organization, not a veteran.
4. Design a Recruitment Assignment
Now you know what to look for in a résumé, so you might think you got it all figured out — but do you really want to base your decision solely on a CV? On paper, everybody could look like the employee of the century!
Avoid potential misunderstandings and see your candidate in action — design an assignment that will be an essential part of your recruitment process. It should
reflect future requirements,
confirm technical skills,
assess knowledge of business logic and software architecture, and
check the approach to work.
One way to do it is to ask applicants to build a predetermined app — one that suits the profile of your company.
While grading the task, pay special attention to the
description of the work that the candidate offers;
time spent on completing the task — see the history of changes, e.g. in the BitBucket repository;
quality and structure of the code; and
approach of the candidate — have they done as little as possible or shown full potential and commitment?
5. Prepare a List of Interview Questions
At this point, you have a limited number of applicants that have got through the CV and task sift. Time to prepare for an interview!
Write down your interview questions and do your best to use all of them in every meeting. This way, you’ll get measurable and comparable results. It’s easy to get biased against or in favor of someone based on their appearance or way of talking — both completely unrelated to real competencies. One set of questions is your shield against false impressions. The key to objectivity.
6. Conduct an Evidence-Based HR Interview
I’ve already told you how to use your interview questions, but what exactly should these questions be?
They need to be directly related to the skills and personal traits that match your competency model.
They should be formulated in a way that shows whether a candidate demonstrated these skills before.
Why the latter? Because the best predictor of future behavior is past behavior — although you can’t be 100% sure that the person will act the same way every time, it’s still highly likely. That’s why I advise you to use the evidence-based approach and the STAR interview method.
Even when you want to check the theoretical knowledge, ask the applicant to describe a situation where they used it.
For example, if you are looking for a candidate with team-management skills, ask about a conflict situation from his or her experience as a manager — how they approached the problem, what they did to solve it, what they learned from it, and what they could have done better from a time perspective.
Don’t focus on “what-if” questions — an imagined scenario is rarely a reflection of real life. Use them only when recruiting for junior positions, but even in this case ask about the actual experience — activities during studies and personal projects — too.
Let’s look at the type of questions you can ask instead. The examples I give are based on Evojam’s competency model.
Reliability: “Please tell me about the situation when meeting project deadlines was difficult for you.”
Sense of ownership: “We all make mistakes we wish we could take back. Tell me about a time when you wish you’d handled a situation differently.”
Good communication skills: “Tell me about a time when you needed to get information from someone who wasn’t very responsive. What did you do?”
Proactiveness: “Describe a time when you saw a problem and took the initiative to solve it rather than waiting for someone else to do it.”
Desire to learn: “What have you learned in the last months? It can be work-related, but doesn’t have to.”
Long story short, “Tell me about a time when…” is your best conversation starter.
7. Pay Attention to Body Language
Does body language speak louder than words? Not exactly, but it’s still worth paying attention to it. Words say a lot, but grimaces and gestures can tell you the rest of the story. So, a candidate crosses their arms while answering your questions — they must be lying, right? Absolutely not! Usually, there’s no hidden meaning behind this action, it’s just a personal habit.
Then how should you interpret non-verbal cues that your potential software engineers give you? The trick is to check whether facial expressions and reactions of your interviewees correspond with what they’re saying. If they laugh at the strangest of moments or look sad while sharing pleasant memories, it should raise a red flag.
Be careful with your interpretation, though — all these signals are just presumptive evidence. The only behavior you shouldn’t take with a pinch of salt is avoiding eye contact.
8. Check Whether You Meet Candidate's Expectations
Remember when I told you that your dream employee must be a perfect match for you and your company? Time for a twist — you and your company also have to meet the expectations of your dream employee. According to Stack Overflow, only 31.6% of software engineers are completely satisfied with their job! You want your new hire to be among this 31.6% — employees who are happy in their jobs are more motivated and tend to work harder.
So, how do you check whether your organization is right for the candidate? Tell him or her the story of your business. Describe the team structure, processes, projects, and benefits. Don’t beat around the bush. Learn what motivates the applicant, how they imagine their daily work, and what their goals are. Make sure that you can guarantee them all the tools they need to explore and grow. Most importantly, leave some room for questions — it’s a great opportunity to see what’s the number one priority for your potential employee.
If both of you feel you see eye to eye — you have the right software engineer!
9. Give Constructive Feedback
You’ve found the right software engineer — your Mount Everest seems to be achievable again. The only thing missing is the signature on the contract... Hold your horses and put the pen back, there’s one more step you can’t omit!
It’s time to provide feedback to all the candidates. Base your evaluation on the scope of your employee persona. Let the applicants know how you’ve assessed their skills and explain that it’s just your organization’s point of view — the rejected engineers could be a perfect fit for a different company. Be delicate yet specific. Give as many examples as possible and only refer to actions — don’t comment on personality, or what you’ve assumed to be somebody’s personality.
If you do it right, it’s a valuable lesson for rejected candidates, and you don’t burn your bridges.
When it comes to your new hire — giving feedback, setting up clear expectations, and presenting the future plan prepare them for the new adventure and make them feel excited about it!
So, you’ve found a 9-step path that leads right to the top of the mountain. It might not be the easiest hike, but as long as you prepare well, know what your company needs, and look for an engineer that shares your vision — you can’t lose.
Do you need more help in finding the perfect match for your team or want to chat about your recruitment experience?