Let’s take a deeper look now at how to become a DevOps engineer — the DevOps career path and how to build the skills. We’ll share the reasons each of these tools is important, and how long it’ll take to learn each one. We’ll also point you to some good online classes and certifications.
You can learn most of these skills on the job — but a word of caution. In the sink-or-swim world of DevOps career growth, different companies have different requirements. There’s no one-size-fits-all approach.
Foundation knowledge: 4 months
We’ve put a plus-sign after each of the time frames below, because while you can learn the basics quickly, mastery can take much longer.
1. Intermediate to Advanced Linux and Networking: 1 month+
Linux is the OS and server platform of choice for DevOps engineers in companies of any size. Linux’s open-source nature, small operational footprint, and support from the Likes of Redhat and Ubuntu make it the go-to not only for DevOps, but for tool building in general. One of the best things about Linux is that you can download it and start using it today.
If you feel that your Linux skills are rusty, you can get started with the free course offered by Udemy. In fact, if you want to learn how to become a DevOps engineer exclusively from Udemy, they have an entire curriculum of core DevOps classes.
In terms of networking, you’ll get the necessary skills if you do an intermediate cloud certification, such as AWS Certified Solution Architect, but it helps if you take a specialized course such as The Bits and Bytes of Computer Networking on Coursera.
2. Advanced Scripting: 2 months+
First of all, you’ll always need shell (e.g., bash) scripting skills, because this is the default for Linux and most tools.
For “advanced” scripting use cases, there are quite a few languages out there, but Python is a good start if you don’t know what scripting language to pick.
You can master Python in as little as two months with online tutorials from LearnPython.org. However, you’ll find that many employers also use other languages such as Perl and Ruby as well, so be ready to learn those, if need be.
3. Cloud Training and Certification: 1 month+
AWS is the 600lb gorilla in terms of agile cloud providers, and AWS and Linux go together like Strawberries and cream. You’ll need to be fluent in AWS before you can call yourself part of the DevOps community.
The beauty of AWS and cloud development in general is that you only pay for what you use. That model makes cloud computing ideal for DevOps testing. You can set up an environment quickly, use it for what you need, then pull it down again.
It’s easy to start using AWS, since there’s a 12-month free version available to anyone who signs up. You can learn professional-grade skill in AWS in as little as one month, though mastery can take years of continual on-the-job use. Get your AWS certification here.
4. Google Cloud: 1 month+
Azure offers similar employment opportunities to AWS, but what about GCP?
The Google Cloud Platform (GCP) is smaller than AWS and Azure but it excels particularly in data mining and artificial intelligence (and other deep learning technologies). Google’s DevOps-related offerings are becoming increasingly popular with large companies.
In the banking industry for example, the Google AI/ML tools are creating new ways of doing business, plus adding fraud detection and usage-pattern tracking. This saves huge amounts of time trying to develop similar tools in-house.
Similarly, other large companies are using Google’s ML tools to bring massive data sets down to size, drawing business-driving insights from previously unmanageable seas of data.
Want to know more about how to become a DevOps engineer with Google Cloud? You can get your Google Cloud certification here in three months, though you can learn to develop applications with Google Cloud in as little as one month.
Skills: 1 month
It doesn’t take long to learn the DevOps skills you’ll need to succeed in your new career. All these tools are free to use and experiment with. They just require a little time and effort on your part. Let’s look at how long it takes to learn the basic DevOps tools like Terraform, Git, Docker, Jenkins, ECS, and ELK Stack.
1. Configure: Terraform (and Ansible) — 1 week+
Configuration management is at the heart of fast software development. Poorly configured tools waste time, while well-configured tools save it.
As its name implies, Terraform has one purpose in life — to create infrastructure as code in an automated way that speeds up your entire process.
Ansible concerns itself with server-desired state configuration, ensuring that servers are configured to specs. These two technologies are cornerstones of DevOps. Both may seem complex at first, but they’re all based around configuration files written in YAML.
Terraform takes about a week to learn the basics. Udemy offers a great online class that bundles AWS, Terraform, and Docker.
2. Version control: Git and GitHub (GitLab) — 20 minutes+
Version control is key to any DevOps endeavour. It lets DevOps Engineers and their team members create and review code faster, without wasting time sharing endless files and iterations.
Git is a standalone product that by default is used on local machines and networks. This is different from GitHub, which facilitates version control in the cloud, with the overhead managed by GitHub itself. In the world of infrastructure as code, version control with products like Git and GitLab are essential.
GitLab is a complete open-source DevOps platform. It helps users deliver software faster, with collaboration and security all rolled into one. Looking to learn more about how to become a DevOps engineer with Git? You can learn the basics of Git in minutes if you’re already a programmer.
3. Package: Docker (Lambda) — 3 days+
Packaging is where build management meets release management. It’s where your code and infrastructure come together for deployment.
Without Docker there would be no DevOps. Docker essentially allows DevOps to run code in small isolated containers. That way, building services and replacing services becomes simpler than updating everything in one go (which is very non-DevOps).
Amazon’s Lambda is an alternative to Docker that many companies use instead. Though it’s best to know both tools, Docker is an excellent starting point. You can learn Docker in just a few days. Udemy offers a solid beginner’s course online for DevOps. They also have a Docker class bundled with Kubernetes.
4. Deploy: Jenkins (CodeDeploy) — 2 days+
During deployment, you’ll take your code from version control to users of your application. Automation is a key component of this step, and Jenkins is the central way to automate.
Jenkins allows automation for all manner of tasks, including running build tests and making decisions based on whether code passes or fails the build process. You can also use Jenkins for more mundane purposes, like centralized management of scripts and executing commands via SSH (and other authentication pathways).
It’s a tool to automate those frequent and boring tasks that computers can do better than even the best DevOps engineer could. Some companies choose CodeDeploy over Jenkins, making it another useful DevOps tool to learn.
You can learn to use Jenkins in just a few days. Udemy offers a great Jenkins class online for DevOps engineers.
5. Run: ECS (Kubernetes) — 1 day
Kubernetes is DevOps bread and butter. It starts with Docker and adds extra functionality and tools. For instance, it lets the administrator ensure that several copies of a container image are running. That way, if a single VM or host is lost, the service is still available.
ECS and Kubernetes perform valuable services like this in the background. They deliver several automated DevOps tools that allow useful additions to manage containers, and their availability. They also add important items such as introducing role-based access control and more centralized auditing and management functionality.
See IBM’s Kubernetes learning path and guide for a 13-hour course.
6. Monitor: ELK Stack (Prometheus) — 2 days
Once your new application is up and running, you’ll need a real-time view of its status, infrastructure, and services. To this end, DevOps engineers love ELK.
ELK provides all the base components for effective log management and search functionality. It’s Elasticsearch, Logstash, and Kibana — three open source applications offered by the Elastic company.
ELK takes data from multiple sources, and lets you visualize it by using useful charts and graphs. Its rival platform, Prometheus, is just as important for a DevOps engineer to understand. You can learn to use the ELK Stack in just a few days with Udemy’s 4-star online class.
Those are the basics of how to become a DevOps engineer. Now let’s look into why Git matters so much, and how to get a DevOps job.