What do you need to know to become a DevOps Engineer?
How do you get one of the most in-demand positions in IT? Where do you start learning, and what key knowledge and skills do DevOps need? Victor Vedmich, AWS Senior Developer Advocate, answered these questions for you.
Who is a DevOps Engineer
— DevOps is a methodology and approach to software development that combines development and operations. At this point in time, the impact of marketing and IT business development is such that DevOps specialists are basically system engineers. DevOps specialists do not write code that is part of the application’s business logic, but they write a lot of other things — helper code.
A product in IT does not consist only of business logic. For an application to work, it is necessary to prepare the infrastructure for it by writing code in advance that will deploy and configure the infrastructure. Additionally, you need to connect and configure monitoring. Don't forget that developers deliver new features quite quickly, so an optimized CI/CD process is also needed. That's what DevOps engineers do.
Responsibilities of a DevOps Engineer
— When the simplest application is written, it is possible that DevOps may not be needed. But when we go to scale, we need good accessibility. When the number of users is not two people, but thousands or millions of them, then completely different questions arise. You need to know, for example, where the application will be located, and how we will ensure the application’s fault tolerance, its scalability, etc.
To break down the responsibilities of a DevOps Engineer, let’s look at a very simple example. You have GitHub, where you can throw a project, and the magic of building the final product takes place — an artifact that will need to be deployed (transferred to the server). But GitHub has GitHub Actions — this is also a small piece of code that needs to be written. Then an artifact appears — an executable file. It's like an application on a phone — an icon, under which is an assembled file with a lot of dependencies, and so on. In our world, these are mostly docker containers. The executable file needs to be launched somewhere. Once the executable file is launched, users from different parts of the world need to reach the application. The application needs to open as quickly as possible for every user. The first step is to write GitHub pipelines and actions to build this container, and then deliver it somewhere. In most cases, the delivery location is in the clouds or on client servers. In fact, DevOps also write code, but very specific kinds of code, most often things such as YAML or specific DSLs.
After the application has started, you need to understand how it works, monitor it, and maintain its stability. DevOps provide maximum application stability. When you have accomplished maximum stability, that's when the final product is achieved, and is ready for users.
What should DevOps know: key knowledge and skills
Soft skills for DevOps engineer
— First of all, a DevOps engineer must be able to talk with and listen to other people and be able to speak the language that they speak. There are many sub-teams with different functions: business analysts, frontend developers, backend developers, those who are responsible for testing, etc. Depending on the size of the team and what kind of personnel is on that team, DevOps engineers need to learn how to speak all of the relevant languages. Superficially, it would seem that they speak the same language, perhaps Russian or English, in which we conduct conversations. In fact, “speaking the same language” means something very different when we refer to engaging with different specialists. Without speaking their specialist language, we do not understand them, and we do not understand their problems or pains. Perhaps some other important things are incomprehensible to us as well that, for the specialists, are standard and necessary background.
For example, when we speak with a student who studies at the Faculty of Mathematics, knowledge of the principles of mathematics is a default for them. They think that everyone knows how statistical analysis, regression, and other concepts routine to them work. There's a set of standard definitions and concepts that everyone seems to know. When we talk with different functional teams, we kind of speak the same language, but we have completely different conceptual understanding and background. From this follows the main soft skill — the ability to talk with different teams, with different functionalities, and understand them all.
— Stress resistance must be constantly trained. DevOps engineers often work with, or as close to, production as possible. Due to the high level of responsibility, they are under a lot of pressure. Any misstep can lead to users being unable to access the site. Or you may be dealing with a million-dollar business, and every minute that a problem persists, a large amount of money is lost. It is important to retain your adrenaline, but train your stress resistance. Too much adrenaline in your system can degrade your performance. But when there is too little adrenaline, your system may not be adequately activated to solve a problem as quickly as possible.
Ability to learn
— This skill is important for all IT professionals. If we talk about the T-shape model, then the top bar represents the horizon of your knowledge, and the descending bar represents its depth. For DevOps specialists, the horizontal bar is very important because there is a lot to know. A DevOps engineer needs to study hard, absorb information efficiently, and identify and extract what is important and necessary for everyday work.
How to become a DevOps from scratch: 5 essential steps for beginners
- Basics of programming. You need to learn how to write simple code — tasks for some cycles, some conditions, a script that has a simple understandable logic. I would recommend Python.
- Networks. It doesn't matter where the infrastructure is being built — in the cloud or in local data centers — you still need to understand the network and how it functions. You do not need to become a certified network engineer, but you do need to understand what networks are, how they work, how routing is built, how networks are cut, etc.
- Clouds. Clouds are the standard these days. Intro certification will allow you to perform an overview of cloud services.
- Operating systems. Maybe not too much depth is required, but basic knowledge is needed.
- Kubernetes. Many projects that work with containers or microservice applications running in containers will use Kubernetes.
— If a person makes a training plan, I would advise them to take a course on Computer Science as a zero step, and then follow the steps described above.
Do DevOps engineers have future?
— DevOps engineers are in high demand. I think that they will be in demand for quite a long time. At the moment, I see a trend in some companies to rename DevOps to SRE so that people work more with production. I would say that since the horizontal bar in the T-shape model is very wide, there are still not enough DevOps engineers in the market to satisfy all the demand. The need remains quite high due to the high entry threshold and the ever-growing amount of information and new tools that need to be mastered at a fairly proficient level.
Tips for beginning DevOps engineers
— To become a professional in any field, you need to study a lot. DevOps is no exception. Many large companies have their own DevOps courses, followed by internships. It's worth looking at them.
For books, I would recommend: The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win, by Gene Kim, Kevin Beher and George Spafford and The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations, by Gene Kim, Jez Humble, Patrick Debois, & John Willis.
There is also a DevOpsMinsk Telegram channel where people answer questions. And I run the DevOps Kitchen Talks YouTube channel, where we cover DevOps news, articles, releases, and small tutorials.
You can learn more about Data Science in the IT Beard Shorts issue on the Anywhere Club YouTube channel.
Want to discuss DevOps?
- ChatGPT will not replace a human: an expert opinion on IT hypeWork27 February 2023
- How can a programmer without work experience find a jobWork01 February 2023
- How do you increase productivityLearn02 March 2023
- How to learn EnglishLearn04 August 2022
- How to become a Backend DeveloperLearn31 January 2023
- How to give and receive feedback correctlyWork17 February 2023
- 5 qualities of an ideal Software EngineerLearn17 February 2023
- How do you choose the best IT profession for you?Work17 March 2023
- IT language of Data AnalystsLearn06 February 2023
- The basic rules of the interviewWork08 February 2023
- Skills of a Community ManagerWork06 March 2023
- What does a cosmetologist do in ITWork10 March 2023
- How to distribute an iOS App: 4 casesLearn15 February 2023
- What you need to know to relocate to SerbiaRelocate26 May 2022
- How to find your own direction for development in ITWork22 March 2023
- 30+ useful books for designers in ITLearn20 March 2023
- 6 stereotypes about life in HungaryRelocate30 June 2022
- From security guard to DevOpsWork13 March 2023
- How to compose a resumeWork16 August 2022
- How to look for a job in 2023Work13 February 2023
- The easiest programming languages to learnLearn07 September 2022
- "By the time they come back with an offer, you can give birth"Work27 January 2023
- What is bootcamp: how does it work and for whom is it suitableWork30 January 2023
- Tips for relocating to SerbiaRelocate02 June 2022
- Soft skills are 85% of a person’s success in a professionWork29 December 2022
- IT language of the TesterLearn09 January 2023
- Tips from a career consultantWork20 January 2023
- How to become a Tester in three weeksWork19 May 2022
- How to start an IT career in testingWork01 June 2022
- English through music: learn and have funLearn04 November 2022
- How to ask for a raise or promotionWork09 December 2022
- What is mentoring in IT and how does it help you master the profession?Learn27 December 2022
- Where is Python used and why should you study it in 2022Learn13 July 2022
- How does a junior get their first job in Singapore?Work22 November 2022
- How do you draw positive attention to yourself?Work23 December 2022
- The incredible success story of a switcher in ITWork17 January 2023
- IT language of the Business AnalystLearn23 January 2023
- IT Beard talks about Anywhere Club IT communityCommunity19 May 2022
- To learn how to write code, you have to write codeWork24 May 2022
- Project Manager responsibilities: tasks and skills vs realityWork31 October 2022
- Who can you become in IT?Work13 December 2022
- Why do job applicants lie in interviewsWork12 January 2023
- Living in Serbia — pros and consRelocate16 June 2022
- Relocation to GeorgiaRelocate20 September 2022
- 7 soft skills for developersWork27 September 2022
- What should a beginner Automation QA Engineer learnLearn29 September 2022
- Best countries to relocate for IT specialistsRelocate06 June 2022
- What are some of the unusual jobs in ITWork21 June 2022
- What is Data ScienceWork09 August 2022
- What do you need to know about the south of SpainRelocate22 August 2022
- Relocation to TurkeyRelocate31 August 2022
- How to become an HR managerWork05 September 2022
- How to manage interview anxietyWork12 October 2022
- Life in Italy: what you need to prepareRelocate19 October 2022
- What to read and watch for a novice Java EngineerLearn19 May 2022
- Relocation is like the first child's birthRelocate23 May 2022
- Home for every IT professional in the worldCommunity19 May 2022
- How to avoid burnout and stay productive in 2022Work06 July 2022
- From travel agent to a Tester in ITWork20 July 2022
- The real story of a radical change in professionWork18 July 2022
- Why time management doesn't workLearn19 September 2022
- “Forget about impostor syndrome”Community18 October 2022
- 3 facilitation case studies: better and worse scenariosWork31 October 2022
- What does a botanist do in IT?Work04 November 2022
- Effectively launching as a junior: an expert's viewWork23 November 2022
- 3 ways to find your dream jobWork24 November 2022
- Sent out 500 resumes and moved to UzbekistanWork28 November 2022
- Trends in IT company eventsCommunity30 November 2022
- "Where else but Spain?" — the experience of movingRelocate06 December 2022
- Teamwork: 5 factors of effective interactionWork03 January 2023
- 10 things beginner startups don't need to doLearn05 January 2023
- 5 myths about IT: true or falseWork19 May 2022
- 5 common questions about relocationRelocate19 May 2022
- What is a vocation, and does it exist in 2022Work20 June 2022
- An 8-month journey to Front-EndWork04 July 2022
- Life hacks and impressions of moving to PolandRelocate28 July 2022
- What impresses in MontenegroRelocate18 August 2022
- Doctor in ITWork24 August 2022
- Pros and cons of life in MontenegroRelocate08 September 2022
- Lithuania: features and life hacksRelocate10 October 2022
- 10 ways to stay on top of IT trendsLearn25 October 2022
- Business Analyst in IT: what you need to know and doLearn14 November 2022
- How to effectively give feedback?Work18 November 2022
- How to learn Ruby on your ownLearn25 November 2022
- Juniors are needed for companiesWork22 December 2022
- The reality and myths of life in TurkeyRelocate19 May 2022
- Android: what should beginners and professionals doLearn09 June 2022
- How do expatriates live in UzbekistanRelocate15 June 2022
- How to support someone who is stressedCommunity23 June 2022
- The psychological trauma of emigrantsRelocate28 June 2022
- The joys and challenges of relocation to HungaryRelocate11 July 2022
- Top 5 startup books to read in 2022Learn27 July 2022
- Family traumas in emigrationRelocate03 August 2022
- The Brain-Up project is looking for volunteersVolunteer11 August 2022
- Where to make friends with blockchainLearn25 August 2022
- Top iOS Developer resourcesLearn12 September 2022
- Features of life in GermanyRelocate05 October 2022
- Facilitation: how to conduct it effectivelyWork17 October 2022
- 8 reasons to move to KrakowRelocate26 October 2022
- What to do to get into IT todayWork12 December 2022
- Mass layoffs in IT? An experienced financial advisor shares his thoughtsWork27 March 2023