The lack of skilled IT workers is hurting the deployment of emerging technology, according to a new survey from Gartner. In areas from cloud to cybersecurity, this crisis is expected to last for years to come.
The 2019 Robert Half Technology Salary Guide said that "DevOps Engineer" was one of the hardest IT positions to staff. And that difficulty appears to be driving up wages.
The report noted that DevOps engineer salaries range between $90,250 and $178,250, with a median of $110,500.
In addition, the DevOps trend seems unlikely to end anytime soon. If you already have a job in IT but haven't yet worked in a DevOps-related position, the transition to a DevOps job shouldn't be difficult.
In fact, if you are already a developer or already work in IT operations, "working in DevOps" might simply mean doing the job you've already been doing but at a company that has embraced DevOps principles and practices.
However, this change will require you to rethink the way you've always done things and adopt a new mindset. On the other hand, you might be interested in becoming a DevOps engineer or DevOps manager, which could require upgrading some of your skills if you don't have previous DevOps experience.
So how do you get into a DevOps job from your current position?
What follows are seven steps you can take to prepare for a career in DevOps.
If there's one thing that everyone in the DevOps movement agrees on, it's that DevOps requires more than just deploying some new technology -- it requires a unique mindset.
DevOps is all about applying the principles of agile development to IT operations. It requires developers and operations teams to work together closely, and it usually involves continuous delivery, cloud-based infrastructure and heavy reliance on automation.
DevOps philosophy’s base definition is: DevOps is the way in which a technology organization embeds itself in a business to the benefit of that business.
At its simplest, DevOps is about removing the barriers between two traditionally siloed teams, development and operations. In some organizations, there may not even be separate development and operations teams; engineers may do both. With DevOps, the two teams work together to optimize both the productivity of developers and the reliability of operations.
You can't work in DevOps without some baseline technical knowledge. First, you absolutely need some experience with Linux. Most DevOps organizations are running Linux servers, so you must understand the open source operating system and be comfortable working from the command line.
Second, you need to have a solid grasp on the basics of cloud computing. Amazon Web Services, Microsoft Azure, and Google Cloud all have excellent tutorials that can help you get up to speed if this is a new area for you.
Third, you need some experience with writing code, more specifically with a scripting language. If you don't already know a scripting language, most experts recommend learning Python.
While DevOps is about more than just tools, most organizations do rely on some DevOps-related tools. You should absolutely gain some experience with Git and GitHub, if you don't have it already, because most DevOps organizations use these tools to manage their codebases.
You should also get familiar with container technologies, specifically Kubernetes and/or Docker.
Once you have those skills in your arsenal, you should consider learning some of the more popular DevOps solutions and automation tools.
Different enterprises use different tools, so if you want to target a specific employer, it's a good idea to learn the tools that company has deployed. If not, you can choose from options like Puppet, Chef, Jenkins, Ansible, and many others. XebiaLabs has a Periodic Table of DevOps Tools that lists nearly all the most popular ones.
It bears repeating again that DevOps is about more than just technology. You're also going to need to get along with other people. If that's not your strong suit, consider some soft skills training.
Even the most introverted people can learn how to collaborate, how to make an effective presentation, how to write clearly and persuasively and, in general, how to do a better job interacting with others.
Good technical skills aren't enough to continue advancing in a DevOps career. If you don't want to stall at your current level, make the investment in improving your soft skills.
Those soft skills can come in handy for networking at DevOps conferences, meetups and other events. These offer excellent opportunities for improving your skills, learning from colleagues and hearing about job opportunities.
The number of DevOps conferences continues to proliferate, but some you might consider include Interop ITX, DevOps Days, DevOps Enterprise Summit, DevOps World and others. Many of these events also coincide with other training opportunities.
Getting some formal training in DevOps, possibly including a certification, can be a good way to demonstrate to potential employers that you have the skills to do a DevOps job.
A quick search for DevOps training opportunities will bring up dozens of different options. Some online courses are very low-cost or even free. In-person training tends to cost a little more but is also more likely to include a respectable certification.
Some employers think more highly of training and certifications than others do but having something like this on your resume certainly won't hurt and may help you get better at your job.
You will never completely master DevOps because the field is constantly changing. If you want to stay up to date, you will need to perpetually work on improving your knowledge and skills.
In the same way that DevOps works to continually improve your systems, you will also need to continually improve yourself. The good news is that if you are up for this kind of challenge, the potential rewards in terms of salary and career opportunities are high -- and growing.