paint-brush
Devops Self-Education Roadmap: How to Make It Workby@fmira21
7,795 reads
7,795 reads

Devops Self-Education Roadmap: How to Make It Work

by Pavel NazarychevJune 23rd, 2023
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

Pavel is a Middle DevOps engineer in a London-based [FinTech] company. He is a former translator and started his career in IT about two years ago. He has invested and still invest much time and effort into self-education to get more career opportunities and keep up with the trends of his domain.
featured image - Devops Self-Education Roadmap: How to Make It Work
Pavel Nazarychev HackerNoon profile picture

Since I love discussing education and self-education, there could be no other topic for my first post on Hackernoon!


Let me introduce myself. I am Pavel, a Middle DevOps engineer in a London-based FinTech company. I am a former translator and started my career in IT about two years ago by switching to a technical writer. I have invested and still invest much time and effort into self-education to get more career opportunities and keep up with the trends of my domain. I am pretty sure that my path may be interesting: if so, just react somehow to this post to let me know.


Today, I would like to discuss one of the best self-education roadmaps for SRE and DevOps engineers: you can find it here.


It highlights almost everything you need to start a successful career - but looks long and quite scary. So I decided to enhance it with my own educational experience. As usual, everything going below is my humble opinion. Hope it helps!

Before we start…

There is obviously no magic pill to get into any profession. No course, diploma, or guide will guarantee that you will become a DevOps engineer. But any relevant information will undoubtedly get you closer to it. Moreover, if this information is well-structured and carefully picked by you, it will speed up the process. 90% of your success is you: your ability to find and study the necessary sources, discipline and readiness to spend days and nights learning things that might be useless at the first glance.


It's also a plus if, at any point along the way, you can answer for yourself the question, “Why do I need all this?” Then everything will be great.

Let it be… A bit less linear!

Okay, that was the motivation paragraph, let’s get back to the roadmap.


One of things I really don’t like in education is linearity.


For me, it just means that I have to invest a definite period of my time into one and only topic to master, without any opportunity to switch. Nevertheless, switching is critical, especially within the self-education process. So you allow your brain to process collected information while obtaining another portion - and this will make your study plan a bit more effective.


So let’s break this roadmap into two parallel tracks!


Our first stop matches with the plan: Learn a Programming Language. But let’s be more precise and take any language marked with a violet checkmark. I have absolutely nothing against Rust, Ruby or JS, just that they will obviously be harder to learn from scratch to solve specific infrastructure problems. The best option would be Python, because it will allow you to easily automate the absolute majority of routine tasks, and later facilitate the modification and maintenance of scripts. Moreover, there is no need to compile anything, which is also a plus. I personally prefer Go for several reasons related to performance, but if I need to roll out a solution quickly and yesterday, I choose Python.


In a parallel, let’s take Understand Different OS Concepts and combine this topic with Linux and Learn to Live in Terminal. Don’t be afraid of a ton of sub-topics in the roadmap: all terminal built-ins and auxiliary programmes can be learnt easily backed up by basics of Linux administration.

Networking is critical - even if you are on your own

By the time you pass it through to the Network Tools topic, you probably will be a bit tired of programming.


Honestly, you can study peculiarities of a chosen programming language forever, so let’s switch to Networking, Security and Protocols. Networks is a critical topic, so be vigilant and consistent.


Here, take all violet checkmarks, plus DNS and OSI model. But this will not be enough, believe me: so it’s time to look for additional materials. If you are English-speaking, I would recommend the Practical Networking channel to make your knowledge more profound.


For Russian-speaking readers (or if you are not afraid of auto-generated subtitles), it may also be useful to take the Computer Networks MFTI course. If you have other interesting variants, please write them in comments.


Deep understanding of networks will allow you to know more about cloud infrastructures.

No time for questions. Get into the container!

I think this stage will be the first “plateau” for you: there will be even more fun afterwards.

By this time, you're supposed to have a knack for OS and networks, so the What is and How to Setup a...? topic will come in handy. I recommend taking Containers along with it, and getting into orchestration through Docker-Compose and Docker Swarm as part of that topic. Hold off on containerisation, it’s critical.


And, complete this short stage with Container Orchestration and Configuration Management. Ansible can be your main tool when it comes to managing software and its configurations on dozens of machines. And above all, it will allow you to automate the routine tasks to install and upgrade it. I also recommend exploring Ansible Galaxy: as a rule, for the most popular software, high-quality deployment roles have already been written for a long time.

Citius, altius, fortius

Then, pass to Cloud Providers. There are a lot of courses, paid and free - just explore YouTube. In parallel with this topic, take Infrastructure Provisioning and look closely at Terraform. TF, like Ansible, will allow you to automate management - not configuration, but infrastructure.


Since Cloud Providers will be a long topic, in parallel with this one, we spin up and take CI/CD Tools and Learn How To Monitor Software and Infrastructure. Again, the purple checkmarks are enough for a general understanding. But I think by this point you'll have already chosen some stack and will be poking around in parallel.


As you can see, we have approached the finish line. Keep learning, learn the patterns and innovations of cloud providers - just like programming languages, it’s a really long and profound topic.


That’s it, thank you for reading! I will be glad to see your comments!