Why would I want to be a DevOps Engineer?
#devops #agile #automation #softwaredevelopment
up::DevOps Concepts
As an RF Engineer, I have been implementing more and more automation for repetitive tasks, and I wanted to dive deeper into Software Engineering. Then I came across the DevOps career field, and it hit home on so many pain points that I have experienced over the years working on software development. "DevOps: The Big Picture" by Richard Seroter on Pluralsight showed me how DevOps delivers more value for customers by eliminating waste so engineers can focus on value which makes engineers happier.
Deliver more value for customers
The focus where I work is on improving performance compared to other companies, being the first to deliver the latest technology, and reducing churn. How do you know when you need to build a better runway and when you are just over-engineering the solution? You know by tracking metrics that influence performance. Google's "Accelerate the State of DevOps 2021" reports the DevOps KPIs for companies with "elite" DevOps adoption:
- 973x more frequent code deployments. Companies beat competitors by faster value to customers.
- 3x lower change failure rate. Companies avoid churn by less pain to customers.
Eliminate waste and get speed
Seroter has what he calls "fortune cookie" sayings. One of them is: "If you aim at speed, you may get speed, but you’ll get waste. If you aim at the elimination of waste, you'll eliminate waste and get speed." In "DevOps Foundations: Core Concepts and Fundamentals" by Chris Behrens on Pluralsight, he quotes Elon Musk: “The number one mistake of a star engineer is optimizing a thing that shouldn’t exist.” Another quote from Musk: “The best part is no part. The best process is no process. It weighs nothing. Costs nothing. Can’t go wrong.”
In the short term a company can overcome tedious manual work and repeated errors by pushing engineers to work nights and weekends to improve these performance metrics. However Seroter explains that established companies will eventually find themselves in the following position compared to more Agile competition:
- Poor customer satisfaction
- Revenue declining, customers leaving
- Best employees are leaving, not seeing growth and impact
- No innovations in years
- Critical application teams lack of faith in IT support, building shadow teams to get things done
- Us vs. them mentality taking over
DevOps adoption has been motivated by companies losing customers to competitors who are more Agile and implement features more quickly, fix bugs more quickly, and have more uptime. How do they do that?
Do different things
When you deliver often, you don't just do things differently, you do different things. Chris Behrens
Here is what frequent delivery enables you to do:
- Defer commitment: no need to include a feature you might in 6 months, deploy it when you actually need it
- Troubleshoot faster: introduce less risk at one time and it is easier to pinpoint issues
- Experiment easier: measure performance after release and then easily enhance it or roll it back
Reduce engineer burnout, make engineers happier
DevOps adoption is also motivated by engineer satisfaction: automation enables less repetitive errors and less manual work so engineers can focus on more interesting work. Seroter talked about how it is important to respect people. When he faced complaints about an admin interface, he made fixing it a top priority. An admin interface is an example of a first class tool that engineers use to take care of problems. Not only are engineers frustrated by tool issues, but engineers also waste time creating workarounds or alternate tools, and take more time to resolve the problems extending pain to customers.
Look around ... they are out there
Google's "Accelerate the State of DevOps 2021" report shows that 26% of survey respondents are in the "Elite" category of DevOps adoption and Puppet's "State of DevOps Report 2021" shows that 18% of respondents are "highly evolved" in DevOps. Both show more and more companies reaching this status every year. I am encouraged that these companies are out there, and I challenge more companies to join them and reap the benefits.
I have been driving toward DevOps ideas for years, but now I have a name for it and a place to live it. I love learning and I am soaking up everything I can about DevOps. Let me know if you have other suggestions on how to learn it and implement it. Stay tuned for my next posts on how to evaluate company progress on the DevOps journey, my review of Google's "Accelerate the State of DevOps 2021" report and Puppet's "State of DevOps Report 2021", and more of what I am learning about DevOps.