DevOps may be about rapid, well-timed software releases, but perhaps the most compelling benefit may be what it does for developers' psyches.
That's the word from Gene Kim, noted DevOps thought leader and co-author of The Phoenix Project , a seminal work in the DevOps space, and author of the recently published work, The Unicorn Project. In a recent webcast hosted by XebiaLabs, Kim joined CEO Derek Langone and T.J. Randall, VP of customer success, to discuss the ways developers' jobs can be made more rewarding.
It's in companies' best interests to do what they can to push all the painful, mundane tasks -- the plumbing and maintenance -- out of developers daily routines, which DevOps methodologies and automation will help accomplish. "We want developers to spend their best energies solving the business problem, not on a mat trying to figure out how to put the plumbing together," Kim says. "Dealing with build issues drains all the joy" out of programming out of developers' lives, he adds.
Langone agreed, urging that software engineers be freed up to "work on high-value activities, and allow them to be creative, to use their talents on the most impactful elements of software production for the business, instead of plumbing."
In The Unicorn Project, Kim outlines five key ideals that should be emphasized in today's DevOps initiatives:
- Locality and simplicity
- Focus, flow, and joy
- Improvement of daily work
- Psychological safety
- Customer focus
Developers need to be free to focus on the business, and applying solutions directly to customer needs. They also need to feel free to challenge assumptions, and talk about problems - the "psychological safety" that needs to be part of the DevOps blend, Kim urges.
There are direct implications for competitiveness of organizations at stake as well, "In this labor market, and when there's such competition for developers," Kim says. "It is so important for organizations to be able to have this mindset, to say, 'we need to make it easy for developers to do the work that they enjoy.' Otherwise, they're at grave risk of losing those developers."
Developer satisfaction is "highly correlated with software delivery performance and even organizational performance," says Langone. "When you see happy developers and a high employee Net Promoter Score where they actually recommend their workplace to their colleagues and friends. That means that they're having fun in their work, that there's a sense of meaning. It also means that they're able to spend their best energy on the business problem, and not toiling away on things."
A DevOps, platform-centric approach will help elevate the roles of developers, Kim relates. "Look at how large complex organizations are creating high performance within their organizations, where you have thousands or even tens of thousands of developers, or platform teams," he says. "They're managing these platforms -- monitoring, CI/CD, release automation, orchestration, cloud -- as an internal shared service. It is an internal marketplace, competing for the mindshare and internal market share of development teams. All the expertise -- whether operations or security -- is not embedded in people's heads, but is actually embedded into the platform. So any developer and development team who uses that platform inherits the best-known ways to get into production securely, reliably, safely, and quickly -- without actually having to learn how to do it themselves."
As much of the plumbing and maintenance aspects of development work as possible be put into the platform. "It is a job of leaders to create the conditions so that they can be productive and have fun so that they can best serve the needs of customers," says Langone. "There were so many things I used to enjoy doing in an earlier stage of my career that I now detest. It's everything outside of the business problem, everything outside of my application. I hate connecting anything to anything. It always takes me a week, especially with databases, updating dependencies and secrets management."
Both data and code represent identical issues. Another challenge developers face, which is addressed through DevOps, is that it was "just too hard to get code to where it needed to go, which was in production so that customers get value," says Kim. "This is almost identical problem around data, which is that data is often locked in systems of records or data warehouses, where it takes weeks months or quarters to get data to where it needs to go." This is a problem software can address, he continues, "so we can use every technique that we've learned in the DevOps community, and use that to enable data to be used by effectively by everyone who needs it."