Losing an experienced employee can be harsh, especially nowadays, when competition in the world of tech is so fierce. Employee retention in the IT industry – especially developer retention – is now more important than ever. How to improve it in your company? Why do people leave in the first place? Let’s find answers to these questions with the help of Pretius’s Chief Operating Officer
Introduction – why is software developer retention important?
The competition in the IT industry is tough right now. In the report from 2019 (via ITOpsTimes), IDC predicted that before the end of the year 2023, companies all over the world will create over 500 million applications, which is equivalent to what was made in the last 40 years combined. The current workforce can only deliver 20% of this work – if even that. In such a landscape, software developers you can keep on your payroll are very valuable, which is why companies fight for them tooth and nail. Employee turnover is getting higher and higher – as highlighted by Gartner, up to 31% of IT workers have actively sought a new job in the third quarter of this year.
Of course, not every lost employee is a tragedy. There’s a difference between dysfunctional turnover (valued specialists leaving your company), and functional turnover (saying goodbye to people that aren’t a good fit). However, it’s good to remember that even in the best circumstances rotation is costly. How costly? According to some studies, on average it costs as much as a 6-9 months salary of the employee you need to replace, and some believe that number to be even higher. Long story short, we’re not talking small money here. If you can’t keep employee rotation in check, it can hurt your company’s budget quite a bit.
Why do employees quit? The most important reasons
Before we get to the ways you can boost software developer retention in your company, we first need to understand why people leave their jobs in the first place. Let’s take a look at several reasons that are considered to be most important and often find their way into various studies and reports.
There’s no point denying the obvious – people work for money and need to be paid well to consider staying somewhere for longer. In highly competitive industries, such as IT, qualified software engineers won’t have much trouble finding a job with a better salary, so it’s in the employer’s best interest to not give them encouragement to start the search. According to the Dice 2021 Tech Salary Report (via Devskiller), seeking higher compensation is the main reason why people leave their jobs in the IT sector, and this sentiment is reflected in Stack Overflow’s 2020 Developer Survey.
Contrary to popular belief cash isn’t necessarily the “be all end all argument” – it won’t solve every problem and underlying issue with a given job. It can, however, be considered something of a pre-condition that has to be fulfilled. If you can’t offer competitive rates, forget about keeping well-qualified specialists in your software development teams.
Employees leave their bosses, not their jobs
There’s one issue that can be considered at least as important as money – and maybe even more so. It has to do with people we work with, and especially those we work under/for. Those of us who’ve been there know that having a bully for a boss can make your life a living hell. The same can be said about a manager who’s not qualified enough to do what he needs to – or is simply too lazy to do it. The simple truth is that employees often don’t leave their jobs – they leave their awful bosses. According to pretty thorough research papers on the subject, work stress and management are some of the most important reasons to leave a job – they were mentioned even more often than salary.
Another issue – directly connected to the one outline above, but also somewhat separate – is the atmosphere in the workplace. It’s a combination of several factors, from the way your superiors act towards you, through the disposition of other team members, (especially the way they communicate and work with each other, their sense of humor, or lack of it), general team dynamics, ending with the general mood of the place. It’s something that’s often hard to describe, but can still be a factor that draws people towards a company, or repels them (especially if there’s a history of discrimination).
Lack of career advancement opportunities
Another thing that can easily make people leave their job is the lack of opportunities for career development. It’s no secret that almost everyone wants to get better at what they do professionally and see the world recognize that fact. It’s very important to remember that most people want an actual, fulfilling career, and not “just a job” they can do to put food on the table. So, if you want to keep people in your employ for longer, you need to create a career path for them and make sure they’ll be able to develop their skills and fulfill their ambitions. Especially if you want senior specialists, not just junior software engineers, to be the cornerstone of your IT department.
Too big workload
A good employee will always try to give their best, but everyone has their limits. It’s never a good idea to overwork your people, and it’s no different with IT specialists in general. In fact, due to the ongoing “war for development talent”, it could be argued that it’s an even bigger problem. On one hand, you really need the workforce to deal with projects, but on the other, pushing your staff to do overtime can cost you the people you have.
According to the aforementioned Stack Overflow’s 2020 Developer Survey, better work/life balance is the fifth most important job hunt factor, mentioned by as much as 48,3% of respondents.
Also, another bad work practice is forcing people to do jobs out of their direct field of specialization – for example, making software developers do all the testing or work as business analysts. That’s why more and more IT companies decide to create complete development teams with not only developers on board but also designers, testers, software architects, testers, and more.
Concerns about the stability of company and employment
One of the things that really surprised us, at Pretius, during our interviews with prospecting candidates for various developer positions, was how important the stability of both our company and their possible employment, was for them. While most of them wouldn’t have any problems finding a different job, they still don’t want to be in a position, in which at some point they might be forced to do that. Things like that tend to become more and more important, as years go by, people start families, and their priorities change. So, if your company has been on the market for quite a long time, your revenue is growing every year and you’ve got some big clients in your portfolio – just like we do at Pretius – make sure to inform candidates of these facts. It’s more important than you might imagine.
Boring jobs and legacy technologies
These might not be major issues, but they’re worth pointing out, because of the nature of the IT industry. It’s sometimes easy to forget that making software is actually a creative job, and people drawn to it are often quite passionate. Software developers seek a kind of creative fulfillment in their lives, and may not want to let go of it when they finally find it. On the other hand, being forced to constantly use legacy technologies, and work on non-diverse projects, alongside the inability to express creatively, can contribute to the high employee turnover. If you want to know more about interesting side projects (and their importance), check out one of the previous articles on our blog: Side projects for programmers: 5 ideas you can use when managing a team of software developers. It presents this subject in more detail.
Are you looking to join a software development team that values its employees? If that’s the case, be sure to check out the current job offers on our website! 🔥
How to retain software developers? Good business practices to follow
Okay, so I’ve summarized the reasons – now let’s get down to business. What can you do to keep valuable employees on your payroll? Here are some ideas.
Get some (REALLY) good managers
One of the best ways to make sure your employees will like their workplace is finding a well-qualified, attentive, and simply likable managerial cadre. People work a lot – a lot – better when they like or at the very least respect their immediate supervisor, and they definitely won’t be so quick to leave the company, if they feel they’ll let such a person down this way. This kind of loyalty can be quite an important factor (of course, it needs to be reciprocated in one way or another, if the relationship is to stay healthy).
And, obviously, good team leaders and project/delivery managers can help smooth things out in other areas as well and are generally a huge benefit for the company. At Pretius, we take pride in how our managers run both projects and teams. They’re experienced, well-liked, and fill their “leadership boots” very well. It’s one of the things that quickly gets recognized and complemented in the recruitment process (or shortly after hiring someone) and, therefore, one of the reasons people decide to start – or continue – working for us. And we definitely feel this is exactly how things should be.
Offer competitive rates and think benefits through
It’s obvious, but it still has to be said – you really need to get your rates to a good level. Sometimes it’s easier said than done (depending on your company’s financial capabilities), especially considering the competition for talented software engineers in recent years, but there’s only so much you can do with a great atmosphere, interesting projects, and additional benefits (even if they’re useful and attractive). Money just has to feel right for the job.
Also, if you do decide to offer additional benefits, make sure you think them through. Don’t just check things off the list. To boost software developer retention, consider solutions and ideas aimed at older people (like daycare, which will make things easier for developers who have started families), and ones that can be used by as many employees as possible (cafeteria systems are a good example here – a much better, more flexible alternative to simply paying for a gym membership). Selecting the right employee benefits package is an essential part of successful software developer retention.
Finally, don’t try to keep software developers in the office at all costs, and don’t treat remote work as a benefit. That ship has sailed, times have changed – it’s the norm now, and people know that. Working in one space has some obvious pros (like more effective brainstorming meetings) but you don’t want your people to feel that you’re forcing them to come to the office.
Define expectations and learn to communicate
Good communication goes a long way, both on the professional and personal levels. People need to understand what’s expected of them, and they need to be able to connect and talk with their team members and supervisors. It’s also a very good idea to clearly define roles and responsibilities within the software development team, so that everyone knows where they stand, and don’t have to do jobs they weren’t hired to do. I know that creating career paths (specified in written form and easily accessible for everyone at your company) takes some time, but trust me – IT specialists really appreciate it when you’re that transparent.
The same goes for hiring people with various competencies. At Pretius, we make sure we always have complete software development teams for a given project – with scrum masters/project managers, developers, analysts, testers, and anyone else who’s needed for the job. Of course, everyone can always ask the other team members for help. And our system seems to work very well – last year we did the employee satisfaction survey by Gallup Institute, and the question “Do I know what’s expected of me at work?” received the highest total value of all (4,4 on a 5-point scale).
Don’t discount fulfillment and recognition
People like to feel that the job they do matters. They also like when the other team members and their direct supervisors recognize their efforts. Feedback is important, and shouldn’t be discounted or forgotten. Try to find time to showcase the great things about a given project, and show it in an interesting light. Also, summarize every finished job, as best as you can. Point out things that didn’t go well, but also compliment people who did good, and reward those who went above and beyond. It’s easy to overlook this in the often hectic, day-to-day work, but this really is an important step.
Make sure that your company is as stable as it can get, and that it’s seen as such by your employees. I know how this sounds – it’s one of these things that are easy to say/write, but may be much harder to actually do. However, no matter the financials and market fluctuations, being direct and transparent about your situation can also go quite a long way. When it comes to your professional life, not knowing is the worst state to be in.
Pretius has a stable position on the market, and many industry-leading clients in the portfolio, so things are a little bit easier for us in this regard. However, we did have to learn to communicate these things to our employees. We settled on a quarterly Quick Talk (this is what we call the presentations on various topics that we organize for our employees) during which we summarize the financial condition of the company, projects we’re currently working on, and ones we’ll work on in the near future. This way, every member of the Pretius team knows what to expect. We also make sure that everyone knows what projects they’ll be on during the next few months – it’s good to have a clear work pipeline.
It’s also worth pointing out that one of the very important, clearly visible measures of a given company’s stability is whether it can pay its employees on time. It may come as a surprise, but despite the rapid growth and huge money circulating in the IT industry, many companies tend to have some problems with timely payments. One of our rules at Pretius is to always pay our people on time – come hell or high water, the money will be where it should be, when it should be.
Create a good work environment
Try to build a work environment in which everyone feels safe, comfortable, and appreciated. It isn’t always easy, the lines can get a little bit blurry at times (especially when it comes to what’s acceptable in terms of humor and general human interaction), but as long as everyone treats their co-workers with respect, everything should be fine. And when things do get messy, don’t try to sweep it under the rug.
Of course, it’s worth noting that the work environment isn’t just people – tools are also important, especially in the tech industry. Don’t try to save too much money on the technologies you use at your company. Instead, make sure you provide your employees with innovative solutions that’ll make their lives easier. You can consider this an investment that’ll both enhance productivity, and make people happier at work (“Do I have the right tools at my disposal?” was another high point in our Gallup test, with a 4.2 total on a 5-point scale).
Don’t forget about relationships and integration
Relationships are much harder to build now, in times changed by the pandemic. That doesn’t mean you can forgo integration entirely, however. Quite the opposite – you should use every occasion you can to make your people closer and more tightly knit. It’ll make teams work better, but above all, it’ll make your company a better place to be in. You can use traditional, real-world parties and celebrations, contests and competitions, but also various events that happen exclusively in cyberspace. Even something as simple as frequent, everyday talks about things not related to work can go a surprisingly long way.
However, for everything to work well, the effort to build a well-functioning team should start much earlier… as early as the job interview, in fact. It’s not uncommon for us at Pretius to reject a skillful and competent candidate, if that person just doesn’t seem to share our values, and fit into our work culture. It’s also a major factor when it comes to saying goodbye to people after the trial period – we really want people to fit in. Sure, decisions like that might be hard to make at the time (a few minutes ago we were talking about how hard it is to find good devs now), but they usually pay off in the long run.
Challenges are invigorating – from time to time
It’s a good idea to provide your employees with interesting projects, things they’ll be happy to work with. We’re talking cutting-edge, industry-defining technologies, such as Computer Vision, IoT, and others. If your day-to-day routine can’t provide that, try to find other ways. For example, you can delegate some of the work hours to open-source projects useful for your company – such as new tools. Also, don’t be afraid to challenge your people’s skills with harder than normal tasks or the requirement to learn something new – it’s actually a very good thing, as long as you don’t overdo it (constant challenge can be very stressful).
While we don’t have a dedicated R&D department at Pretius, we do dabble in many different things and areas. We’re known for our contributions to the open-source scene, but we also like to test brand-new technologies – to get some experience with them and stay in touch with what’s happening in the industry.
Retain software developers… or maybe competencies?
Truth be told, in the current landscape, all of the things listed above might not be enough to keep a valued employee on board. Because of globalization, and the changes brought by the coronavirus (just like the remote work which became the standard in many industries), the competition is incredibly fierce. The rates are going up fast, and higher than many companies are willing to go. Big, global players aren’t cutting any corners when it comes to getting the very best people. It might be time to consider thinking about the whole thing in a somewhat different light – not in terms of retaining employees, but rather keeping competencies you need inside the company. There are several ways to do that (well-designed training programs, and hiring people in excess, for example) – I’ll cover this topic in more detail in the next article, so be on the lookout for it.
Do you need help with software development?
Sometimes you just don’t have the time to recruit people and keep them on your payroll. Or maybe you don’t need employees with a given skillset in your in-house team, at least not long-term. In such situations outsourcing might be the better option. If you feel that’s your case, write to us at firstname.lastname@example.org and tell us what you need. We’ll check whether we did projects similar to yours and get back to you in 48 hours.