... First because it does not exist.
This post is a translation of my LinkedIn French post about the position of DevOps Engineer.
More than 13 years after its appearance, this term "DevOps" is still subject to many amalgams, including this famous position "engineer DevOps".
At a time where IT department are in the midst of transformations; where applications are redeveloped using more modern standards and teams reorganized, it is too bad to try to integrate this approach in such an awkward way.
But do not worry, we will take a look back together on what many people identify as a person. We will correct it and hopefully make improvements in the way we make up our teams.
1. DevOps is a philosophy, not a role
Here is a reality that already gives us a lot of answers, alone on this amalgam that is the position of engineer DevOps.
But let's stop for a moment to recall the definition of this approach:
DevOps is a set of practices that combines software development (Dev) and information-technology operations (Ops) which aims to shorten the systems development life cycle and provide continuous delivery with high software quality. - Wikipédia "DevOps"
A definition that can remain very vague for neophytes. Fortunately, we have another description to complete it and this one is brought to us by Donovan Brown, Principal Cloud Advocate Manager of the Methods and Practices Organization at Microsoft:
"DevOps is the union of people, process, and products to enable continuous delivery of value to our end users." - From his post about DevOps
A description which allows us to synthesize it in a 3P rule which are:
- Person: DevOps is above all a contribution to people. The primary goal is to reconcile two professions: developers who look for product innovation and administrators who look for the stability of the solution.
- Process: We set up tools and methodology (ex. Scrum, Kanban, ...) in order to facilitate exchanges between the different actors of a project. This also involves the automation of tests or deployment.
- Product: It is the result of all this collaboration. We all looking for, together, to achieve a modern and stable deliverable whose end users will judge its interest and usefulness over time.
Good. Now that we have re-identified what DevOps is, the question is: what are the positions that use it? Because there are indeed new vocations which have opened up thanks to the democratization of this methodology.
2. Professions including DevOps
We will start by putting an end to certain myths:
- No, there is no multi-faceted engineer. This is why IT department and teams are made up of several people, each with their own specialties. Stop looking for super engineers manager-coach-full-stack-dev-sec-data-Ops (Spoiler: this position does not exist either).
- No, DevOps is not necessarily someone who does stuff with the cloud.
- No, it is not possible to identify someone as DevOps as soon as they make some patches in Shell or Python to send each change of their code.
If the word DevOps is made up of two parts, it is to mark a union and not a fusion. There will therefore persist two main categories of trades in which a certain number of skills are necessary to perform their tasks properly.
It is thus in order to deliver a better product that developers need to be aware of where their applications will be hosted; just as it is necessary for operators to understand the need for the application in terms of system.
But in this case, we have the right to ask ourselves: What should I looking for?
3. Reorganize your DevOps quest
Now that we have been able to review what DevOps and its two mains trades are, we will be able to reassess our needs. You will quickly realize that there is no technical secret either.
Aside from perhaps a position of Coach in DevOps methodology, there is thus no position dedicated to this approach. It is with full knowledge of the facts that we will be able to formulate our needs in the following ways:
- If you are looking for someone to automate your tasks: I am looking for a system administrator or developer with scripting skills.
- If you are looking for someone to migrate to the cloud: I am looking for a cloud solution architect.
- If you are looking for someone to innovate your infrastructure while keeping your system stable: I am looking for a Site Reliability Engineer (SRE).
- If you are looking for someone to secure your applications and systems: I am looking for an engineer respecting good security practices or a Cybersecurity specialist.
- If you are looking for someone to develop your application with a modern approach: I am looking for an up-to-date developer.
Without forgetting that you can make these different people work together without necessarily making entire departments dedicated to one position or another.
To go further in your management, I invite you to take a look on the agile methodology in place at Spotify, the streaming platform and their approach in Squad.
What we can deduce
We were able to review the DevOps approach together. The purpose of this revision is to no longer realize the amalgam of putting all the responsibility, the entire life cycle of the application, on one and the same person.
We all have our specialty, and like agile, we have a wide range of methodology and tools to support us in the creation of our product. It would be a shame to take advantage of all these solutions!
It is now possible for you to edit your mission offers in order to be more specific as what you are looking for. A good developer engineer or operator, it's up to you.