Surprisingly, DevOps specialists “are among the highest paid, most experienced developers most satisfied with their jobs, and are looking for new jobs at the lowest levels” according to the recent StackOverflow developer report.
The report shows that almost 11% of all programmers classify themselves as DevOps specialists. On average, they earn $71,000 per year (worldwide) and $122,000 per year in the United States.
So what exactly is DevOps?
DevOps is short for software development (Dev) and IT operations (Ops). According to Atlassian, “DevOps is a set of practices that automates the processes between software development and IT teams, in order that they can build, test, and release software faster and more reliably.”
Software development is not only about writing code. Consider the huge code base of the Windows operating system with more than 50 million lines of code. The main challenge is to channel the coding effort of hundreds of thousands of professional developers in time and space. It’s crucial for the success of those companies to utilize these resources efficiently.
DevOps specialists help channel the coding efforts of small groups. They study new ways of collaboration and implement them in practice by managing teams of software developers. The leverage effect is huge—a wrong decision can cost the company millions of Dollars.
That’s why companies pay handsomely for DevOps specialists that are experienced and have proven their value before (oftentimes as entry-level software engineers).
DevOps excellence can easily be the one thing that differentiates the merely good from the world-class companies:
“It unites agile, continuous delivery, automation, and much more, to help development and operations teams be more efficient, innovate faster, and deliver higher value to businesses and customers.” (source)
The DevOps toolchain often consists of the following high-level steps (source):
- Code
- Build
- Test
- Package
- Release
- Configure
- Monitor
One major goal of highly efficient DevOps is to minimize the time to go through this whole cycle.
How to Become a DevOps Engineer?
Well, you should start as a software developer. The best way would be to join a big company such as Google, Microsoft, Facebook, or Amazon—as a junior developer. Even if you have to take pay cuts or you have to start from the bottom. At least you’ve got the foot in the door and you’ve got a great perspective for your future growth.
If you need to learn to code first, just buy a few programming books in the language of your choice (if you are a Python nut, check out my “Coffee Break Python” book series). Study them. Select your project goals early and create GitHub projects to be used as a reference in your application process.
Assuming you’ve got a developer job, you can now follow the rule outlined in this excellent Medium article:
“Most importantly, don’t lose track of what we are after — building a fully automated digital pipeline that takes ideas and turns them into revenue-generating pieces of code.“
If you don’t have time reading the article, don’t worry. This is 80% of what you need to know!
How do you do this? By reading massive amounts of books. Read one coding-related book every week. Read everything you can lay your hand on about software development, programming languages, hot technologies, productivity, team building, testing, cloud computing, software engineering, and agile project delivery.
There’s no shortcut—any DevOps specialists must be superior in terms of experience. You can accelerate your experience by working in the field as a software developer and by reading lots of books. Follow this strategy for a few years and you’ve got excellent chances of becoming a highly-paid, happy DevOps specialist.