What is DevOps and What Skills Does a DevOps Engineer Need?2022-04-26 10:05:46
If you want to succeed in 2022, you ought to act fast. The world of technologies is constantly changing, and sometimes you may get dizzy at the sheer number of solutions at your disposal.
One of the strategies to ensure fast delivery of products is DevOps. According to Puppet’s 2021 report, more than 80% of companies now use it to unlock higher business value through better quality software, more secure systems, and the codification of principles.
DevOps is becoming a household name, so you must have heard about the role of a ‘DevOps engineer’ and a wider idea of ‘DevOps culture. But have you ever wondered what they mean?
As technical specialists, we often struggle with explaining what we do to our family and friends. That's why I would like to shed light on the topic of DevOps roles and the skills necessary to perform them.
But before anything, let’s explain one core concept.
What is DevOps?
DevOps (development and operations) is a set of tools and practices accelerating the delivery of software by combining and automating the work of development and IT operations teams.
DevOps embodies the shift of software delivery cycles during the past two decades, from infrequent application-wide releases to recurring, iterative releases of features or functional updates.
Ultimately, DevOps is about meeting users’ demand for frequent, innovative new features and uninterrupted performance.
What skills does a DevOps engineer need?
Like any other role in the tech sector, the DevOps world also requires a lifelong learning mindset.
If there was one visual metaphor for a DevOps skillset, it could be an infinity-shaped necklace with the names of various knowledge areas engraved all over it.
The shape is not random, as it refers to the fact that as engineers, we often get a valuable chance to repeat specific task sequences and improve over time. With each project, we gain more experience and specialise in particular areas.
So what skills and concepts should a DevOps engineer place on their infinity-shaped necklace?
#1: Technical expertise
Technical skills are always a foundation for other functions. In DevOps, the required abilities usually involve theoretical and practical knowledge of operating systems and writing scripts like Linux Server, Windows Server, Chef, Ansible, GO, and Python.
Of course, you don’t need to master them all to succeed, but as DevOps, we often follow similar sequences of tasks. That’s why there are many opportunities to optimise processes and pick up experience with other technologies.
#2: Working knowledge of DevOps tools
A multitude of tools in the stack of a DevOps engineer sometimes scares newcomers off.
It tends to grow as, month after month, teams roll out solutions and software updates, or add tools for testing, releasing, monitoring, and analyzing apps. At first, your DevOps stack may seem like a tangle of solutions, but you can get it under control.
Sooner or later, every DevOps engineer stumbles upon building and configuring processes collectively known as ‘Continuous integration and continuous delivery’.
The keyword here is AUTOMATION. It improves the life of DevOps engineers because it reduces the need for human involvement, eliminating errors and increasing the certainty of deployment. Automating processes is the ideal state we strive for each time.
Infrastructure as code (IaC) is like a magic spell heard by DevOps engineers from day one of their careers. Despite a mysterious name, it turns out to be almost as easy to master as Harry Potter’s Wingardium Leviosa.
IaC is a high-level language able to maintain the required state and manage various environments–from test to production.
Manual infrastructure management is becoming obsolete due to a high risk of human error – and IaC tools like Terraform help to make this switch happen.
#5: Business acumen
Apart from hard skills like technologies, security, optimisation, and audits, a good DevOps engineer should also possess a range of soft skills. By these, I’m mostly referring to having the right attitude to the client, cooperating with them, and making the right decisions.
After years in this line of business, having worked with multiple technologies and operation principles, you start to focus on solving different challenges. You face customer questions such as “Is this environment safe? Can you help us to optimize its cost-performance ratio?”.
#6: Security and predictability
DevOps use multiple practices to establish the right level of infrastructure protection and resilience. In a nutshell, we do everything to have as few surprises as possible.
DevOps engineers pay close attention to cost and efficiency in all these efforts. To use an example from AWS: “Do you really need a highly available, scalable Aurora r5.xlarge Multi-AZ for a few queries in your development environment?”.
#7: Communication skills and adaptability
DevOps specialist needs to find a sweet spot that will fit in with the market and project requirements in whatever they do.
So how do you market such a hybrid speciality to a client? The answer, in my opinion, lies in soft skills, customer approach, and adaptability.
Despite relying on automation, which may seem scary and exciting at the same time, as DevOps engineers we are still human, with original thoughts and creativity. We need to learn, make decisions, implement, test, and talk – and this is key to the success of any project handled by a DevOps specialist.
Instead of a conclusion
When discussing the role of a DevOps engineer, we need to be aware of one more thing related to the infinity-shaped metaphor mentioned earlier.
In the tech industry, all elements we take for granted today may change tomorrow – and adaptability is precisely what a ‘DevOps attitude’ requires from us.
Let’s then cooperate, work in interdisciplinary teams, and implement increasingly complex and creative projects.
And as the quote from one of Poland’s cult movies has it: “This bear corresponds with the vital needs of the entire society. It matches the scale of our possibilities. Do you know what we can do thanks to this teddy bear? We open the eyes of unbelievers. Look, it’s ours, made by us, and it’s not our last word.
About the author: Mateusz Grządzielski, almost 10 years of experience in IT. He’s worked at all tech support positions – from a specialist to a team leader now.
At Tenesys, he is in charge of the DevOps Engineers team, focusing on clients’ projects and the whole team’s good vibe. Besides from the IT side, Mateusz is studying at Poznan Economic University and leading his own business.