How To Land Your First DevOps Role
DevOps roles seem impossible to attain. They're everywhere and nowhere. Let's go through the steps to make yourself employable for that DevOps career!
Join the DZone community and get the full member experience.Join For Free
DevOps was undisputedly one of the tech buzzwords of the 2010s. Starting as a relatively obscure methodology orbiting a few open-source tools, DevOps teams are now a fundamental part of most organizations.
There’s a good reason too. Well executed CI/CD pipelines have made companies billions. Even at a smaller scale, the time and energy saved by a solid automation process enable much more productive work to be carried out by developers and engineers. The business impact of a strong DevOps practice is astronomical.
You know this already though because you’ve been thinking about a career in DevOps. Otherwise, you wouldn’t have opened this article. You’re here to find out how to make that jump, or maybe you just want to know if it’s for you.
Either way, here are our tips for breaking into a career in DevOps.
How To Know If DevOps Is For You
There’s a lot to consider when deciding on DevOps as a career. However, a good place to start is with this question:
Does Collaboration Excite You?
If working closely with others has you grinding your teeth, you’re not going to enjoy DevOps life.
In DevOps collaboration is everything. Whilst automation has become the main value-add that causes businesses to invest in it, the methodology is founded on breaking down barriers between teams.
Silos- What They Are and Why We Smash Them
If you’re lucky enough to have spent your career in Agile environments you may not be familiar with silos. Way back when, they were all the rage.
Colleagues with decades of experience on you would have started their career in a silo more likely than not. You’d have development as one silo, ops/analytics as another, and the entire development life cycle was a back and forth argument between these two camps.
Doesn’t really sound constructive, does it?
That’s because it wasn’t. By the time IT/Development had gone from a fringe department of industry-leading enterprises to a staple of almost every business, it was clear this way of working had to go. Enter DevOps.
Lowering That Cloud Bill
Many engineers think that their next big DevOps role is going to be supported by their skills with AWS. It's impressive when someone has a great command over the toolset, but do you know what businesses love even more?
A Proven Record of Lowering Operational Cost.
The new prohibitive cost for organizations is keeping their AWS lights on. If you know how to bleed the most out of their AWS budget, companies will be happy to pay you over the odds for you.
More often than not, the amount they're paying you is nothing compared to the amount they're paying to AWS. You'll be around to bust myths about "free" tools, offer concrete advice for scaling databases, and much more.
This is a much-overlooked skill. Cost optimization is gold-dust. Focus on it and it will set you apart from every other candidate for that next dream job.
Collaboration Supported By Automation
Of all the processes available during the hazy early days of DevOps, it was experimenting with automation that proved the most effective in easing friction between hostile ops and dev teams.
Automation pipelines were invented with the goal of easier collaboration. Automation in a DevOps pipeline encompasses every part of the software development life-cycle.
No team will be free from the reach of the pipeline; when done right, a DevOps pipeline is the main artery carrying the lifeblood of the entire project. Maybe even an entire business.
Still interested? Good! You should be- DevOps engineers are key players in any tech-related endeavor these days.
Now that we’ve covered what DevOps is and why it’s important, we’ll look at some of the key technologies and concepts you’ll need to succeed as a DevOps engineer.
CI/CD- Always Integrating, Forever Deploying
There’s a strong chance you’ve come across CI/CD (Continuous Integration/Continuous Deployment) before. For many DevOps engineers, it is CI/CD that got them fascinated with DevOps in the first place.
For DevOps engineers, an automated Continuous Development/Continuous Integration process is non-negotiable. Whether a junior maintaining a pipeline, or a lead designing the architecture for a cloud-based multi-server infrastructure spanning a multinational bluechip, CI/CD isn't an optional add on - it's an operational necessity.
The Tech You'll Likely Run Into
CI/CD is only one discipline. The following technologies are simply the tools you’ll be using to build the engine, but if you haven’t wrapped your head around CI/CD you’ll be as useful with them as a chocolate saucepan.
Jenkins is an automation server. It does what it says on the label; it’s a server hosting everything you’ll need to automate SDLC processes.
Builds can be assembled at any stage of the cycle and tested within the safety of containers. What’s more, builds can be triggered automatically based on any criteria you have the technical imagination to dream up.
If you’re serious about your move into DevOps then getting some Jenkins experience under your belt is a great place to start. Chances are you’ll be using it for many years to come.
Next to automation and CI/CD, containerization is the next concept you’ll need to have down to flourish in a DevOps team.
Fortunately, it’s pretty simple. It’s virtualization, but with apps, at an OS level. See, easy.
There’s a host of reasons to want to do this. Sharing libraries, shaving processing time, saving system memory. Regardless of the why, what future employers will care about is the what. For most DevOps teams, that what is Docker.
Docker sits on your OS and packages up your apps and runs them on containers. Pretty straightforward conceptually, obviously in practice it takes some know-how. Getting some time in with Docker definitely won’t hurt your application if you’re making a career hop to DevOps.
Automation is very good at enabling growth. That’s why companies spend thousands of dollars on it.
Growth is good, but it leads to new challenges. Nobody understands this better than the poor sysadmins working in the time before Ansible.
As you’re tweaking and tinkering with your pipeline, you’ll find there’s a lot of changes you need to implement at scale. Ansible creates a central location to manage your machines and servers.
Roll out new configurations across machine groups, orchestrate and command whole server fleets, Ansible makes quick and efficient what used to be incredibly complex and time-consuming. When implementing/configuring automation at scale, Ansible is a necessity.
So, you go to Ansible to orchestrate your machines and servers. What about all those Docker containers you’ve got piling up though? How does one go about keeping track of that chaos?
Kubernetes, that’s how.
Kubernetes is a management and orchestration tool. Where Ansible provides a central hub for your fleets of virtual machines, Kubernetes keeps a tab on deployment, scaling, and load balancing of your containers.
Fun fact- there’s currently a strong trend of moving from virtualization to containerization wherever possible. Kubernetes has led the market on container management for a while. However, that market is itself growing rapidly.
There’s never been a better time to have Kubernetes as a skill on your resume. More companies than ever are looking at containerization at scale, and Kubernetes experience is still uncommon enough to give you some leverage when negotiating a salary.
Terraform has been revolutionary in the world of DevOps. CI/CD in a software development context is one thing, but the infrastructure is an entirely different beast.
Using the magic that is infrastructure-as-code, Terraform has been pivotal in making CI/CD and full automation of infrastructure development a reality in recent years. Put simply, it’s a build tool that allows for CI/CD of infrastructure components.
There is other DevOps tech-based in infrastructure-as-code, but it’s Terraforms cloud functionality which is making waves in the industry. This open-source tool integrates fully with all major cloud providers. The ability to describe your entire cloud infrastructure in a single tool is beyond useful.
Speaking of major cloud providers, AWS does need a mention. We could argue all day about which cloud environment is superior, but that’s not why you’re here.
You’re here to find out how to kick start your career in DevOps.
AWS still holds the lion's share of the cloud market. That’s just the way it is. As such, there is much more DevOps tooling which is AWS-specific, and much more demand for AWS experienced DevOps engineers.
Landing Your First DevOps Role
This list is far from exhaustive. Whether it’s data science or micro-gaming, Azure, or Linux Infrastructure, there are specialty tools for creating a DevOps pipeline in any context.
Highlighting any experience with the above on your resume, however, is a great first step to getting yourself ready for a career in DevOps.
Collaboration in DevOps includes with the wider DevOps community. Start networking with DevOps engineers online, find local meet-ups. Repositories like GitHub or BitBucket are also a great way to showcase your skills with the tools of the trade.
You’re far more likely to land your first role if you show you’ve done the groundwork. Start presenting yourself to the wider community as a future DevOps engineer, start developing those skills off your own back, and sooner or later the role you’ve been waiting for will find you.
Opinions expressed by DZone contributors are their own.