#CareersInICT: Miha Puželj, DevOps Engineer

The demand for DevOps engineers has been growing steadily in the past few years, and all signs point to this trend persisting through 2024. A couple of months ago we had an interesting chat about this profession with Guillermo and today we are back with another take on a DevOps career. Read our conversation with Miha Puželj, a seasoned DevOps Engineer, as he unravels the layers of his multifaceted career journey.

Could you share your career journey with us?

In the early days, I began as a support employee in a small IT company, setting up computers and delving into network and server management. From learning hardware basics to configuring servers open to the world, my journey started with the intricacies of an Exchange email server and later a DNS server.

Then, I transitioned to a smaller company specializing in video surveillance equipment, I took on diverse roles—designing networks, building servers, purchasing cameras, and even hands-on installation.

My next position was in a company specializing in software for IPTV interfaces. I utilized my knowledge of video protocols and server management to provide support to major internet provider companies globally. The turning point came with my discovery of DevOps, shaping the trajectory that has brought me to my current position. With the new role, I had to use all my existing knowledge and learn many new things to help developers work better and faster. I joined a project that was just switching over to a CI/CD (continuous integration and continuous deployment) way of work and was able to fully automate dozens of projects, services, and workflows for my teammates.

What about your educational background?

My official education was short. It finished with completed high school. After that, I spent many years in college, but I never finished. I got steady employment early on and focused on practical experience.

How did your practical experience complement your formal education in shaping your career path?

Early employment provided stability, allowing me to focus on gaining practical insights. My journey involved continuous learning through Microsoft courses and specialized certifications, reinforcing the hands-on experience gained throughout my career. I completed several Microsoft courses: Managing and Maintaining Microsoft Windows Server 2003, Installations, Storage, Compute with Windows Server 2016, Networking with Windows Server 2016.

Lately, I started with courses focused on cloud management, such as Azure Fundamentals and Version control with Git, to better assist my developer teammates.

Can you describe your current job? What do you do?

I guess my job has two parts, setting up CI/CD automation and maintaining it. I engage in conversations with developers to understand how they work and get to know the tools they use. Then, I connect with customers to find out what they need and figure out ways to make things work faster and better.

Following that, I dive into learning the tools, gaining a broad overview of workflows, conducting tests, sketching solutions on a whiteboard, and collaborating with my teammates. Once we identify effective solutions or optimizations, we put them into action. Most of the code is deployed using scripting, using YAML files, and containerization tools.

What aspects of your job in DevOps bring you the most satisfaction and fulfillment?

The diverse use of tools and concepts, being on the cutting edge of development, and making visible positive changes to projects are the aspects that truly fulfill and satisfy me.

And what made you choose DevOps among other software fields?

I never had a narrow specialization, always having a wide scope of skills. DevOps perfectly aligns with my ability to understand everyone in the tech spectrum, from developers to system administrators.

As someone with experience as a DevOps engineer, do you think getting a job in DevOps is difficult?

It is a relatively new field, constantly evolving. The demand for DevOps professionals remains high. I would say that there are still not ‘enough’ people skilled in DevOps.

What advice and courses would you recommend for individuals aspiring to become DevOps engineers, especially in terms of practical skill development?

The heart of DevOps lies in CI/CD. For the management side, consider courses on scrum, agile methodologies, and maybe an Azure Fundamentals course. On the technical side, delve into Version Control with Git, then explore practical courses on CI/CD tools like Github, Gitlab, Azure DevOps, Jenkins, and containerization technologies like Docker and Kubernetes.

In terms of programming languages: pick a popular scripting or programming language, there will be more resources to learn them. Right now this is Python, JavaScript, good old bash (or PowerShell, but bash is a lot more popular), and any YAML-based scripting language.