"Knowledge of the latest technologies is not enough" – says MAI graduate about the work of a DevOps engineer
During the last decade IT technologies made a huge breakthrough and are not going to stop, and the modern world requires the introduction of the new accelerated approach to the development process. That is why today the IT market giants want to hire not just a system administrator or a developer, but a DevOps engineer who is able to optimize all processes: starting from design and ending with the support of a working product.
Igor Nikiforov, the graduate of Moscow Aviation Institute, who now leads the team of DevOps engineers in a large company, shared his experience in this area. He talked about the skills necessary for his work, the problems in the DevOps market and the future of this methodology.
Could you please share what was you your IT experience and journey to DevOps?
Since I was a kid, I was fond of computers, so when the time came to choose the university, there were no particular questions. While studying IT at Moscow Aviation Institute, I started C++ programming, completed the internship and developed software for one of the largest research and production associations for about a year.
Then, when I had to move on, and the market did not allow me to choose this direction, I began to develop as an engineer and found job in a large Western company engaged in the production of trucks, where I was responsible for critical business applications. Later I moved to the position of the IT consultant in a Japanese company that produces printing equipment.
It was there that I managed to determine the direction of my career. In the process of work, I got interested in cloud technologies, including AWS, which I am still doing. And along with this, I began to study containerization: first Docker, and then Kubernetes, it was just gaining popularity then. Later, I moved to mobile payment processing company as a Senior DevOps Engineer, where I was responsible for the entire IT infrastructure. Now I work as a lead DevOps engineer at an American IT company developing a cloud platform to help oncologists in the selection of therapy for patients.
In general, in my case, the path turned out to be quite smooth, because DevOps covers the entire development life cycle, and for my more than 10 years of experience in the market, I managed to combine many roles at different times.
What advice would you give to the DevOps newcomers?
The difficulty is that today there is no general profile of a DevOps engineer. Moreover, each company puts its own meaning into this concept, so the requirements for the candidate to meet are different. At the same time, after conducting more than one technical interview, I noticed a problem common for many experts knowledge of the latest technologies does not equal the understanding of their work from the inside.
Therefore, the first thing to start with is learning the basic stack of any engineer: Linux and basic networking skills. Be prepared that IT is changing at incredible speed, which means that if you realize that you have studied something perfectly, then most likely it has already become outdated. DevOps is no exception, so you need to always be aware of the latest trends and technologies, since now there are enough resources to obtain this information. So here comes one more important piece of advice – you need to learn to learn, no matter how trite it may sound.
A DevOps engineer is, first of all, a team player. He must be able to interact with the team, understand the problems that are solved, be able to communicate and sell his ideas for the implementation of changes, and also plan and correctly prioritize tasks. This is why teamwork is essential for a DevOps engineer.
Learn from your mistakes, since there are no people who do not make them, and remember that sometimes you just have to grow up to use any approaches or technologies. After all, at the start, you do not always have the necessary market knowledge, open-mindedness or urgent need.
A startup or a large company: which to choose and why?
It depends on what you want to achieve. If the goal is not only to grow up and make a career, but also to acquire new competencies and knowledge, then startups are the ideal choice. At the same time, you need to understand that this path is fraught with many risks associated with flat structure and vague distribution of responsibility. In addition, no one guarantees that a startup will not be closed in a couple of months, so before accepting an offer to such a company, you need to carefully check its background.
In large companies the situation is quite the opposite. In most cases, the platform architecture is already well established, which means that there will be very little experiments . In addition, due to the bureaucratic nature of the processes that are usually present in such companies, the workload will be much lower.
What are the problems that exist in the DevOps market in particular and in the IT field in general?
The peculiarity of the Russian market is that a company is often looking not for an engineer, but for a set of technologies. At the same time, the stack of technologies used is very wide, which means that the transition from one company to another might be a problem. The truth is that functionality of most of the tools overlap, and an experienced engineer, most likely, will not have much difficulty understanding the analog. It is with this approach that many companies often overlook good engineers, who could master the technology stack used in a short time.
Personnel shortage is the main problem. Now there is a very large shortage of specialists of any level, and I think that it will only continue to grow in the near future.