One of the top reasons for your developers leaving? Poor management. If you want to keep your top people, start by addressing signs of bad practices. We’ve asked developers how they assess management, so you know what to look for.
Why the quality of your management matters
Poor management doesn’t just reduce efficiency. It costs you key people on your tech team and makes it harder to replace those who leave.
Half of your developers leave you because of poor management
32.6% of developers in the Netherlands and 30.5% of developers in SA are planning to leave their job this year. Your management quality is one of the key reasons developers leave you:
41.8% of developers in the Netherlands and 46.5% in South Africa cite poor management as one of their top two reasons behind leaving a role.
Management quality matters especially to your senior people
Management quality is especially important to seniors and tech leads. They prioritise environments conducive to their career growth where they can continue their development.
They are especially in demand and the most challenging team members to replace, so losing them to poor management amplifies the effect of losing your top people.
Attracting new developers to your team becomes harder when you have poor management
Losing top talent due to poor management doesn’t just cost you current team members; it can also make it harder to attract new ones. Your company’s management reflects your overall culture, which is one of the most important non-monetary factors developers consider when evaluating an offer.
Speaking to past and current employees is the most common way developers in South Africa and the Netherlands assess a company’s culture. How your company comes across in these conversations matters.
You will have a hard time attracting new team members if your current and former team members aren’t happy with your management practices. That means you can’t afford to wait to address issues.
We asked our community of software developers to share their thoughts on good and bad management in tech so you know what to watch out for.
Red flags – Developers leave managers who make it harder to focus on what they love doing most: coding
So what exactly does bad management mean to developers?
Through the community respondents’ long-form answers, it becomes clear that bad management makes it harder for developers to work effectively and focus on software development. One example:
“Bad management lowers productivity because it takes away from development time. Developers can’t focus on quality code if their focus is on politics and company issues, micromanagement and stress as a result of micromanagement.”
This is important because for the majority of developers coding is more than a job; it’s a craft they take seriously.
Previous surveys have shown that a majority of developers code as a hobby and learn new languages at least once a year. Developers also care about being efficient and staying focused on their work.
So how do you avoid standing in the way of your developers’ focus and, with that, happiness?
Developers’ top three red flags of poor management to watch out for are:
- Poor communication,
- Micromanagement, and
- Deadlines being prioritised over quality.
Here’s how developers see each of these affecting their productivity.
Poor communication wastes time and deteriorates your team culture
For developers, poor communication is the biggest red flag when it comes to poor management. The long-form answers from our survey respondents show that developers have experienced how it wastes time, causes conflict and deteriorates trust in a team – all things that take away from their focus and productivity, and general happiness.
Let’s look at them in more detail:
Wasting time due to lack of context: Not sharing insights on things like the business, customer feedback or details about the competition can lead to delays, back and forth and developers wasting time building out code that doesn’t move the needle. It certainly leads to the team’s frustration, as one respondent shares:
“We had no project board or timeline that was available to the devs. The manager gave instructions by calling you to his desk and pointing at code, saying things like "Take this stuff here and put it in there and make sure that stuff is in the other system”, and left it up to you to decipher what he meant.“
This leads us to another outcome of bad communication:
Increasing the risk of conflict: A lack of communication increases the risk of misunderstandings and misalignment, which is likely to cause conflict within your team. Here’s another respondent sharing their experience:
"Miscommunication between the client and management resulted in the devs on the floor feeling the heat from both the client and management, despite having raised their concerns multiple times.”
Losing trust through a lack of transparency: Wasting time going back and forth on projects because of misalignment does a lot to deteriorate overall trust within the team. This is exacerbated if the communication isn’t honest, as in this example a respondent shared:
“(…) When the deadlines weren’t being met, the manager said the client needed us all to work the weekend, (…) only to find out the next week that the client didn’t believe in weekend work and it was the manager that decided this was what needed to be done. Needless to say, the dev team doesn’t trust the manager anymore.”
Micromanagement shows a lack of faith in your team and creates unnecessary distractions
Another red flag affecting team trust is micromanagement. No one likes to be micromanaged, and this is especially true of software developers, as this quote from a respondent shows:
“Micromanaging is a good way to get rid of a developer without having to fire them.”
Why? Micromanagement has a knock-on effect on work and the team by:
Creating unnecessary distractions: In order to get into deep work and be productive, developers need to code with minimal distractions and disruptions. Micromanagement creates both. This becomes especially problematic when deadlines are approaching and focus is essential, as this respondent shares:
“When time becomes critical, the management steps over all processes and starts micromanaging, (…) throwing everything in disarray and also giving an implicit signal that they don’t trust their people.”
This brings us to a second effect of micromanagement on your developers.
Showing lack of faith in your team: Developers value their autonomy and want to know that they’re trusted to use their time effectively. Micromanaging developers sends the message that you don’t trust them, damages the relationship between manager and team, and lowers team morale. Here’s how one respondent highlighted the importance of trust:
“(…) Just let the developers code - we love to code! But don’t treat your developers or any employee for that matter like a child. Trust is very important. Employees need to feel they are being trusted in taking the correct course of action instead of constantly taking the fall for any small issue that arises. We are all adults, we work hard when we feel we are being taken care of.”
In fact, developers feel so passionately about autonomy and being trusted that it became a massive motivation when everyone went remote at the beginning of the pandemic:
“I want to prove that good coding standards and great teamwork don’t rely on micromanagement or physical presence. Seeing the actual results while working from home is a great motivator.”
Driving deadlines over quality creates poor engineering cultures and incentivises behaviours leading to burnout
Developers who see coding as a craft naturally care about the quality of their work. That’s why having to consistently prioritise deadlines over code quality is a big red flag for them.
The long-form responses from our survey show that it breaks down team culture and risks pushing developers to burnout.
Driving a poor engineering culture: Continuously pushing unrealistic deadlines incentivises shortcuts, which can deteriorate your overall engineering culture and systems. Over time, this can start to undermine your developers and make them feel unsafe:
“(…) I had a project manager who was micromanaging developers by having story points converted to time and expecting you to do it in that time. If you didn’t, you were labelled as a non-performing developer. Most of the team eventually left.”
Lack of work-life balance: Defaulting to focusing solely on the speed of execution can also promote behaviours that lead to burnout. As one respondent pointed out:
“It’s one thing to have a burnout culture and another to have a ‘healthy-pace’ culture.”
Continuously having to work overtime to meet unrealistic deadlines increases the likelihood of losing your developers: Poor work-life balance is the third most important factor when it comes to leaving a role for developers in both South Africa and the Netherlands.
Good management: Developers stay with managers who trust and empower them to do their best work
The respondents’ long-form answers show that good management is about empowering your developer teams with clear expectations, the necessary context and support to do their job and then letting them do their best work:
“The best managers I’ve had have empowered me to achieve more. They trusted my judgement and challenged me on the right things when needed. The freedom for me to do what I think is right allows me to achieve more.”
Developers’ top three indicators of good management are:
- Clear communication,
- Autonomy, and
- Clear goals.
Here’s how these allow them to do their best work:
Clear communication helps developers focus on what matters most: Building great software
Developers feel that clear communication is by far the most important factor to get right for good management. The long-form answers show that it helps them be productive and build trust.
Let’s look at each in more detail.
Improving productivity through clear requirements: Managers who communicate project requirements clearly and give their team members proper context help reduce delays and maximise productivity. Their team members know exactly what they need to and don’t waste precious time building solutions that don’t address the right problems. As one of the respondents put it:
“Protect our time but at the same time keep us informed about things that will impact us directly.”
Creating open communication flows: Transparent communication builds trust with your team. Developers want to know what’s happening in the business and how it affects their work. Having open communication also makes it easier for developers to raise any challenges or delays. Here’s a piece of advice from a respondent:
“Be clear with expectations but encourage proactive communication regarding possible shortcomings/inability to deliver.”
Giving your developers autonomy reduces unnecessary distractions and promotes greater ownership
Micromanagement makes it harder for developers to focus on coding. The long-form data shows that the opposite is true when managers give and encourage autonomy.
Space to focus on achieving outcomes: Empowering your developers to work autonomously allows them to focus on building great software because they know what they need to do and have the space to work without distractions. This improves their productivity and helps them meet deadlines. Here’s how one respondent brought their advice to the point:
“Set deadlines, reduce meetings, and leave developers alone to complete the job.”
Give developers ownership over code: When your developers have greater autonomy in how they work, they have greater freedom in how they tackle technical problems. This gives them a greater sense of ownership over their code and more investment in its quality. It’s also important that you recognise the effort that goes into that investment. Here’s how one respondent explained the effect it has on developers:
“Trust your people. Make them accountable, that way they invest more in their work (and want to invest more). Recognise effort (not necessarily in monetary compensation, although that doesn’t hurt, but a simple “well done” or “thank you” goes a long way).”
Clear goals help your developers prioritise the most impactful outcomes
The responses show that clear goals, like good communication, improve their productivity by ensuring that they’re working on the most important tasks and outcomes.
Improving team outcomes: Clear goals ensure that developers know they’re addressing the right outcomes and that they’re not wasting time on code that doesn’t move the needle. If goals need to change, then clear communication about what needs to change and why is crucial. Here’s the advice from one respondent:
“Make sure the team has clear goals and that there is regular feedback on these.”
Investing in your management practices not only improves your developers’ productivity, it helps keep your team happy and with your company. Developers leave managers who waste their time through poor communication and create unnecessary distractions through micromanagement.
Keeping your best people by empowering them to do their best work by clearly communicating project requirements, allowing them to work autonomously and setting clear goals for their teams.
Keep in mind
Data on good and bad management used in this article comes from a community poll we ran from 3 to 12 May 2022. 142 Developers from South Africa and the Netherlands shared their input on how they assess management quality and what they want from their managers.
Other data used come from OfferZen’s 2022 Netherlands report: State of the Software Developer Nation, 2022 State of the Software Developer Nation Report, and Developers Remote Work Report unless referenced otherwise.
- 2022 Netherlands report: State of the Software Developer Nation
- State of South Africa’s Software Developer Nation
- Being a Terrible Technical Leader – The Inversion Mental Model
- How We Succeed as a Self-managed Team
- Mental Models for Surviving High-growth Startups
- Why Continuously Asking Questions Is a Superpower for Tech Leadership