Who is DevOps Engineer?
This is the person responsible for the DevOps methodology in the team. The methodology itself does not have a single, strictly defined definition. There is no such thing as a DevOps Manifesto that says what it is and what it is not. At the heart of DevOps is supporting an application throughout its lifecycle, from build to ‘launch’, all using a variety of automation methods.
What is the role of DevOps Engineer in the project?
DevOps Engineer in the project plays the role between the administrator and developer. Some of the methods used to write code are used for infrastructure management. The effect of such mixing is, for example, Infrastructure as a Code, the idea according to which all operations on our environments should be written in scripts in the version control system. Thanks to this, in the event of a breakdown, we are able to easily restore a given machine.
Who are you working closely with in the project?
Virtually every person involved in software development. For example, the developer may have a problem with starting the environment with a specific version of the application with specific dependencies. The tester may have trouble recreating the entire context of the affected system, so DevOps Engineer is frequently in touch with everyone in the project.
Which subjects should I focus on in my studies to become a DevOps Engineer in the future?
The most useful knowledge in everyday work was in subjects related to computer networks and internet applications. Knowledge about the operation of operating systems is invaluable. It is crucial to understand how the different systems “underneath” actually work, as this allows for better automation and integration with other services.
My biggest challenges.
My biggest challenge was to change the mentality from a college project to work. In college, it is important to perform the task as well as possible, and at work there is an additional element. The code created by us, for example, will probably be changed later. Taking a moment to consider how the requirements of our work may change can save us a great deal of time in the future.
From Intern to Senior DevOps Engineer – development path.
As with most project roles, you can also start working as a DevOps Engineer without any commercial experience. By such people we mean first of all graduates and students of last years of IT, but also those who intend to change or expand their area of competence. In the DevOps team, we are able to use the skills and qualities of everyone who is focused on development. Do you feel like a good programmer? You will definitely find a place to configure and manage the app’s build cycle. Are you interested in issues related to solution architecture? Welcome to the application integration area. Do you know about networks or system administration? We also have virtual machines on Windows 😉. This can be changed endlessly.
Suppose you have experience in one of the areas listed. So you start working as an intern or apprentice. Your adventure and challenges begin here. Don’t worry, it’s nothing terrible, because before you get the rights to “spoil” the customer’s production environment, we will first tame you with the technologies and tools used, and you will gain practice under the watchful eye of an experienced mentor. Most often it will be a little to the side of the main project to give everyone a nice start. We call such a place in projects a Sandbox. When you start to feel confident in what you are doing, and the tasks set for you will be a bit boring – we invite you to the main project as Junior System Engineer. Sounds good, right? From this point on, you start implementing design requirements based on technical descriptions prepared by more experienced colleagues. First of all, you develop what you are best at so as not to waste your potential. The ability to work in a team, which you will constantly develop, is also important.
The next step in your career is the role of System Engineer. Here, the responsibility is a bit greater, but also the challenges you face are becoming more and more interesting. In addition to constantly developing the system and your skills, you will begin to provide significant support in the solution design process. This is also a good time to broaden your horizons. You will notice that by knowing the project and understanding the relationships between different issues more and more, it becomes easier for you to explore areas outside your mainstream of interests.
System Engineer is not the end of development in the area of DevOps. For an experienced DevOps, the automation of defined processes or the management of a running system is no longer a challenge. Therefore, such a person is already involved in developing the architecture of the solution in terms of customer requirements, system security and is the author of many technical solutions, becoming a Senior System Engineer. She is responsible for delivering subsequent versions of the system on time, which means partial management of teammates’ work and direct communication with the client.
The role of DevOps in the project (at every level of experience) is therefore extremely broad and gives a lot of opportunities for development and specialization, making System Engineer one of the most versatile people involved in an IT project.
Pros and cons of working in this position.
- DevOps is the most interdisciplinary role in the project I know. It allows you to take part in the development of each element of the IT system. Application code, databases or servers along with operating systems is our everyday life.
- We take part in every phase of the software life cycle. We start by participating in the definition of requirements. Then we participate in its production and testing, and then we make sure that it is installed and works properly, sometimes acting as a support line.
- Growing requirements on the market result in the development of tools and technologies, and the DevOps idea is one of the most dynamic areas in the IT world.
- Due to a wide range of duties, it is not always possible to match the level of skills of people specializing in a narrow area, so DevOps often has to rely on the knowledge of programmers or database specialists. But what are your teammates for?
- Sometimes the DevOps team also acts as a support for a working system, which may not suit everyone. However, this is another specialization that creates new development opportunities.
If I could turn back time, would I still become DevOps?
Of course. Summarizing the last years of my professional career, I can certainly say that the decision to choose this direction was one of the most successful. My development as a DevOps Engineer can be easily described in the words of one of the advertisements of the restaurant chain:
“… I just dropped by McDonald’s for a moment. A moment later I stayed longer. Well, now they are talking to me, Mr. Manager. “
I started my career classically, from programming. When I was already experienced in what I do and a bit bored with writing another CRUD, there was an opportunity to develop competences within the DevOps area, while remaining in the same project – perfect layout. Initially, it was only meant to be for a while to support the current team. After a few months, it turned out that I was discovering completely new issues all the time, and I started to perceive the project from a completely different perspective, much wider. So I stayed longer. With time, I gained experience and confidence in what I do, and good contact with the client was essential in achieving the project goals. For this reason, I was offered to lead a small team and the role of Senior System Engineer. This meant not only responsibility for the architecture and execution of parts of the project, but also managing the work of the team. From then on, my colleagues started jokingly calling me “The Manager”. It’s the last step in advertising, but I want more, so I’m working hard on it all the time.