In the midst of a talent shortage, how can companies attract the very best developers? Code Institute’s Brian O’Grady has some ideas.
There’s a running joke among developers that there is no talent shortage, just a shortage of places where talent wants to work.
Of course, any manager will tell you that finding the right employee is immensely challenging. Passing a job interview and working day-to-day are completely different skills, CVs only tell a fraction of a person’s story, and then there’s the unknown variable of working within a team.
Add to that the genuine shortage of good developers, and you have a recipe for understaffed teams, low productivity and low morale.
At Code Institute, we’re in the business of creating top developers and matching them with employers. Here are a few things we’ve learned about how to attract and retain the right people in that field, starting with some big questions.
Examine the happiness in your workplace
There’s a good rule of thumb when it comes to staff satisfaction: are they bringing their friends’ CVs to you? Is it the kind of place they’d recommend working for?
A truly happy developer will recommend their workplace to their friends. And their happiness is not always about money. For the right role, many developers will change jobs and even take a pay cut.
So, before making a hiring round, take a look at your workplace and see if your staff are happy. You can judge it by the aforementioned recommendations (or lack of same), by staff churn or even by anonymous suggestion boxes.
Get the job ad right
Job ads for developers are better off taking a ‘less is more’ approach – talking about the problems to be solved more than the forensic technical details.
Developers care most about the work environment and practices. Does the existing team deploy software to production or do so manually? How hands-on is the management? Does the team or developer have a space of their own?
IT job ads written by recruiters often don’t stand out, because they don’t necessarily know much about the tech or the role. A classic error is asking for more experience in a technology than it is possible to have – an example might be three years’ experience requested in a technology that’s only been commonly used for two.
Conversely, ads written by people who understand the role and the technology will attract attention. Have these ads vetted by developers before publication, or even written by your existing team.
Understand what they do
Hiring practices for developers are frequently out of date and even misunderstand the fundamentals of the role.
Software development is often inaccurately compared to manufacturing or clerical work, and managers often mimic the hiring and management practices from those disciplines.
Coding and development is a combination of creative and technical nous. It’s closer to research or even medical diagnosis, with answers that are initially unclear, requiring a talented team with the flexibility to work through a problem.
Thinking of a dev team such as a research team will give you a better understanding of what they want: relative autonomy, space to work, and effective use of everyone’s talents and skills.
Build small teams
Try to keep a dev team as small as possible. A smaller team is agile and is more likely to communicate well. A larger team has more debate, more barriers of communication and more confusion about what’s being done.
This principle can be maintained for bigger companies, too. Rather than having one large team, create a number of small ones and compartmentalise the work. A smaller team is more tight-knit, has clearer roles and is generally happier.
And remember, changing just one member of a team can change its whole dynamic.
If you trust someone enough to hire them, that trust should carry through to their everyday work as well.
In software development, failure is often part of the process. And the best teams stand or fall together. This means a culture of trust, not blame. Developers need to feel safe and supported.
This trust should grow as developers prove themselves. Career progression is important and there’s nothing wrong with promoting developers. Ideally, the best approach is to assemble a great team and get out of its way. The best teams can find their own leaders, or even a number of leaders.
At their core, developers are problem solvers. They relish the chance to find and create solutions. Dismissing ideas offhand is profoundly discouraging to a developer, just as encouraging and listening to their ideas is what they love. And they will work harder on their own ideas.
Not to point fingers, but there is an undeniable diversity problem in tech. Decades of marketing and cultural bias have led a generation that believes coding is for white males.
Indeed, in some ways, it’s gotten worse. The NASA team that sent people to the moon in 1969 was more diverse than many dev teams are in 2017!
Coders are increasingly asking about diversity in interviews, and you should pay attention to these questions. Hiring only one group of people discourages people from outside that group from working with you. And, obviously, if minorities or women don’t want to work for you, you are missing out on a huge pool of candidates.
Look at why people leave
Staff leave companies and that’s OK. Companies and employees evolve and needs change. A turnover as high as 10pc a year might even be healthy, especially if the person who leaves is replaced by someone better.
A more pressing problem than weeding out the below-average employees is retaining the people you want to keep. Unfortunately, it is the best people who tend to leave voluntarily. This happens for a number of reasons, chief of which is that they’re the most likely to be poached. And when good devs leave, others follow.
The other reasons that staff leave are all too common, but they are solvable. These include mismanagement of estimates or deadlines, conflicting or unclear requirements, excessive meetings or other interruptions, legacy systems (either technical or procedural) that impede developers’ work, lack of freedom in finding new tools or solutions, and an atmosphere where they’re not encouraged to learn.
Remember that they want the steak, not the sizzle!
Managers are often under the mistaken belief that employees value perks more than genuine benefits.
The truth is that staff value ordinary things such as fairness, clarity, security and gratification far more than Friday drinks, pool tables or free vending machines. Establish the substantial workplace benefits before moving on to the fun stuff.
That said, a combination of fair work practices and Tuesday tacos would be hard for any developer to resist!
Brian O’Grady is programme director for Code Institute. He works regularly with an industry advisory council to ensure that courses align with employers’ demands and tech trends.