Team Building in a Hot Market
Does this sound familiar?
The sales pipeline is healthy. Revenues are growing. Morale is high. On the flip side, our digital initiatives can’t keep up with requirements because we can’t build new teams fast enough. We can see that our experienced developers are under constant approach from competitors. Our growth is being constrained because we simply can’t find the “right” people.
If this sounds familiar you’re not alone. Ask anyone involved with technical team building and they will all say the same - “Good developers are hard to find”. EVERY company experiences this to some degree. Having done a stint of heavy technology recruiting for one of Finland’s top digital consultancies I can say that even the most desirable places to work face strong competition. Some just face less than others.
When I started getting involved in technical team building I thought it would be as simple as placing a few ads on LinkedIn and Facebook and waiting for all the applications to start rolling in. Unless you’re hiring at Google or Facebook, this probably won’t be the case. In fact, I quickly found that on its own this strategy was not particularly effective. What on earth was going on? Where were all the good developers? Aren’t they looking for work?
As I started to learn more I quickly found out that the under supply of good developers on the market is real. Good developers often start an internship whilst at university and then go on to work at the company they intern at. They stay with the company for a number of years after which they get their next job through contacts, by starting a startup or following their boss/teammates to the next company. During this time, they never touch a job board. Obviously, this is a generalisation but I think it does have a ring of truth to it.
Back to Basics
Before going further, I think it’s worth thinking about what recruitment really is. At the heart of it, recruitment is another form of sales where you are trying to sell your company to the very best candidates you can find. Distilling it down we can simplify the recruitment process into three key components:
- Sourcing new candidates.
- Screening suitable candidates.
- Selling the company to candidates.
As a team builder your methods and strategy will be built around each of these three components whilst keeping in mind what works for one company may not work for another. It is important that you are creating an integrated, well thought out strategy that works around your company culture.
Sourcing Candidates
This is probably the most difficult part of the process. In what can be classed as a hyper competitive market sourcing suitable new candidates is challenging. Software Development is the most in demand profession in the world at this point in time. Finland has a huge shortage and the situation is not improving. Good developers know (rightly or wrongly) they can afford to be choosy so don’t be surprised when the good people you do find tell you they are already interviewing elsewhere if they don’t already have offers on the table. The market is hot and many developers you contacted are already fed up with being approached by both headhunters and companies alike. It’s not quite the pre 2001 tech bubble but it’s not far off it.
There are a number of strategies that you can employ. How you slice and dice them is up to what works best for your company. Be aware that often it comes down to the people executing the ideas which determines the success of each idea. Very briefly, some of these could include:
- Scatter Gun: Social Media (Facebook, LinkedIn, etc), job boards, company website, etc. A mostly untargeted approach which will require a good candidate screening process. I feel somewhat disillusioned with this approach because although it’s easy to advertise in this way, it’s also just as easy to apply. There are too many unsuitable CVs coming through leading to a lot of wasted time weeding out the good from not so good.
- Get ‘em whilst their young: Hiring young developers straight from university either before or after graduation. This may even be via an internship after which they move on to becoming full time employees. This requires more investment, more support (you need some good senior developers to mentor) and you will lose many along the way but nearly everyone needs to apply for their first job. As a consolation, young developers cost less, are enthusiastic and learn quickly.
- Community Interaction: Taking the company to the people through meetups, recruitment fairs and conference attendance. Present ideas, interact, target specific subject areas. Talk to people, get out there, get known.
- Community building: In contrast to interacting with the community through other people’s events, this is about fostering developer interactions and branding through community building around the company. This is not easy and it requires its own strategy to execute effectively. In many ways, I reason that this simply comes down the people executing the strategy as some people are naturally better at connecting with people.
- Hiring for potential: Experienced hires with an incomplete skillset match but who have the right attitude and complementary skills. I like this idea a lot.
- Recommendations: Qualified leads based on recommendations from existing team members and other friends. Although this could be a good way to source new people it can also be fraught with danger. Think about it.
- Agencies: Get help with hiring but choose your partners wisely. This could be an insourced arrangement or a candidate sourcing arrangement. What are you gaining and what are you losing?
It goes without saying that this is not an exhaustive list but it does highlight that team builders need to get creative with how they approach their search. Moreover, no single strategy will work effectively in isolation. It’s hard work that requires real focus, dedication and creativity to make the connections and build the brand.
Agencies
Good recruitment agencies can be indispensable but be mindful of the approach they use. Having dealt with many traditional volume based recruitment agencies I felt that they would not be able to deliver the quality I was after. I know that many agencies run their candidate pool as a meat market where keywords rule and candidate insights hardly feature. This is not compatible with the “get shit done”, open minded, progressive attitudes that are so important in high performing teams. Too many people are missed and often the keyword junkies are the candidates who are presented. When an agency is the first candidate contact with your company you want that experience to be a good one. It helps sets the stage for what’s to come so it’s worth considering any recruitment partners carefully.
Identifying
CV Screening
So you’ve built your funnel, applications are coming in and it’s now time to start sorting the wheat from the chaff. Again, every company is different. It’s not just about finding the hits. The goal of this stage is to say “no” as soon as possible. Don’t waste time on candidates that are not what you are after. You’re looking for people who are smart and can get stuff done. As one of my previous colleagues told me, “we can recover from bad projects but it’s hard to recover from a bad hire.” In other words, it’s better to reject a good candidate than hire a bad candidate. Golden rule: Don’t lower the standard.
CV’s are often the first touch point you have with the candidate. Obviously you’re not going to hire based on the CV but you can make a basic assessment based on CV. For example, has the person been working mainly on ticket based tasks or have they been working on involved and creative programming tasks and building systems end to end. Most developers can write code but not all developers can build systems. There’s a big difference.
Logically, it’s worth trying to avoid screening with a keyword matching strategy. Sure, it’s easy and you can use the computer to help you but I think it’s the worst way to start. Technologies come and go so if you’re in it for the long term then it’s worth thinking of the candidates more in terms of their history and potential to learn. Do they actually understand software and can they problem solve. So what if they don’t have the words “react” or “docker” on their CV. You would be surprised how quickly a developer worth his salt will learn the tech on the job. Moreover, many technologies are easy to learn so why limit yourself?
Interviewing
This is the fun part where you actually get to meet the candidate. It’s not an interrogation, it’s a discussion where the candidate is made to feel comfortable so he can express her/his thoughts freely. Remember, it’s a two way street. It could be where you start each interview off with some light chat and coffee. The interviewers introduce themselves and explain the interview process. It’s important that the person is at ease - as much as possible given the circumstances. They will (should) be evaluating you too so the interview process should be a positive one. Needless to say, coming to the interview prepared and having thought about the questions you wish to ask is a given…right?
Ideally, interviews are be broken up into multiple stages (interviews) with multiple interviewers at each stage. For example, two interviews with two interviewers each means four opinions of the candidate - one cultural fit and one technical interview. More senior hires might even have three interviews - one cultural fit, one technical, and one soft skill interview. Having these multiple touch points is critical for viewing the candidate through multiple frames and in multiple situations. Each interviewer will see the candidates in a different light so ideally people should be given the opportunity to arrive at their ultimate “hire”/”no hire” decision with minimal influence. If any of the interviewers see the candidate as a “maybe”, then the decision is a “no”. Harsh, but necessary.
Each company has its own culture and requirements but it’s possible to generalise how an interview should be conducted and which questions to ask. Ideally, this is the part where you determine how the person views the world, work out what the candidate really wants to do and whether or not you can offer something that will keep the person interested for the foreseeable future. Questions should be fairly open ended so that the candidate has the opportunity to talk. Starting with easy questions - even for experienced candidates - and work up to the more difficult questions from there. Keep in mind the 80/20 rule - the interviewers should only do about 20% of the talking with the rest being up to to the interviewee. From this, you should get a reasonable understanding of the passion the person has for the job and whether they can articulate their ideas.
Based on my earlier comment about keyword searching, I reason that technical questions should be more holistic in nature. That is, how would the candidate solve a particular problem in a domain they are familiar with but have probably not implemented. How do they approach problem solving? How do they use their technical knowledge? Software development is not about isolated understanding. Rather, it’s about bringing people together with a multidisciplinary approach to problem solving.
Keep in mind that the interview process is only a small snapshot of the candidate. Some people interview better than others and it’s not foolproof. The idea is to work out if they have a good understanding of their craft. This is not about asking questions about facts they could find in 15 seconds with a quick web search. Does the candidate have a solid understanding of the key building blocks that are used for building good software and an understanding of how these blocks fit together? Sure, you have experience with AWS but how do you apply it to solving the problem along with other technologies?
Interviewing candidates is a big responsibility for your company. There is a very simple tendency to just verbally discuss the interview decision and leave it at that. Maybe this is the “lean” way? Although making the decision straight after the interview is important I strongly think that interviewers should write a 2-3 paragraphs on why they think the candidate is a “yes” or “no”. The discipline behind this is important not only for learning and self improvement but also for clarifying how the decision has been arrived at. Make sure this is something that is done straight after the interview. The longer interviewers delay, the harder it is to remember. A quick response to the candidate is impressive and shows you mean business.
Finally, try to make the process somewhat systematic by working to a general set of steps which leaves plenty of wriggle room to account for the differences in each situation. I think that it’s important that hires are not done based on “who” interviewed them. Sure, it’s important to get get diversity but the standard set should be on par. As much as possible, a decision to proceed should not depend on who interviewed them - strive for this. Prepare well for each interview, don’t drop your standards, “maybe” means “no” and keep improving the process.
Phone Interviews
With phone interviews so much is lost yet so much can be gained. What do I mean by this? The problem with in person interviewing is that there are so many external factors which influence our impression of the candidate. How do they sit? How do they present? Do they have a firm handshake? Do they make eye contact? Things that may make little, if any, difference to the potential of the candidate tend to invoke biases in our decision making. Phone interviews may offer a less biased way to conduct a first round interview - a screener so to speak. An open, yet planned, conversation with the candidate over the phone may be a good tactic for discussing the details of someone’s background and some of the claims on their CV. By focusing on the content of what they say rather than the presentation of what they say a more unbiased decision as to whether or not to proceed may be given.
Don’t Mess Around
If you really want to get your process humming then aim to get things moving quickly with the whole interview process done in a week. Yep, aim for a week. In reality, two weeks is more realistic if you are on your game. If you can achieve this goal you will have a big advantage over other firms because most of them can’t move this quickly.
Even if you plan to reject a candidate, respect them and give an answer quickly (less than 24 hours). The interview process is stressful and there is no need to delay it. For rejected candidates, be clear and constructive as to why they have been rejected. Don’t give them a reason to bad mouth the company because there is a good chance that they will if you treat them with less than respect.
For the candidates that you’d like to hire, why delay it? The longer you leave it, the longer they have to shop around and to receive other offers. If you delay, the higher the chance that they will be gone when you eventually get around to give them the positive news. It’s as simple as that.
A Brief Note on Checking References and Social Media Profiles
With LinkedIn and Facebook it’s easy to get an idea of someone’s network. Be aware that unless you have permission to do so, in Finland it is illegal to check someone’s social media profiles and references unless the person has give you permission to do so. The checking of references even extends to your current colleagues who have worked with the candidate in the past - unless the colleague is in fact part of the recruitment function.
Selling
You are at the point where you want to make an offer so what makes a person say “yes”? Whether you like it or not, a big part of recruitment comes down to your ability to sell the position and the company. Is money the deciding factor? For many developers I think the answer is “no”. At least, it’s not the main factor which determines whether or not they will accept. Like most transactions, it’s the the value that they are getting from the deal - whether it’s monetary or otherwise. If you can’t offer a decent working environment, there are plenty of other places which can. There’s only so much that a person will tolerate regardless of the financial compensation. As I mentioned earlier, recruitment needs to be viewed holistically and the strategy that you develop needs to extend beyond the ideas of “source, screen, sell”.
Company culture is a big deciding factor for many people and I think this is something that most organisations realise but many don’t get right. Although nice, having an office dog or offering lunchtime massages is not company culture. Culture is an approach to work, to life and to each other. If your organisation is ruled by bureaucracy which stops your organisation from making smart decisions then do you really think you will attract (and more importantly) retain the top talent?
The bottom line is can you offer something that is fair and reasonable both now and in the future? Are you going to have something that will keep the person engaged over the next few years? Is your environment stimulating and challenging? Are people given the opportunity to get shit done with minimal stupid bureaucracy? If your organisation can answer “yes” to all these questions then you probably have a pretty competitive proposition.
Focus Brings Fortune
Recruitment is hard and the bottom line is that no matter what I write here, if you don’t get serious and think strategically about it you are not going to be good at it. There are no shortcuts and an article such as this barely scratches the surface of tech recruitment. On the other hand, a well thought out approach can be fruitful and worth the effort. Challenge accepted!
« Scaling Microservices
Javascript Debugging »