What makes developers happy as they work? Is it a higher salary, an improved team structure, great puns exchanged in a Slack or Discord channel, or the anticipation of getting to watch the latest Star Wars series on Disney Plus after they get off work for the day?
And also importantly, why does this question matter?
Developer happiness directly impacts daily productivity. Developers aren’t just robots spitting out code. They’re human beings who need to go into workdays with innovative ideas and a problem-solving mindset.
We need to look at programming as a human activity, not just a mathematical, scientific, or technological one. Because of this, developer happiness is very important to today’s organizations. The happier your developers are, the more efficient and high-quality their work will be.
Top Drivers of Developer Happiness
Developer experience, which is defined as the experience that developers have as they interact with various technologies, people, and processes throughout their daily jobs, actually drive the happiness index for developers.
So naturally, improving developer happiness starts by improving the developer experience. When your organization takes concrete steps towards a better developer experience (i.e. making technological and process improvements), the happiness of your software engineers will improve too.
Here are three ways your organization can improve developer experience (and increase happiness!).
1. Make Work-Life Balance a Real Thing
“Work-life balance is the most important indicator for developer happiness at work, regardless of experience, age, gender, position, and region. 75% of developers cited this factor as ‘very important’.” - Honeypot 2021 Developer Happiness Index study
It’s an unfortunate truth, but developers are not unfamiliar with late-night, after-hour work. This happens for a few reasons. Many organizations are turning to CI/CD pipelines and DevOps methodology to help them automate their processes and establish a culture of “test early and often”. Both development ideologies can improve the developer experience a ton. But unfortunately, when they aren’t executed properly and aren’t data-driven, they can make developers’ lives harder.
This especially happens when a company institutes a CI/CD pipeline, but also requires developers to run too many lengthy tests. The developer spends so much time waiting around for tests to get done that their actual coding work has to happen after hours. Streamlining and fine-tuning these tests would directly impact developer experience and happiness too.
To improve developer happiness, organizations need to empower their developer to work within their work hours.
At Launchable we value Deep Work. We do not want to slice days in an incessant stream of disturbances, or meetings. Overall we value deliberate, concerted effort. In a world of “ASAP culture” we strive for calm focus, with fewer meetings, fewer emails, and overall fewer interruptions. We reserve specific days of the week for meetings, making the other full days ones without distraction - we lovingly call these Get Shit Done Days. We’re in the business of helping companies deliver quality at a faster velocity, so it’s no wonder that we focus internally on delivering quality through deep work.
It’s all about building out efficient workflows that empower developers to truly step away from work and get quality personal time after hours. This can mean helping them avoid unnecessary downtime at work, waiting on something or another to get done. It also means that organizations need to put measures in place that prevent big emergencies from happening often. Developers need to feel like they can see an alert at 4:59 pm and say, “I’ll take care of that first thing tomorrow”, then close their laptops and enjoy their evenings.
2. Time to Breed Innovation
As developers ourselves, we understand that developers want time for self-development and skills improvement. Something like Google’s side-project time, which allowed employees to spend 20% of their time at work innovating on whatever they wanted, could be very beneficial for your developers.
And yes, most teams don’t have time to learn just anything – but giving at least some time to do something interesting that also relates to their projects can make a difference in developer happiness and experience. This can include:
Focus on automation or improving workflows
Digging into project-specific technical interests
Lending a hand on a different project they’d like to work on
Chop away at technical debt or sprawl
Elsewhere, employees often don't really get to recuperate or get to know colleagues in a non-work capacity, missing out on genuine interaction. At Launchable Rocket Fuel Days fixes this issue. Every 3rd Friday of a month is a day dedicated to ourselves, our community, and/or the world around us. We collectively choose the theme every month and plan an activity for this day. Rocket Fuel Day is a day of bonding, refueling, and recharging our batteries.
Learning opportunities create ways for developers to become more engaged with their jobs. Plus, they help development teams keep up with an ever-changing industry. And as we can see from the list above, these opportunities can even enable them to make improvements on the whole company’s behalf too!
3. Prioritize Mental Health
It’s important for developers to feel mentally healthy and safe while doing their work. A positive work environment helps foster this mindset. Developers need to feel empowered to innovate, without being bogged down by mundane, non-development tasks or bottlenecks in the SDLC. A workflow with poor developer experience decreases mental well-being at work.
For instance, when an organization lacks automation methodology such as Continuous Integration or Continuous Delivery, developers are forced to perform monotonous tasks. Continuous Integration helps to automate tasks such as testing and compiling artifacts into builds. Without it, developers have to keep compiling artifacts and remembering to run tests themselves- over and over again. Or without Continuous Delivery, developers have to keep manually moving builds into test environments. Talk about monotonous.
Physical and psychological safety also contribute to developer happiness. This means that developers have no fear of repercussions, and feel supported by a team. Instituting a great developer experience can help avoid team disputes and work drama. It means that processes and technology are so streamlined and straightforward that they seldom get in the way of teams working together and collaborating well.
A solid example of reducing fear and nurturing is through the use of an effective source code repository within Continuous Integration. Putting all code into a central place is a very important step for successful team collaboration. Because all of the developers can reference this source code repository, they are less likely to accidentally duplicate someone else’s work. It also means that when one developer commits a change, their code gets tested against other developers’ work in real-time, ensuring that the components work well together.
The Business Impact of Developer Happiness
Developer happiness might seem like a daunting and abstract concept. It might seem like it somewhat matters to some organizations, but isn’t worth the trouble. After all, since happiness is directly related to developer experience, it requires your organization to streamline and improve your teams’ processes and technologies.
Look through your developers’ eyes and examine everything they come into contact with, asking if these daily tasks are as efficient and easy to work with as possible. In the grand scheme of things, that seems like a lot of work.
But in reality, this is one of the most important tasks that your organization can undertake. Developer happiness makes a huge impact on your business’s success. Here are a few ways happy developers become game-changers:
They are better engaged and more highly motivated.
Gallup’s research shows that engaged employees are less likely to feel dissatisfied and leave their jobs, leading to an overall lower turnover rate for a company. It also uncovered that the overall profitability of an organization goes up when its employees are engaged.
They have increased creativity and innovation.
The tech industry is constantly changing, and a company’s success relies on its ability to stay afloat throughout these innovations. The best place to start: making sure that your development team has the time and resources that they need to explore, understand, and use the latest technology.
They create better-quality code.
When developers don’t have to spend extra time on monotonous tasks, they have more mental capacity to work on creating good-quality code. And better code means less backtracking from errors, and ultimately, faster release times and more successful products for end-users.
They have higher confidence.
Confident employees are more likely to be high performers, loyal to their companies, and in general, less stressed. Who doesn’t want a team with these types of people?
They work with higher levels of focus, maintaining a sustained flow.
When they aren’t distracted by mentally-taxing work conditions, like doing menial tasks or dealing with bad experiences, developers can focus much better. This leads to greater productivity for the entire organization and better end products.
Developer Happiness relies on faster, smarter testing
Here at Launchable, we’ve seen a link between faster, smarter testing and developer happiness. Unfortunately, many developers have to fight battles with their teams’ automated tests each day. They deal with flaky tests, which return inconsistent results, and unreliable test suites that degrade in quality over time. By fixing issues with testing, you ensure that your developers get to work with reliable data.
Reliable data is a big deal when it comes to developer happiness. It means that work-life balance gets improved because they don’t have to deal with inaccurate test results. It also means that they save time, fostering more opportunities for self-development, increased productivity, and boosted confidence.
Launchable’s Predictive Test Selection and Test Suite Insights can directly improve developer happiness by kicking those erratic and time-consuming tests to the curb. Predictive Test Selection picks the best tests for each code commit and only runs them, so a developer doesn’t have to run the entire test suite against every single change. Test Suite Insights collects metrics on how your tests are performing, so your team can retire or fix any tests that seem to be performing poorly over time.