retain-good-developers

How to Retain Good Developers

Finding experienced developers is a difficult recruiting task for any development company. So, it makes sense that once you find a great team member you’ll want to do everything you can to keep them around. Sadly, most software companies and IT departments are bad at creating a healthy work environment for developers. Too often, developers are micromanaged-forced to comply with unfair metrics, and not given the credit they deserve. It’s no wonder that many firms have trouble retaining top talent. In this article I’ll take a look at the developer’s perspective and analyze why developers leave their employers and how you can fix a toxic work environment.

8 Things Developers Hate in a Workplace

While every person is unique, developers as a group are generally highly autonomous and self-directed workers. They solve complex problems and often need periods of uninterrupted concentration to create value for your company. That said, there are a handful of key mistakes employers make that drive developers crazy and impede their ability to do meaningful work.

1. Micromanagement

Micromanagement is the most frequently cited developer complaint. Since developers need autonomy to work on complex problems and solve them in their own way, micromanaging and meddling from executives destroys developer productivity and morale. Give your developers long periods of uninterrupted time. A developer needs this focused concentration to solve difficult problems.

2. Too Many Meetings

Meetings sap a developer's energy and attention. A good developer needs hours of uninterrupted deep work in order to do his or her job well. If your developer is distracted by meetings throughout the day, you’ll never reap the benefits that their deep work would have generated. Your developer will be left feeling unfulfilled especially if the meetings are mundane or irrelevant to the developer’s job.

3. Politics

The challenges of software development are stunningly complex. A developer should not be expected to manage personalities, budgets, or bureaucracy in order to do the work. It will have a positive impact on your organization if you hire someone else to manage the politics of projects and keep the developers out of it.

4. Estimates (that turn into deadlines)

When a developer is forced to give an estimate of completion for a feature or project there are many factors that could affect the feasibility of that estimate. Don’t make the mistake of turning an estimated delivery, especially one that’s long term, into an unrealistic deadline when new factors come into play.

5. Interruptions

Generally, avoid disturbing your developers for meetings or other non-essential tasks. They do their best work when left alone to think and code.

6. One More Thing

Project bloat is notorious in the software industry. Avoid calling projects complete until they actually are. Try to give your developers advance notice on the direction of the project and future features you might need as early as possible. Changes that seem like a small deal to a non-technical executive could actually take significant rearrangement and rewrites of code. Give your developer as much advance warning as possible.

7. Everything becomes a top priority

In Middle English, the word “priority” was never used in the plural - “priorities.” By definition, you can’t have more than one most important task. Having only one top priority doesn’t just apply for working with developers. It also makes good business sense. Set your "priorty" and rank your other "nice to have" items.

8. Unfair Performance Metrics

Number of commits, number of lines added or removed, number of bugs introduced, and number of bugs fixed are all bad ways to measure developer productivity. The best developers spend a lot of time thinking about the problem at hand before they start writing any code. Encourage thoughtfulness, not jumping into the code as quickly as possible.

How to Build a Developer-friendly Environment

If you manage a team of developers the most important thing you can do for them is shield them from the corporate BS that distracts them and places unrealistic expectations on their work. This is the key to creating a healthy environment for your developers and retaining top talent. Provide your developers with lots of autonomy to solve problems and approach projects in ways that make sense to them. When your developer solves problems give proper credit to the developer who made it happen!

Give them room to grow, learn new skills, and advance - even if that means letting them leave the company. Over time, your company will gain a reputation as a great place to work and that will be a huge recruitment asset in the competitive hiring pool for top talent. If you keep your work environment fun, challenging, and free from distractions, developers will love working for you. They’ll stay with you longer and recommend you to other top developers. This will help you build and maintain a great development team.