How To Hire A Tech Team
As with any career, there comes a time when you have to take on more responsibility. Usually, that’s because you've become an established, experienced member of the team, or you've reached a point of respect where your seniors look to you for guiding their hiring decisions.
Ultimately, they trust you.
At this point, you might be asked to get involved in the hiring process and even have complete control over how new employees are hired and who makes the cut. Throughout this process, you’ll need to make sure you consider a variety of variables to inform your decision-making.
Hiring at the Right Time
How do you know when to hire?
Future hiring capacity largely depends on a number of different factors, such as current revenue, projected growth, and the capacity to grow and handle an expanding team.
Companies always have their eye on projected growth. Let’s say for one minute you know you need to add some features to your product, and you know that X customers would be interested in paying for those features, then you’ll know how much revenue you can make over time.
If you lack the manpower or skills to carry out the work in the timeline you want then now would be an ideal time to hire.
The basic mantra on whether or not to hire someone is all driven from the idea of whether you think that new hire will give you a Return On Investment (ROI). Basically will they help you achieve the goals you need to achieve faster, more efficiently or increase revenue for you in ways you need to.
I Know I Need to Hire but I Don't Know Who!?
Who you hire really depends on the needs of the team. If you have a lot of development work to complete and not enough people to write code, then obviously you need more developers. If you're struggling with managing your infrastructure, then maybe you need someone with a DevOps or Systems Administrator mindset. Perhaps you're lacking UX (User Experience) direction with your product, so you need to hire someone with more of a UX and user journey focus.
Really, who you hire comes down to where your skillsets are lacking or where you have insufficient “boots on the ground” to get the current workload done.
Always take into account not just where you are but where you may be going. Hiring developers who have skills that may be of use in the future is a good tactical hiring decision.
Novice or Expert?
Knowing what position to hire for is only half the battle. Next, you need to know at what level you need to hire.
Are you willing to take on a graduate? Do you have the time to train and coach them one-on-one? Are you able to accept that they may not get up to speed or become productive for at least a few months while they get accustomed to the product?
Deciding whether to hire a novice, graduate, or an expert can be a big decision. Hiring an expert is obviously ideal in most circumstances but comes with a heavy price tag in the form of salary expectations.
Hiring graduates can work as a long-term strategy but if it were me, I'd be looking for a good mix of novice, intermediate, and advanced programmers so that you can build a well-rounded and diverse team.
Diverse teams can produce some of the greatest and most creative work.
Setting up Your Storefront
When you visit a high street store, the first thing you notice is the sign, branding, logo, font and design, followed by the decorative layout in the shop window. If it doesn't make an impression, 9 out of 10 times we'll walk away.
People say “you should never judge a book by it's cover” but unfortunately it's human nature, and if our business is a book, we want to make damn well sure our front cover is as beautiful and enticing as possible to the prospective reader.
That's why when we send out our job adverts/specifications, we need to make sure it projects the image we want people to see about our company. It should exude the positives. The perks, the joys, and most of all the culture!
Make sure your shop front says the right things about you. Starting from your company website, careers page all the way to your job specifications.
Entice Applicants with Job Specifications
When I was recently involved in writing up new job specifications for my current company, I found the old and existing job specifications to be inconsistent across roles in both tone, content, and layout. As a consequence, I re-wrote them and made one of them the master template, with the others written as offshoots of that master template and tailored specifically for each individual role.
Although, many job applicants will not realize that each job description differs (since they only ever normally apply for one job), having a consistent feel and layout will ensure a higher quality job description consistent with the culture of your business.
When writing a job description, it's important to bear in mind the kind of people and what particular level of experience/skillsets you're looking for. You may have in mind a number of different skills that you definitely need from the candidate but some skills you could absolutely do without.
I find it easiest to concentrate first on what I would consider “essential” skills, or those that I would expect every candidate to have. Then, I would delve into “desirable” skills for the ideal candidate for that position. Any candidate who possessed most if not all of those skills, I would hire in a heartbeat. Writing the job specification before the formal interview process begins, gives you an idea of what you're looking for from a technical perspective from each and every candidate.
Hiring is tough. Getting the right candidate is tough. It can be a very time-consuming process.
Expect to interview many, many candidates. Expect to be disappointed by many candidates, too, and expect to have to make some tough decisions along the way.
I find that one of the big problems with making hiring decisions is weighing one candidate against another in a consistent way and removing our emotional bias from our decision-making process. A useful tool to help with this is a scoring system to filter out candidates who just don't make the cut.
For example, for my own CV scoring process I divide a CV into 3 distinct areas: education, experience, and communication.
The scoring for each section is as follows:
0 – No Formal education
1 – College education
2 – University education – 2:2 or lower or degree in a non-related discipline
3 – University education – 2:1 or higher in related degree or 1st in a related discipline
4 – University education – Master (any degree) or First (with distinction) in related discipline
5 – PhD
0 – No formal experience (fresh out of college/university)
1 – Some experience (could have done a sandwich course at university) – experience in a non-related field
2 – 1-2 years – with relevant technologies
3 – 3-4 years – all relevant to technologies
4 – 5+ years – relevant experience but not including test-driven, agile methodologies, missing cloud (AWS) experience etc. or framework specific knowledge
5 – Extensive experience (including test-driven, agile, continuous delivery etc.) – perfect candidate
1 – Poorly presented, incomplete and incoherent CV
2 – Spelling mistakes, grammatical errors, problems in formatting, etc.
3 – Presentation OK but doesn't stand out, may be a few spelling/grammatical errors and/or problems with formatting
4 – Great presentation, concise, no spelling mistakes or noticeable grammatical errors
5 – Fantastic presentation. Straight and to the point. Perfect CV ideally has the “wow factor”
Cut the Mustard Test
Now that we’ve scored different aspects of each candidate's CV (out of 5), we can add up the scores to give each candidate a total score out of 15. This total score we can then use to gauge who “cuts the mustard.”
Essentially anyone above a certain score (e.g. 7/15 though this will depend on your needs and the level you wish to hire) can be brought through for interview. Everyone else should receive suitable professional feedback to help them in future job applications.
You won't have enough time to interview every candidate whose CV comes your way, but you can afford to interview those that pass your CV screening process. If you find that you have too many candidates you can always adjust the minimum total score required for each candidate to be asked for an interview.
Technical Test/Pairing Exercise
Next in the process, you need to know which candidates are technically better than others, and you need to weed out those who can talk the talk but can't walk the walk.
Running them through a Technical Review or a Pairing Test is a great way to understand whether they are at the level you are expecting to hire. At the very least, do they pass the Simple Programmer/Joel Test?
When deciding on which technical questions you should ask, try and pitch them at the level you're hiring to eliminate the less knowledgeable and experienced. If you're looking for all levels of developers, the most efficient way to hire is to pitch the same questions at all developers, making sure there is a good variety of questions to ask from the simple to the more in-depth, specific questions.
I find another way is to stray a little from the questions and delve deeper into answers given, so you can determine whether or not the candidate truly understands the questions asked.
Some candidates can also be particularly nervous during an interview, so giving them an opportunity to answer through prompting means there's a more level playing field for all candidates.
After scoring has taken place, you should have a reasonable idea as to whether the candidate has enough technical knowledge to be offered the job.
An alternative to the traditional technical questions is to have an experienced developer in the team pair with the candidate.
A pairing exercise should be set that ideally starts off easy and then ramps up with ever-increasing complexity. Ideally, the exercise should have enough flexibility to make the candidate think about their approach and design.
An ideal pairing exercise will give you enough information to work out if a junior developer can at least code, but will also challenge a more experienced developer enough to show you they have a greater, hidden talent.
Setting a Candidate at Ease
I can't stress how important it is for you to put a candidate at ease during an interview. Stressed candidates don't perform at their best. Therefore, strive to create an ideal, level playing field that puts each and every candidate at ease, so you can get to know them as a person.
When first greeting the candidate as they walk in the door, the basics are important: smile, make eye-contact, say a pleasant greeting, and have a firm handshake. Polite small talk like asking them how their journey was is an straightforward ice-breaker.
I also normally ask them if they want a cup of tea or water before we begin the formal interview process. Remember, you're trying to project the best image about the company to the candidate, so extending basic courtesy can be an effective way to do that.
Making Sure the Person Fits using a FIT Interview
Once you've assessed candidates technically, it's time to figure out whether the candidate is right for your business. In business this is called a FIT interview or a Culture Fit Interview. A candidate’s suitability to the business is harder to gauge because you can't measure something like culture fit using a number.
Prior to the interview, you should be clear on what you are looking for from a candidate, whether that's an eagerness to learn or an unwavering commitment or maybe it’s integrity. Whatever your company stands for, make sure that the candidate aligns with that vision.
However, we also need to be wary that we aren't hiring all the same types of people. What I mean by that is each person should add a unique dimension to the team, whether that be through specific technical skills or their demeanor; entrepreneurial, security, testing focused, or perhaps they are an excellent agile practitioner.
I liken this to the hiring approach of Valve in their Handbook for New Employees. Gabe Newell and his team suggest that we should always hire people in our own image and those that are more skilled than ourselves in certain areas. By hiring people who add something to the team, we hire “T-shaped” people with specialist skills rather than those with a broad range of skills who don't offer anything over others.
Always Have a Second Opinion
It's often said we can have rose-tinted glasses when making decisions. This is especially the case when emotions enter the mix. Making hiring decisions can be a very emotive subject because you're hiring a person and not a machine.
Therefore, always involving another person in reviewing candidates at each stage is a great way to make sure you absolutely make the right decision. If you choose a colleague to interview each candidate with, you can both have an overview of all candidates. This will give you a much clearer view of what types of candidates that are out there and which from the selection you both prefer.
On top of this, it also never hurts to have a second opinion. Perhaps there’s something about the person your colleague didn’t like that you hadn’t picked up on.
If you both feel the same way about a candidate, then it's highly unlikely you've made the wrong decision.
One important thing I've learned in the recruitment business is that time is very much of the essence.
When we've been through the final interview stage with someone, we should figure out quickly if they are the right candidate. Prior to the fit interview, and if we have evaluated previous interview stages, we'll have a very good idea and a gut feeling whether a candidate is the right choice for the business or not. The FIT interview for perfect candidates should be a mere formality.
You’ll know that you’ve found the perfect candidate if you walk away from an interview with the knowledge and an urge to offer them the job. If that's the case, don't languish on making a decision. Make an offer, make a good one, and make it quickly.
Candidates are becoming more and more savvy when it comes to salary negotiation, and ensuring you get the right deal for both the business and the prospective employee is a tricky balancing act.
Before entering into any negotiation, you need to know how much you are willing to pay as a maximum and pay no more. In order to do that, you need to understand how much the candidate is worth in the current market and what competitors are currently prepared to offer.
After taking these two factors into account plus a candidate’s performance in the whole interview process, you should be able to make a reasonable guess at a sensible salary. If you pitch their salary offer too low, they will counter-offer you. If you pitch the salary too high, then you'll naturally spend more than you should. However, if you make an offer that is more than they would normally expect, then they are much more likely to accept it.
Making the Case
As we mentioned earlier about projecting the right image of your business, it's our job as employees to sell the vision. Why should the candidate want to join our business? What can we offer them that they can't get anywhere else?
By selling the best facets of the business in an enticing pitch during the interview process, we can convince candidates they are making the best decision in joining our business.
Imagine you’re standing in an elevator and the CEO of your company steps in. You have this fantastic idea you’ve been dying to pitch to them and now is your chance. This is what’s called the Elevator Pitch
Make sure your Elevator Pitch tells a compelling story about the projects they will be expected to work on.
I hope I've helped to demonstrate some of the important things to consider when hiring new members of a tech team. It's a complex process and not every company or person believes hiring should be done a particular way.
My hope is that you don't take exactly the framework I've mentioned here, but that you carefully adapt some of the learnings and considerations to your own business so that it uniquely matches your culture.
If you successfully mold your own hiring process, then you'll be well on your way to hiring the technical team of your dreams.
I wish you all the best of luck on your hiring journey!