Kong announced Kong Konnect Dedicated Cloud Gateways, the simplest and most cost-effective way to run Kong Gateways in the cloud fully managed as a service and on enterprise dedicated infrastructure.
I've held nearly every DevOps role that exists over the past decade — and it's transformed my perspective of the modern development lifecycle from a mode of collaboration to a practice by which organizations can express empathy for all actors involved in software development.
As DevOps has evolved, I've seen how it empowers teams to develop products faster and with more agility. However, I've also seen how the development cycle places increased operational burden on developers and contributes to high rates of burnout.
Burnout is too common in the development space. It's affected the teams that I've managed, my colleagues and even me at certain points in my career. And unfortunately, I'm not alone: More than 80% of developers are suffering from burnout — and the pandemic isn't solely to blame. Nearly nine out of 10 software and DevOps professionals have quit or have considered quitting their job in the past 12 months.
It's up to organizations to minimize points of frustration throughout the development cycle while maximizing the benefits. For DevOps — and developers themselves — to work effectively, business leaders need to invest in the right digital tools, provide a higher level of organizational support and, most importantly, empower developers to deliver work they're passionate about.
The upside is that more advanced technology — including automation and "as-code" solutions — is making it possible to lighten developer workloads and alleviate factors contributing to burnout without sacrificing productivity. By crafting systems that enable automation via as-code tools, we can bridge the gap between Dev and Ops, and build sustainable systems that prevent developer burnout.
Solving the DevOps Challenge
Like any engineering framework, DevOps comes with benefits and trade-offs. Although businesses have quickly capitalized on its advantages, they've been less successful at solving DevOps' challenges.
For example, DevOps drives a faster-than-ever speed of software development and deployments, which enables organizations to keep up with changing markets, intense competition, and heightened consumer expectations for highly personalized, up-to-the-minute digital products. Yet, the process can also add pressure and create larger workloads for developers.
While DevOps teams used to take months to deploy new software updates, they're now expected to accomplish the same work in weeks (or even days). It's no wonder developers cite high workloads as the No. 1 factor causing burnout.
It's not just larger workloads, but also more strenuous cognitive tasks that contribute to the strain. DevOps allows teams to work more collaboratively and cohesively than traditional development models, but at the same time it requires individuals to have a far broader knowledge base of various architectures, environments and systems. Developers have essentially turned into generalists who are expected to know an ever-expanding list of skills — and it doesn't help when they're tasked with complex work like database administration or quality assurance.
As the speed of interaction, the scale of services and the weight of workloads have increased, many technology vendors have attempted to solve this problem through DevOps automation and as-code tools. However, organizations' deployment of technology tools and infrastructure to support developers hasn't kept pace.
This problem is apparent throughout security and compliance. With automated security tools, DevOps teams can shift security to the left in the development pipeline rather than going back to work with security teams after a build is complete. Yet many DevOps teams still go without these automated security tools, forcing developers to waste time and effort manually building, maintaining and reconfiguring complex security policies.
Faster development cycles, growing cognitive load and higher standards for developers contribute to an environment in which developers don't feel creatively fulfilled or empowered to contribute to the success of their business. I've seen firsthand how quickly highly motivated developers can start to feel disengaged, miss deadlines and produce lower-quality work when they don't feel their ideas are considered or supported. It's a cruel irony that burnout disproportionately affects an organization's highest-achieving, most motivated employees.
Building a More Supportive Environment for Developers
Reducing burnout among your developers is an investment, but one that pays dividends in the long run. The research is clear: Ensuring wellness at work isn't only beneficial for your employees' physical and mental health, it's good for your organization's bottom line. Building a more supportive DevOps environment is a large part of why I became interested in developing and improving automated tools.
With so many fellow developers spending precious time and effort on highly repetitive manual tasks and toil, I knew there could be a better, more fulfilling environment for developers (and selfishly, myself) to work in. And it starts by implementing the following 4 steps:
1. Measure your productivity baseline. To understand how burnout affects your developers, you first need to gauge baseline productivity levels and how your DevOps system stacks up to your organization's targets.
What is your cycle time? How long does it take to get a new microservice into production or software upgrades out the door? How many human touchpoints are needed to operate the system and what is your mean time to recovery? How much churn does your codebase experience and how does it impact quality? These productivity metrics deliver visibility into your DevOps processes — providing a better understanding of factors slowing developers down and the tools it takes to solve these roadblocks.
2. Garner feedback and address concerns. Burnout can take many forms, from physical ailments like fatigue to emotional symptoms like anxiety to work performance issues like disengagement. However, employees are often hesitant to speak up about these issues on their own behalf.
Managers need training and support to cultivate high-trust teams where candid feedback is the baseline expectation, so they can solve problems before burnout becomes a risk.
Create opportunities for developers to provide honest feedback. This can include frequent system usability surveys for internal systems, agile exercises like retrospectives and ways of working agreements, or establishing a developer productivity team responsible for actioning feedback. After gathering feedback, hold regular operational reviews to help technical team leaders and executives better understand developers' pain points and identify opportunities to reduce toil and increase efficiency.
3. Support collaboration, communication and community. It's not only technology woes that get in the way of developers, it's also the ways in which teams work together. Thinking back to my time as a developer, I remember the challenges of collaborating with security and compliance teams who often weren't involved in the development process until the very end. Instead of incorporating feedback from the start, we often had to go back and reincorporate security measures after the fact.
Alongside the right tooling and infrastructure, companies also need to provide structural support for developers. In particular, focus on ways to foster collaboration, open communication and create community throughout your entire organization. (That should happen alongside other benefits, including remote work stipends, support for childcare, PTO, mental health days and encouragement for developers to take time off to recharge.)
Strong connections enable teams to work together more effectively and support one another. When developers feel stuck, for example, they should be comfortable reaching out to teammates for help and support. Likewise, when employees start to feel burnout, they will be more likely to speak up and seek support from their colleagues and managers. In my case, better collaboration between developers and security teams would have saved a lot of time and headaches.
4. Integrate "as-code" throughout the software stack. Inefficient processes contribute to burnout for around a third of developers. It's particularly frustrating when developers are faced with highly repetitive, burdensome tasks and are forced to manually write (and rewrite) large chunks of code. In fact, according to a report from Garden, three-quarters of developers say they waste time on manual DevOps tasks.
"As-code" solutions provide much-needed relief by automating manual processes and activities, and lightening developer workloads and responsibilities throughout the DevOps lifecycle. Although developers still need to troubleshoot and debug systems, automation enables teams to do more with fewer people. For example, "as-code" infrastructure policies can automatically prevent misconfigurations, enforce resource limits and ensure containerized applications don't accidentally connect with the public internet. By default, operationally sound infrastructure alleviates stress and allows DevOps teams to focus on solving business-critical problems.
Another area of focus that will alleviate developer bandwidth is policy-as-code, including Open Policy Agent (OPA) – an open-source, general-purpose policy enginge that provides a standardized policy language. As your organization refines its tooling, consider how you can introduce more tailored automation tools to optimize everything from regression testing and incident resolution to infrastructure provisioning and access controls. Trust me, your developers will thank you.
Let's be clear: I don't believe the DevOps model itself is to blame for the high rates of burnout in our industry. In fact, I believe many DevOps principles are crucial to improving efficiency, increasing productivity and easing burnout. However, you need to provide the necessary structure, support and technology tools for your teams in tandem with a DevOps model.
As the DevOp model matures, we have the opportunity to standardize processes and practices that are not only fast and efficient, but also sustainable for developers and your entire business. No single piece of technology, feedback survey, or streamlined task will solve burnout on its own. But combined, these factors can go a long way toward improving developers' work-life balance and creating a more supportive, sustainable environment.
It's time to recognize that preventing software engineer burnout is not just a matter of personal responsibility, but a shared responsibility of the entire organization. Let's commit to building a culture of care, trust and psychological safety that enables developers to thrive both professionally and personally.