While being a software developer is a fun & rewarding job, sometimes it can get pretty stressful. Challenging projects can make it feel like the equivalent of taking a difficult test 8 hours a day, 5 days a week (and even overtime). If you are not cognizant of this, it could lead to fatigue and burn-out among your developers.
What does “burn-out” really mean? It is a state of physical, emotional and mental exhaustion. Developers who are burned out may experience fatigue, stress, inefficacy, anxiety, depression and cynicism.
I, personally, believe that fatigue is the main factor that we need to identify, because this will lead developers to other symptoms such as cynicism, inefficacy and eventually to turnover.
Unresolved burn-out issues can lead to large amounts of turnover within the organization. Unplanned turnovers are a big deal, especially when we lose top people, good developers are not easy to find. Losing good developers is not just matter of hiring a new one. When we lose them, we could be losing team cohesion and the organization loses intangible knowledge that they would take with them when they leave. Even when a candidate with the right skills is hired, personality conflicts can damage teamwork within the company. Not to mention the time it takes to train the new candidate and adapt to a given project.
Far too frequently, managers will get caught in the mindset that developers are developers, and can be easily replaced. But the truth is that when a good team has been finally assembled, it's not only necessary, but it is imperative to keep them together for proper productivity.
So, the main question then becomes: How can we prevent developers to burnout?
Identifying the problem
In the Software Development industry, many managers are often more worried about customers, budget and sales than about creating a healthy environment for developers. Additionally, upper management may focus on topline sales & sales teams by extension, to the exclusion of the development team. While Salespeople are essential just as much as Developers, it is important to focus on both parts equally. Keeping the Engineering team motivated is just as important is keeping the Sales team motivated. It is important that management stop and ask themselves, what do developers believe about their projects or even about the company's environment?
Do developers feel comfortable with the current project they are working on?
Do developers gain knowledge and experience with their current assignments?
Do developers have been working on the same project for a long period of time?
Do developers feel that they have a career path within the company?
There are way too many questions to ask when we try to identify what can the developer be possibly feeling in order to prevent and correct the burnout syndrome. It should not be an easy task for managers to realize it, since is not as easy as asking developers about their feelings. Most of the times not even developers themselves are aware about what it is. So, the following are the top symptoms of developer burnout that can help us to correct and prevent this problem.
1. Stress: There are many factors that can lead developers to stressful feelings, although it is obvious that not all of these are related to the work environment, in my experience the most common stressful issue within any software development company, is the lack of organization. This can lead to projects to run out of time or direction, hence to run out of economic resources. Most of the time, the weight of the project will fall on the developer’s shoulders when the real problem could have started for e.g. when the project’s scope was not well defined.
2. Fatigue: Accumulation of stress leads to a chronic state of fatigue. Developers, even when they are willing to achieve their assignments, won't be able give their best. This would be the same as a jockey competing with a tired horse, it doesn't really matter how good your horse is, if you ride a tired horse you never will win the race.
3. Cynicism: After a while working on tedious projects or extended teams, developers can feel like their careers are going nowhere, this lead them to feel that whatever they do to finish a project and move on, the next day will be exactly the same. This is a critical point when companies needs to identify such symptom. Once a developer becomes cynical, the productivity is decreased to less than 60%.
4. Negativity: The developer can start to feel negative about the world, team and become irritable. Sometimes negative feelings may be created outside the company, but here the key is the constancy.
What to do
As I mentioned, many managers of the industry are not well aware of these issues, but certainly there are software development companies that have identified the problem and have attempted to solve the problem. We know that in many companies, developers have access to video games, fruits bar, etc. This is great for sure, but how to implement these benefits without creating a ton of distraction or a sense of entitlement?
For me and from my experience, I believe the secret is an integrated approach. The company should not only give a bonus and benefits to developers, but work on an integrated development environment, and on increasing the developers morale by giving them the opportunity of/to:
1.- Work on neat and exciting projects.
2.- New technologies access.
3.- Improve their skills.
4.- Start up their own projects, and economically invest on the best ones.
5.- Work on a well structured company.
All of these elements increase developer morale and directly benefit the company’s bottomline, creating value for the organization. Motivation is not just a matter of increasing a developer’s salary. He/She must have a proper remuneration and of course extra benefits, but if the developer has a low morale or feels anger due to a bad organization then there can be mp incentives good enough to keep him/her giving their best to the company.
Software companies can be very different from one to another, whether they use the nearshore or offshore models, they're located in the US, Mexico or India, use agile or CMMI processes, develop for mobile or more traditional purposes, they will at some point incurr in some of these issues, the trick will be just how fast and effective they can be at resolving them.
Working in a software company can be fun and productive, only if we create the most balanced atmosphere for the people who works for it. If companies focus only on customers or sales, and not in people’s well being, these companies lose the opportunity to work with one of the strongest and happiest teams in the world.
About the author
Jonathan Casarrubias is a Software Engineer based in Guadalajara, Mexico with more than 10 years of experience in the software development industry. He studied Software Engineering and currently works at iTexico a Tech Advisor for web and backend projects.