You’ve asked so I kind of delivered, I guess.
I’ve seen many social media posts saying that DevOps is not a job but a methodology in software development. DevOps started as a methodology and I 100% agree that it should be one, but the thing is that many companies are searching for DevOps engineers, and DevOps engineering roles are here to stay for a while.
To tell you the truth, I didn’t become a DevOps engineer by accident. I saw the methodology, and I thought, ok this seems like it will take off soon. I took a bet, and I’ve started reading about Cloud providers, CI/CD pipelines, configuration management, and infrastructure as code, and I’ve started becoming better in scripting to try and land a job in this area. Luckily the market was in a way better shape than it is today, and the competition wasn’t that big in the beginning, so I managed to transition to a position like this, less than a year into working.
One year ago, I wanted to write a series about what I consider it minimum takes to become a DevOps engineer, but I realized that to cover everything that I planned to cover I would have to write a book, which is something that I don’t really want to commit to — yet. So what I’ll do instead, is try to share as much as possible in this post.
I’ve been blessed (or cursed) to work with many clients that had very different architectures, maturity levels, and were using various tools to achieve their day-to-day DevOps engineering practices, so in this post, I will cover some of the common ground I’ve seen being used, show you some nice learning materials and give you some recommendations for next steps.
Before jumping into that, I want to clarify — you cannot really be a Junior DevOps engineer if the company you are working for is not going to be patient and give you all the time you need to shadow a Senior. So for more experienced guys, please be the senior you needed when you were a junior (I know it sounds like a cliche, but it’s not), as in this way we will make the industry a better place. Stop blaming and start sharing and let’s be truthful to ourselves — there were so few people born extraordinary in this industry, and for the rest of us this is a continuous grind.
Here is the list of skills the majority of DevOps engineers should have:
- Linux
- Scripting
- Version Control (VCS)
- Cloud Technologies
- Infrastructure as Code (IaC)
- Configuration Management
- Continuous Integration & Continuous Delivery (CI/CD)
- Containerization & Orchestration
- Observability & Monitoring
- Security and Governance
1. Linux
Is being a pro in the Windows OS wrong? Of course, it’s not, but judging from the fact that even on Microsoft Azure, the majority of VMs are using some sort of Linux distribution, it would be better to dedicate some time to learning Linux, rather than going all in on Windows:
When I was thinking about writing the series one year ago, I’ve built an article that has my take on what you should learn when it comes to Linux, so check it out here.
Top comments (0)