DevOps engineers are among the most sought-after ICT roles with one of the highest numbers of vacancies in the EU’s programming sector. Is it difficult to become a DevOps engineer? How to get the right skills and what type of courses to finish? We have talked about it with Guillermo Martinez, an expert in technology modernisation and DevOps transformation.
What is your current job all about?
My current job can be divided into two sides: the management of my consulting firm, and the work I do for my clients.
On the clients’ side, as a DevOps Lead Architect, I focus on guiding clients into modernising and optimising their software and product delivery by improving the technical, process, and people landscapes. It includes defining their organisational structure and responsibilities, enabling automation technologies and tooling, describing the roadmap and execution of DevOps transformation, implementing state-of-the-art DevOps, guiding business and technical profiles into the modern engineering world by teaching new practices and principles, as well as streamlining the processes.
As a founder of Tektique, a DevOps capability firm, I define and improve the go-to-market strategy, train people in DevOps, Agile and Cloud, and present the company at various conferences.
You have been working in DevOps for years now. What made you choose this path among other software fields?
At the beginning of my career, DevOps was not really a thing. What I knew was that I wanted to be involved in end-to-end delivery. I had always looked for optimisation and efficiency. Therefore, I can say that I had been working in the field of DevOps before I knew it.
I have always been curious about agile and modern working practices. As much as I love working in software development, I know that its organisational side can sometimes be a nightmare. DevOps is about making software delivery pragmatic and efficient and this is exactly what I want to do.
What do you like the most about your job?
Being able to work in end-to-end activities. DevOps is the “new” way of working that is becoming a standard in almost all places. I really like being actively involved in the entire software chain, and thanks to my background and knowledge, I can guide companies in their improvement journeys. DevOps relates to the entire product delivery, from definition to deployment (and then back to definition by implementing feedback). Working in this field allows me to learn and act in diverse topics such as project management, creativity domains, implementation, deployment automation, testing, monitoring, analytics and more.
In the ESSA Needs Analysis report, DevOps engineers were identified among the most sought-after ICT roles. As someone with longstanding experience in the field, do you think getting a job in DevOps is difficult?
I actually think it’s quite easy due to the high demand! But on the less optimistic side, there is a lot of misknowledge around DevOps. It happens that companies post DevOps roles which later turn out to be in different fields. My advice for job seekers is to make sure that they understand the tasks during the recruitment process.
Before you apply for DevOps jobs, you need to have a set of technical skills, as well as a good understanding of end-to-end delivery and management. Looking at current trends, the DevOps world is breaking a little bit into DevOps Engineers, Platform Engineers, and SRE – if we only consider technical domains. So, if you are new in the DevOps field, this sub-division allows you to start by building skills in one domain.
How to become a DevOps engineer? What is the best way to start, what type of courses would you recommend for beginners?
I think having a background in computer science or computer engineering is a perfect start. A DevOps engineer should know how software builds and runs. Programming experience is also useful. Curiosity is a must if you want to really understand the entire software lifecycle.
For training, I highly recommend going above agile foundational knowledge, e.g., getting PSM certification. I have DevOps Foundation and DevOps Leader certificates from the DevOps Institute, as well as AWS Partner Technical Accreditation.
I recommend books such as The Phoenix Project and The DevOps Handbook. Reading blogs on the technical and culture-related aspects of DevOps will help as well.
Which programming languages are must-haves for someone who wants to be a successful DevOps engineer?
I’d say the ones that require a good level of software development and configuration: C++ and Java. Both languages are complex for a person who is new in the field, but their difficulty provides great insights in terms of software delivery.
Given the demand of today’s market, it’s possible to get a job in DevOps even without programming knowledge. It depends on the role, but sometimes the ability to use tools such as GitLab, GitHub, Jenkins, Ansible, Docker, and Kubernetes, knowledge of some Cloud providers, and some scripting, can be enough to get hired.