My Journey from IT to DevOps: Why and How
After serving four years in the US military, I knew I wanted a job in tech. I had always been interested in computers since I was a kid; I was the go-to person when family members or friends needed help with their computer. During middle and high school, I enjoyed taking apart computers as a hobby, and even while serving in the military, I would tinker with them during downtime.
In high school, during, and after my military service, I took classes on how to code, but nothing seemed to stick. Meanwhile, I worked as a teller for a credit union for about a year, which provided me with valuable soft skills like customer service. However, I still felt that technology was my calling, so I decided to pursue it, even if it meant starting from the bottom.
Towards the end of my time at the credit union, I applied to many IT jobs without success until one day I got a call for an interview and subsequently a job offer several weeks later. I was ecstatic; I was finally going to work in the industry I had always wanted to join, even if it was an entry-level position.
Web Development
As an IT help desk technician, I learned about troubleshooting hardware, networking, and operating systems like Windows. I also studied macOS and Linux as a hobby after work. Additionally, I discovered my interest in software development.
Reflecting on past struggles with coding, I realized that I needed to change my approach. The concepts were too abstract and complex; I was getting caught up in the big picture without breaking down problems into smaller steps. My desire to learn overrode any intimidation, and I persisted.
Web development made sense because it allowed me to interact with the browser and see what I was creating on the front end. After a few books and video tutorials, I started working with web development, JavaScript, databases, servers, libraries, and web frameworks. This marked the next part of my journey.
Hosting Projects, Containerization, and DevOps
At work, I volunteered for tasks involving the command line and PowerShell. One such task was running a script on multiple computers with a single flash drive, which took hours but eventually became possible with just a few keystrokes from a single computer through the power of the terminal. I was hooked.
I became interested in DevOps as I learned more about web development and preferred working with databases, servers, and the command line. What really caught my attention was learning about how to host my projects and interacting with Linux on a deeper level, which led to exploring virtual machines, Docker containers, and containerizing applications that served as my gateway to Kubernetes.
Through research on hosting web development projects, I found a manual process for deployment but also learned about CI/CD pipelines that automated deployments quickly. Initially, all the new technologies and topics I needed to learn seemed complex, and I estimated it would take weeks or months to grasp them. However, my enthusiasm for the process kept me motivated, despite feeling overwhelmed.
The purpose of this blog is to share my personal journey and experiences as I learn through hands-on experimentation, exploring the process of hosting my own projects and other services within my home lab. I aim to chronicle my progress, highlight successes, and reflect on setbacks in order to continually improve and refine my approach.