...
⚠️ Update ⚠️
If you are looking for the solution for this dilemma, then check this out: How to become a DevOps Engineer in 2024 with the Dynamic DevOps Roadmap.
...
Can you read it? Probably not, it's already broken!
As of 2023, the DevOps Engineer role remains one
of the top 10 most in-demand jobs across all industries (not just
the tech field!) And that was the case for the last 5 years at least and
is expected to continue for the foreseeable future.
While DevOps is a hot topic all the time, it's in particular hard to
start DevOps engineer as your first job. Many engineers believe that
it's not possible at all to begin as a DevOps professional without first
working as a developer or in operations (I totally disagree with
that!).
Almost every day, I see people struggling on their way to start as
fresh/junior DevOps engineers. They usually follow some roadmap
(typically roadmap.sh/devops).
But still, they cannot land their first job, and sadly, many of them
eventually give up!
This blog post explains why most of roadmaps don't work for DevOps
roles and won't help you start your first job as a DevOps engineer.
Also, the post discusses the best way to start in a DevOps role without
prior work experience. While it might not work for everyone, I can say
that it has been successful with all the people I have mentored in the
last couple of years.
ToC
TL;DR
In 2023 starting a DevOps engineer role is challenging because the
DevOps model has various implementations and patterns. It's even more
complicated (but still possible) if that's your first job without
previous software industry experience. Yet, many learning roadmaps like
roadmap.sh/devops still follow a
linear path (i.e., learn some topic to the end, then move to another,
and so on) which doesn't work well with the DevOps role because a
skilled DevOps engineer is a T-Shaped skilled. Adopting a dynamic MVP
learning roadmap increases your chances of entering the market and
starting your first job as a DevOps engineer without previous software
hands-on experience.
DevOps Topologies
First, let's start with the DevOps model itself. Being a
high-level methodology that can be implemented in various ways makes it
super challenging. Hence, the DevOps engineer role has no unified
definition or standard requirements.
I will not delve into the clichΓ© DevOps is not a role, it is a
culture (because in reality, it doesn't work like that! DevOps
is not just a culture, and it is also a role), but here I want to
emphasize that not all DevOps engineers are the same!
Here I want to mention "DevOps Topologies" which
covers different team structures that implement DevOps. It shows many
bad and good DevOps patterns.
Given that no one-size-fits-all team topology works for every
organization, it's wrong to say it's not possible to start your career
as a DevOps engineer. But there are situations where it's extremely
challenging to do so, such as being the sole DevOps engineer in a team
or even in a company.
So, what can you do to increase your chances of landing your first
job as a DevOps engineer? You should have T-shaped skills and leave no
stone unturned in your learning journey!
T-Shaped Skills
The "T-Shaped skills" helps DevOps engineers to efficivtly handle various challanges.
The T-shaped skills refer to combining broad and deep
skills in a specific field. The horizontal bar of the "T" represents a
broad range of general knowledge and skills across different disciplines
or areas, and the vertical stem of the "T" represents deep expertise in
a specific area. It's simply a mix between being a
specialist and generalist at the same
time!
The T-shaped skills will help you to work in companies with different
DevOps patterns. You can easily transition between different areas in
the DevOps spectrum. Not only that but also it will help you to handle
new challenges effectively. In fact, the best DevOps engineers I have
come across possessed T-shaped skills.
Does it mean there's no I-shaped DevOps engineer who
specializes in certain areas and no little knowledge in other areas? I
would say it's possible, but it may limit the available opportunities
and companies you can work with.
Actually, as you progress in your career, it's better to develop more
specialization (i.e., more vertical stems), and after a couple of years
in the industry, your next step should be Pi-Shaped skills
(search also for M-Shaped and Comb-Shaped
skills, but it's a topic for another post).
To summarize this section, you should aim to gain exposure to various
areas of DevOps practices and technologies without delving too deep into
each one, yet, you need to dive in-depth into some of them (according to
the market or organizations your target). And due to that, your roadmap
shouldn't be linear but follow the MVP-style approach!
MVP Learning Roadmap
You probably heard before about the "Minimum Viable Product" or MVP,
a basic version of a product with enough features to satisfy early users
and gather feedback for further development, which's commonly associated
with Agile methodologies. Interestingly, this approach can also be
applied to learning roadmaps too!
Over the years, I saw people want to start their career as DevOps but
completely lost! That's probably because they try to progress in a
linear fashion. Typically they will follow some roadmap like roadmap.sh/devops and start
learning the topics one by one top down. I.e., they spend a couple of
weeks with Linux, then a month learning programming language, then some
time with the containers, and more time with Kubernetes. And several
months passed, and they found themselves stuck in the middle of the
roadmap but still unable to get any job because many topics were
untouched!
The truth is that the linear vertical learning path DOES NOT
WORK in the DevOps field! You need to follow an MVP-style
learning roadmap where you learn in iterations and touch multiple parts
at the same time (not necessarily equally). Each iteration should focus
on a primary topic while exploring related side topics. So after a
month, you already know about each topic in the roadmap, and after the
2nd month, you have the basics, and after the 3rd month, you have a good
base, and so on.
By adopting an MVP-style learning roadmap, you can
ensure that you cover various aspects of DevOps while continuously
building upon your knowledge. This approach allows for a more
well-rounded understanding and a better chance of landing your first job
as a DevOps engineer.
3 different high-level roadmaps models with different approaches to learning, the first two from the left follow the MVP-style, and the last one is linear.
-
The model on the left iterates horizontally in equal
chunks over each area (good). It's simple and straightforward,
each area (e.g., OS and code, containers and cloud, etc) has a fixed
weight based on importance in the daily work. You don't need to think a
lot about the next step, from the left to the right, you learn about
each area and reach basic knowledge in all of them.
-
The model in the center iterates horizontally in dynamic
chunks over each area (better). It's the same as the previous
one but a bit more advanced, where it needs hands-on knowledge to decide
the right weight for each area (based on many factors like targeted
market or learner skills or background). This approach is more
efficient; however, it requires guidance from an experienced DevOps
engineer (e.g., a mentor or career coach) to define the weights
correctly. It's even more critical when you have some sort of
constraints like time or so (they are usually there in career
shifts).
-
The model on the right iterates vertically over each area
(bad). Don't do that! It has several drawbacks. For example, it
delays your market fit, where in most cases, you cannot work as a DevOps
engineer until you have completed all areas. Additionally, there is no
space to review your learning approaches or holistic feedback in
general. Finally, it's missing the connection between different areas,
at the end of the day at work, you don't use a single skill at a time. I
actually saw many disappointed people in the middle of the roadmap
because they still didn't get the full picture.
So to ensure a more effective learning journey, it's recommended to
adopt an MVP-style learning roadmap that allows for iterative learning
across multiple areas while also considering the relevance and
importance of each area in real-world DevOps work.
The Solution!
⭐ Check out the Dynamic Roadmap content ⭐
A dynamic MVP-style learning roadmap is one of the best ways to start as a DevOps engineer.
Let's put everything together. The Based on my experience mentoring
people in different stages (starting their first job, career shift,
moving to another work style or company), I have found that the approach
of using a dynamic MVP-style roadmap with hands-on projects designed by
an experienced DevOps engineer has been highly successful. That means
each project will cover all DevOps areas used in the job. It's also
essential to understand the targeted market and organizations because,
with different DevOps topologies, the DevOps engineer role requirements
vary.
In conclusion, to start working DevOps engineer, you don't need to
know "everything" about the software development life cycle (SDLC), nor
start as Dev or Ops and then switch to DevOps. In many DevOps
topologies, you can secure your first job as a DevOps engineer if you
invest enough time in learning (not only the technical aspects) and
follow an MVP-style roadmap. Also, undoubtedly having a senior DevOps on
both ends (during the learning and in the company where you apply) will
make your start much easier.