10 Ways to Transition from IT admin to DevOps Engineer

In what I would call the second half of my professional career I have been making the transition from a traditional server administrator, virtualization engineer, IT specialist to a DevOps engineer and cloud architect. This is a transition that I think many are seeing the need to make with the wild popularity of cloud-native technologies. I think also that since Broadcom has basically killed VMware as a true future proof alternative, now is the time more than ever to embrace cloud technologies and DevOps practices. Let’s take a look at what I think are 10 ways to transition from IT admin to DevOps engineer.
1. Build a home lab
I think this is one of the single most important things you can do for your career period. Any new career field you would be interested in exploring will benefit from standing up a home lab and deploying the technologies you will be working with in your career field.
I can say that my career and underlying knowledge and understanding of technologies was 5x in just a short period of time, simply because I was able to experiment and play around with things at home and actually see “what happens when you do this or that” and troubleshoot when things fail and fail hard.
You might assume that a home lab needs to be dozens of servers, network switches, storage arrays, and 100 VLANs or more. But, this is just not the case. A home lab can be a single mini PC running Proxmox or something else bare metal that allows you to experiment. You can even use a “dumb switch” without VLANs to get started.
For help with building out your home lab, check out my new online community called “Home Lab Explorers” where you can communicate with like minded people looking to level up their skills: Home Lab Explorers.
2. Start learning git and incorporate it into “traditional” tasks
What do I mean by that? Traditional tasks and IT infrastructure don’t need git workflows do they? Well, this might be true. However, there is never a better time to learn Git and Git workflows as this will benefit you in making a transition not only to a DevOps engineer but it will also make you a better traditional engineer and it will help you understand the development lifecycle that is one of the central focal points of a DevOps engineer.
One of the best ways to do this is to stand up a self-hosted Git server. Invest in a low-cost mini PC, load Proxmox, and then stand up something like Gitea, or even better Gitlab. Either of these will help you to start understanding the Git workflow and mindset and you will be able to learn this skill in a hands on way.
Start small by simply starting to store your documentation in a Git repo. This will get you familiar with the commands and processes of git clone, git pull, git push, git commit, git branch, git switch, etc. By just starting with committing documentation to code repos, you will get a strong feel for the benefits of Git and Git workflows.
Take a look at my posts here on Gitea and Gitlab and how to install them.
- Gitea Install with Drone CI CD Server Self-Hosted Git
- Installing GitLab, Runner, and Container Registry on Your Home Server
3. Start learning Docker and containers in general
Learning Docker I think is one of the pivotal skills to getting into DevOps. DevOps engineers will be focused on containerized technologies as containers are the technology that cloud-native workloads are built on. Like learning Git and Git workflows, in addition to standing up a Git server, build yourself a Docker container host.
Just stand up a simple Ubuntu Server LTS server and install Docker. Start easy and small by learning how to pull, start, stop, delete, and manage a single container and then move into working with container storage.
Once you have mastered that, then start getting your feet wet with Docker Compose. With Docker Compose you can stand up “stacks” of containers that all work together much like you can do with Kubernetes.
This will get you into other orchestration platforms like Docker Swarm. Docker Swarm is a great middle ground between a single Docker container host and a Kubernetes cluster. However, I will give you a caveat to that in the Kubernetes section to come.
By learning containers you will start to see the building blocks of modern applications, Docker images, and CI/CD pipelines.
4. Get familiar with working with YAML files
YAML files can be a bear with the spacing and indentation specifics that you need to master. However, with the online tools available now such as YAML checkers, and also AI, having an understanding of YAML and having a way to check your work has never been easier.
Why get familiar with YAML? YAML is the underlying configuration language that you will see in things like Docker Compose files, Ansible playbooks, Kubernetes manifests, and CI/CD pipelines for most solutions. By getting familiar with YAML you will help yourself to be able to read through and understand what is going on in a configuration file in one of the above-mentioned solutions.
5. Start using AI
Isn’t this cheating and you won’t really learn anything if you use AI? Well, there might be truth to that if that is your end goal – to cheat. However, from my experience, using AI as a “tutor” of sorts has been game changing. It has helped me figure out things that I would not have been able to do otherwise. It has accelerated learning.
Can you use it as a crutch? Yes, absolutely you can. However, if you have the mindset of using it as a tutor and still learning the commands and underlying technologies, it can help you grow 10x from where you would otherwise be without it.
This is especially true in the areas of Kubernetes, CI/CD pipelines, etc. Check out my post on how to self-host a private AI server here:
6. Learn infrastructure as code tools like Terraform and Ansible
When you start looking to get into DevOps, one of the differences between the way DevOps engineers provision infrastructure compared to traditional engineers is that with DevOps, you learn to “describe” the way you want the infrastructure to look in code. Cloud environments have made this extremely easy with their own native tools like AWS Cloudformation or Azure Bicep. However, there are two general tools available that are extremely popular – Terraform and Ansible.
Terraform is the tool that allows you to describe your infrastructure in a declarative way in code. However, it allows not only describing infrastructure in the cloud, but also on-premises environments like VMware and Proxmox. So DevOps engineers can build out infrastructure using the IaC approach of Terraform. Ansible on the other hand is a configuration management tool that allows you to apply configurations to your infrastructure or take care of “drift”.
So you can build the infrastructure with Terraform, and configure it with Ansible. Each of these have ways to do what the other can do, but these are their strong suits. Learning these tools will allow you to start thinking like a DevOps engineer. Start with on-premises infrastructure and describing and deploying it using Terraform. Use Ansible to start with remediating configuration drift.
Check out the post below to see the steps to automating your home lab with ansible terraform and CI/CD:
7. Learn Kubernetes
This statement in two words may encompass one of the most challenging technologies to actually “learn” through and through. Most DevOps engineers, even those who are proficient with Kubernetes, will tell you there is so much to learn. However, you can start small learning something like Minikube or use something like the new KubeSolo from Portainer.
These are Kubernetes distros that allow you to spin up a single-node environment very easily. Also, now with the help of AI and tools like kubectl-ai, you can spin up and work with Kubernetes much more easily than in times past. The barrier to entry continues to lower with Kubernetes. The best place to start, is just to start somewhere. Spin up a Kubernetes node and start learning how to work with kubectl. Then go from there and learn deployments, services, ingresses, and other aspects of your environment and deploying applications.
Check out the kubectl-ai tool:
8. Start learning CI/CD pipelines
One of the common tools that DevOps engineers will use is a CI/CD pipeline to deploy and configure infrastructure. A CI/CD pipeline is tightly integrated with a Git repo and allows developers to continuously integrate and develop their code for applications. Code gets checked in and the app can be automatically rebuilt and automatically deployed.
I have found one of the best learning projects for a traditional infrastructure engineer is spinning up a CI/CD pipeline to automatically build and refresh a virtual machine template using something like Packer for either Proxmox or VMware. This is a great way to easily see the value of what CI/CD and DevOps brings to the table, even in traditional environments.
Check out my guide using Gitlab for CI/CD pipelines:
9. Start playing around with free cloud tier environments
Most of the major public cloud providers have a “free” tier of some sort that allows you to have workloads in a free way running in the cloud and explore various services. This is a great way to learn cloud services. I know I was quick on the bandwagon for the free AWS tier that allowed me to spin up an EC2 instance and start playing around with AWS tooling and such.
Get into these types of environments and play around. Also, some of the training websites offer free “sandbox” environments. Of course these are “free” with the price of some of the subscriptions. But keep these in mind as it keeps the burden of securing them and making sure there isn’t a tremendously expensive cloud bill you are stuck with if something goes wrong.
10. Start thinking DevOps
My final tip here to transition from IT admin to DevOps Engineer is to start “thinking DevOps” in everything you do and workflows that you carry out. Think, “how can I automat this process?”, or how can I increase the agility and efficiency of this process, even if it is a traditional infrastructure operation? Just remember that DevOps isn’t a specific tool, or solution, it is a methodology.
So don’t concentrate so much on the tools or technologies that make DevOps possible that you forget about the mindset. I have found that just changing the way I think about infrastructure leads to much more easily implementing DevOps workflows.
Wrapping up
There you have it, 10 ways to transition from IT admin to DevOps Engineer. Keep in mind the DevOps mindset, learn the tools, and don’t be afraid to go out of your comfort zone. This is generally when we learn the most. Also, building a home lab I feel is one of the best ways to learn and grow. Do yourself a favor and start building one today.