0% found this document useful (0 votes)
8 views32 pages

Devopsroadmapupdated

The document outlines a comprehensive roadmap for breaking into the DevOps field, validated by industry experts from major tech companies. It details various levels of learning, from fundamentals like Linux and Git to advanced topics such as cloud-native networking and chaos engineering, along with insights on certifications and job preparation. The author shares personal experiences and testimonials to encourage aspiring DevOps professionals to follow this structured pathway for success in the tech industry.

Uploaded by

silentghost119
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views32 pages

Devopsroadmapupdated

The document outlines a comprehensive roadmap for breaking into the DevOps field, validated by industry experts from major tech companies. It details various levels of learning, from fundamentals like Linux and Git to advanced topics such as cloud-native networking and chaos engineering, along with insights on certifications and job preparation. The author shares personal experiences and testimonials to encourage aspiring DevOps professionals to follow this structured pathway for success in the tech industry.

Uploaded by

silentghost119
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

ULTIMATE CODERCO DEVOPS

ROADMAP

This pathway has been reviewed and backed by engineers at Google,


AWS, Microsoft, Apple, and more!

by [Link]
Table of content

Chapter 1: Introduction & My Journey


Chapter 2: Why am I writing this?
Chapter 3: Testimonials
Chapter 4: What is DevOps/Platform Engineering?
Chapter 5: How much do DevOps/SRE/Platform Engineers earn?
Chapter 6: Pre-requisites & clarifications

Chapter 7: The Pathway


◦ Level 1 (Fundamentals) - Cloud I(AWS or Azure), Linux, Git,Networking
◦ Level 2 (Infrastructure & Containers) - Cloud II (AWS or Azure),
Terraform, CICD, Docker, Kubernetes
◦ Level 3 (Scripting & Coding) - Golang/Python
◦ Level 4 (Monitoring & Infra Management) - Monitoring, Helm, Ansible,SRE
◦ Level 5 (Advanced DevOps) - Testing infrastructure, Cloud Native
CNC F, Security, Serverless, GitOps, Cloud-native networking,
Advanced monitoring, Chaos Engineering, and System design.

Chapter 8: Certifications
◦ Different types of certs (hands-on or MCQ based)
◦ Recommended certs (Cloud, K8s, Linux and more)
◦ How to study for certifications

Chapter 9: Preparing for your first role


◦ Preparing your CV/resume
◦ Hands-on projects
◦ Networking & Socials (LinkedIn & Twitter)
◦ Your GitHub
◦ Practicing interview questions & mock interviews
◦ Job applications

Appendix (Learning resources)


FAQ
Pathway communities and reviewers
What next?
Chapter 1
Introduction & My Journey
My name is Mohamed Abukar, and I am a Principal DevOps Engineer.
In this guide,

I aim to address, in-depth, a common question: “How can I break into the
booming field of DevOps if I don’t have experience or a degree?”

With only a Mechanical Engineering degree, I have worked as a Senior


Platform/DevOps Engineer at reputable companies like KPMG, Capgemini, and
Trainline and many more leading companies. And so, I want to share my advice
on how you can break into (and succeed in) this fast-paced industry.

First and foremost, I am grateful to Allah for providing me with this opportunity
to share my knowledge and experiences for the benefit of others.

As the saying goes:

“It is said that a wise person learns from his mistakes. A wiser person learns
from others’ mistakes. But the wisest person of all learns from others’
successes.”
Chapter 2
Why am I writing this?
Many individuals, from many different backgrounds, have asked me how
I got into DevOps. Inspired by their curiosity and the desire to help others, I
decided to write this article as a resource for anyone looking to embark on a
journey in the tech industry. For many, the idea of entering this field can be
daunting, considering the vast amount of knowledge to acquire. However, I
assure you that with focused dedication over 3-6 months, you can land a solid
entry-level, junior, or graduate position as a DevOps, Cloud, or Infrastructure
Engineer.

To clarify, there are various methods to pursue a tech role. Here, I will be
sharing my experience and providing one of the fastest and most effective
pathways to secure a good DevOps role. This roadmap has been tried and
tested by many individuals, and I have included testimonials from those who
have successfully followed this approach.

While boot camps, degree programs, internships, self-study, and other methods
are available, this pathway combines the easiest and most well-structured
approach to get you started.

By following this pathway, you will not only gain technical knowledge but also
develop essential qualities such as:

▪ Self-motivation
▪ Discipline
▪ Time management
▪ Curiosity
▪ Eagerness to learn
▪ Persistence and resilience
▪ Adaptability and flexibility

Remember, many others have successfully navigated this path before you, so
do not doubt yourself or give up too early. Keep pushing forward, and if you
have any questions, feel free to reach out!
Chapter 3
Testimonials
I am incredibly grateful to the individuals who generously shared their testimo-
nials about their experiences with the DevOps pathway.

I would like to extend a special thanks to Abdurahman Abukar, Faisal Momoni-


at and Yaser Bensiali for sharing their success stories and highlighting the
value this pathway has brought to their careers. Your feedback and support are
truly invaluable, and I’m thrilled to have played a part in your journey towards
professional growth and achievement.

DevOps Engineer @ Credera, Abdurahman Abukar “My brother”


[Link]
“The DevOps pathway was a game-changer for me! Because of it, I managed to
land my first role as a Junior DevOps Engineer. From diving into Linux
fundamentals and Git to exploring networking, Terraform, Docker, Kuberne-
tes, GitHub Actions, Helm, Python, and Ansible, I've gained the knowledge and
certifications that have boosted my confidence and opened doors to
amazing opportunities. I can't thank this pathway enough for the invaluable
support and guidance it has provided me on my journey towards success in the
DevOps world. Special thanks to Mohamed!

Cloud Data Engineer @ Slalom, Faisal Momoniat


[Link]
“As a data professional who has set his career pathway more on the techni- cal
side, guides like this are crucial for additional mandatory learning. Data
engineering isn't merely tables and SQL. Data engineers need to have an
understanding of infrastructure, DevOps and the cloud to develop and deploy
solutions. I believe this guide will aid data engineers in de-risking their ca-
reers“

Systems Engineer @ AWS, Yaser Bensiali


[Link]
“As someone without a background in tech whose career changed into
DevOps, this pathway has been fundamental in both securing my first en- try-
level role, and upskilling to where I'm at today. There's a myriad of re-
sources online but finding a clear, well-written pathway has made the whole
process much more efficient and allowed me to invest my time more wisely, as
well as identify areas where I can gain a competitive edge in my work.
Especially the more advanced topics like CI/CD, monitoring and SRE. Mas-
sive thanks to Mohamed for this excellent guide and all his hard work“
Chapter 4
What is DevOps/Platform Engineering?
You can google this word for days and try to understand the meaning of this
commonly used buzzword, but I will save you the research time (but by all
means feel free to read up on it):

e De
e an as
le pl
od

Re

oy

on
e

st
M

il d
at
u

Te to
pe

“DevOps is a software development approach that combines development


(Dev) and operations (Ops) teams to streamline the software delivery
process. It promotes collaboration, communication, and automation be-
tween these traditionally separate teams.”
DevOps is not a specific job title or role, but rather a set of practices and
principles that can be applied across a variety of roles in software
development and IT operations. Anyone involved in the software development
and delivery process can adopt a DevOps mindset and apply DevOps practices
in their work, including developers, testers, operations engineers, product
managers, and others.
Chapter 4
What does this mean?
Let’s say, you have developers. Their job is to create features. Then you have
IT operations, and their job is to deploy those features. (This is an
oversimplification, but bear with me) The potential disconnect between these
two roles arises due to their distinct priorities.

Developers focus on delivering new features to meet user demands and stay
ahead in the competitive market. They may not always consider the potential
impact on the infrastructure or the operational challenges that could arise from
frequent changes.

On the other hand, the operations/infrastructure team aims to maintain


stability, scalability, and reliability. They tend to be cautious about
implementing changes that might disrupt the existing system.

Ultimately, finding a balance between creating new features and maintaining


operational stability is essential for the success of any software project. When
developers and operations/infrastructure teams work together harmoniously,
understanding and respecting each other's objectives, they can create a more
efficient and reliable software delivery process.

This is where DevOps came into play.

DevOps aims to meld development and operation — Dev + Ops = DevOps.

By adopting DevOps practices, organisations can achieve faster and more


frequent software releases, improved quality, and increased customer
satisfaction. DevOps emphasises automation, infrastructure as code, and a
focus on constant learning and improvement.

However, some will argue and say that “DevOps Engineer” is not a thing and
say that “DevOps is a way of working”. Technically, they are correct but the
term has developed and is now often used freely by many large organisations.

Other role titles related to DevOps are Platform Engineer, Infrastructure


Engineer, Cloud Engineer and Systems Engineer. Regardless of all this, the
opportunities in this field are abundant, with recruiters reaching out daily.

Then you have Platform Engineering and SRE

Site Reliability Engineering (SRE) is a software engineering approach that


ensures systems are reliable and perform well at scale. It combines software
engineering and operations expertise to maintain system reliability. Platform
engineering, on the other hand, focuses on building and managing the
Chapter 4
foundational infrastructure and tools that support software development and
operations. SRE emphasises system reliability, while platform engineering
covers the broader aspects of building and maintaining the development
platform. Both aim to create robust and scalable systems, with SRE focusing on
operational aspects and platform engineering on the overall development
ecosystem.
Chapter 5
How much do DevOps Engineers earn?

While not everyone is solely motivated by salary, job stability, and long-term
career progression can be strong driving factors. Amid the pandemic, many
people experienced job scarcity, increased competition, and the realisation
that holding a degree alone might not be enough to stand out in the crowd.
Discovering the field of DevOps and its potential opened doors to a better
livelihood for many individuals. The attractive salaries associated with this
field serve as an additional source of motivation.

Now let's move on to the exciting part!

Disclaimer: As I am based in London, the salaries I mention will be based on


this location. The US, the rest of Europe, and other parts of the world will vary,
so do your research.

Here are the approximate salary ranges for DevOps Engineers in the UK:

• Entry-level/Junior DevOps Engineer:


Salary Range: £35,000 to £50,000 per year

• Mid-level DevOps Engineer:


Salary Range: £50,000 to £80,000 per year

• Senior DevOps Engineer:


Salary Range: £80,000 to £110,000 per year

• Principal Engineers/Engineering Managers


Salary Range: £110,000+
Chapter 5
Please note that these figures are rough estimates and can fluctuate over
time. I recommend checking platforms like Glassdoor and consulting with
recruiters who specialize in the tech industry to get more accurate and
up-to-date salary information.

While salary is not the sole measure of success, it is an aspect worth consid-
ering in your career journey. Remember, the salary figures mentioned here are
intended to provide a general idea and should not be considered definitive or
current. Focus on your passion, continuous learning, and honing your skills,
and the financial rewards will follow.

Now, let's delve into the upcoming chapters, where we will explore practical
steps and valuable insights to kick-start your career in DevOps!
Chapter 6
Prerequisites & clarifications
Now, let's dive straight into the roadmap to follow! But before we begin, there
are a few important prerequisites and clarifications to keep in mind:

Important pre-requisite

It is recommended to use a Mac or a Linux machine. If that is not possible, a


Windows machine will also suffice. Aim for a machine that gets the job done
without going overboard. An i5 machine for Windows or Mac is sufficient. Avoid
overspending on this equipment, as when you start your first job, your
workplace will provide you with a suitable laptop

In what order should I learn the topics listed in the pathway?

It is best to follow the order of levels, starting from Level 1 and progressing
upwards. Level 1 covers the most fundamental concepts, which is essential
knowledge for every Engineer. Not familiarising yourself with these concepts
will make it challenging to perform your daily DevOps work effectively.

When do I apply for jobs?

Once you have completed Levels 1 and 2, you can confidently start applying
for your first role. After completing these two levels, engage in practical
projects and proceed to Level 5.

What are the rest of the levels for?

Levels 3, 4, and 5 are included for those who wish to pursue additional
learning and expand their skills after securing their first job. However, there is no
pressure to complete Levels 3-5 before landing your first role. Levels 1 and 2
provide a solid foundation to get started.
Chapter 7
The Pathway
Level 1 (Fundamentals)

Linux
- Basics of Linux Command Line
- Navigating directories & manipulation (ls, cd, mv, cp, mkdir, touch, echo)
- Process monitoring (ps, top, lsof)
- Package management (apt, yum, dnf)
- User and group management (useradd, usermod)
- User/group permissions (chmod, chown, chgrp)
- Text editors: Vim, nano (move around vim and how to exit vim)
- Networking & Troubleshooting tools (netstat, ps aux, ping, dig, traceroute,
nslookup)
- Text processing (grep, awk, sed)
- Setup your own local Linux VM using VirtualBox/Vagrant or in the cloud

Git
- Basics (cloning, ssh setups etc)
- Commits
- Branching
- Merging
- Pull/Merge Requests
- Resolving merge conflicts
- Rebasing

Networking
- OSI Model (Layers 1 to 7)
- IP/TCP/UDP
- DNS
- Firewalls (stateless/stateful)
- CIDR/Subnetting
- HTTP/HTTPS/SSL/TTL
- Forward vs Reverse Proxy (Load Balancers)

Cloud I: AWS or Azure


- IaaS/PaaS/SaaS (Fundamentals)
- Cloud vs On-prem (Fundamentals)
- Cloud benefits, security etc (Fundamentals)
- Shared responsibility model (Fundamentals)
- Cloud definitions (scalability, availability, elasticity, virtualisation) (Funda
mentals)
- Networking (AWS VPC, Azure VN & more) (Fundamentals)
- Compute services (AWS EC2/Azure VMs etc) (Fundamentals)
Chapter 7

- Storage services (AWS EFS/EBS/S3, Azure Files/Azure Blobs) (Funda


mentals)
- Database services (AWS RDS/Azure SQL, AWS Aurora/Azure SQL Server
less, AWS DynamoDB/Azure Cosmos)
- Security (IAM, Secrets Manager etc) (Fundamentals)

At this level, you now have a good understanding of the fundamentals. You are
now ready to progress to Level 2!!

Level 2 (Infrastructure & Containers)

Cloud II: AWS or Azure


- Containers (AWS ECS/EKS, Azure AKS)
- CICD (AWS Code Deploy/Commit/Pipeline/Build, Azure DevOps)
- Monitoring (AWS CloudWatch, CloudTrail, Azure Monitor)
- IaC (AWS CloudFormation, ARM, Bicep) Serverless (AWS Lambda, Azure
Functions)
- IoT/ML

Terraform
- IaC basics
- Terraform state
- Terraform backend & state locking
- Vars and modules Using TF with common providers
- Terraform commands (tf init, plan, apply, fmt, validate, destroy, import, re
fresh)
- Terraform workflow
- Create your own Terraform module and use it in different environments
(prod, staging, dev etc) - Project

CI/CD
- What is CICD
- How CICD fits into DevOps
- Using CICD to automate processes
- Writing pipeline YAML/Jenkins files etc
- Using CICD for building, testing and deploying apps
- GitHub Actions
- GitLab CICD
Chapter 7
Docker
- What are containers. Containers vs VMs.
- Container Images
- Writing Dockerfiles (FROM, COPY, RUN, ADD, CMD)
- Container volumes
- Docker commands (docker build/run/tag/push/pull/inspect/ps etc)
- Docker compose (multiple containers)
- Advanced Docker (security in Dockerfiles - image size, user perms, fewer
layers etc)

Kubernetes
- What is K8s
- How is it different to Containers
- Understand K8s architecture and components (kube-api, scheduler,
nodes, etcd etc)
- Understanding K8s resources (pods, deployments, services, network
policy, rbac, namespaces, PVCs, ingress etc)
- Scaling, rolling updates
- Canary & Blue-Green deployments
- The CKA/CKAD exam (A big bonus!)
- K8s in the Cloud (EKS/AKS/GKE)

After this stage, I would highly recommend you prepare your CV, set up a
LinkedIn profile, and GitHub profile filled with projects, apply for jobs, and
practice mock interviews.

Level 3 (Scripting & Coding)

Learn 1 language. I would recommend you start with Python. Once you get
good at Python, look into Golang.

Scripting & Coding (Either Golang or Python)


- Programming basics
- Data types
- Variables
- Control flow (if/else, loops)
- Functions
- Common libraries
- Hands-on projects
- Contribute to open-source projects written in the language you are learn
ing.
Chapter
7
Level 4 (Monitoring & Infra Management)

Monitoring (Prometheus, ELK, New Relic, DataDog)


- How monitoring connects to all these
- When to use it
- Setting up alerts and monitoring initially
- Pager Duty and alarms
- Responding to alerts and alarms
- On-call and how it works
- Setting up ELK (ElasticSearch, Logstash, Kibana), New Relic and Data
Dog clusters from scratch
- Monitoring ELK, New Relic graphs and data.
- Using Splunk

Helm
- What is Helm. How does it link to K8s.
- Managing deployments and K8s resources using Helm
- Common helm commands (helm install, upgrade, rollback, repo add/up
date/list, list, env, plugin, create, lint, pull)
- Creating Helm charts from scratch and customising them
- Look into Kustomize (alternative for Helm)

Ansible
- What is Config management? Different types? How is it different to Terra
form/IaC?
- Creating playbooks
- Creating roles
- Using Ansible galaxy
- Using environment variables
- Automating server update/config with Ansible
- Integration with other providers
- Ansible testing (molecule framework) - Advanced

SRE
- SLI/SLO/SLAs
- Post-mortems and documentation
- Incident response & incident management
- Runbooks
- Reducing TOIL
- Error budgets, service monitoring and alerting
- Chaos Engineering
- SRE at Google

At this point, I recommend building 1-2 projects by yourself to apply what


you’ve learned in Level 4 and previous levels.
Chapter 7
Level 5 (Advanced DevOps)

Testing infrastructure & integrations


- Terratest (Testing Terraform modules)
- Terragrunt (Wrapper, Dependency Management & Reusability))
- Ansible molecule testing framework (Testing Ansible roles)

Learn more about Cloud Native Technologies


- Look into CNCF projects (graduated + incubating)
- Istio, Linkerd
- K8s operators
- Calico, Cilium

Security
- Automated security testing
- Vulnerability testing
- Static scanning (Checkov, Trivy)
- Security monitoring

Advanced CI/CD & GitOps


- GitOps: ArgoCD, FluxCD

Serverless
- AWS Lambdas
- Azure Functions
- GCP Cloud Functions
- OpenFaaS

Chaos Engineering
- Chaos Monkey
- Gremlin
- Chaos Toolkit

Cloud Native Networking


- Service Mesh
- Ingress controllers (Nginx ingress, Traefik)
- Global load balancing

Advanced Monitoring
- Distributed Tracing (Jaeger, Zpikin)
- Advanced log management: ELK (Elasticsearch, Logstash, Kibana),
Splunk, Graylog
- Time Series Databases: InfluxDB, Prometheus
- APM (Application Performance Monitoring): New Relic, Dynatrace, AppDy
namics
Chapter 7
System Design
- Scaling, Availability
- Forward/Reverse proxies, load balancing
- CDN/Caching
- Messaging Queues
- Databases & DB architecture (replication, sharding, indexing etc)
- Pub/Sub, Event-driven architecture
- API Gateways

Level 5 is endless and I can keep going! Tech is an ever-evolving field. You
are not expected to know everything but you are expected to be ready to learn
new things every day.

Remember to keep exploring emerging tools and technologies as the DevOps


landscape continues to evolve.

Continuous learning and staying up-to-date with industry trends are essential
for a successful DevOps career.
Chapter 8
Certifications
Certifications combined with hands-on learning are crucial for a successful
career in DevOps. You can’t do certifications without any projects, otherwise,
it’s just like graduating from university without work experience. I am a big fan
of certifications as they provide structured learning and allow you to explore
services or tools you may never come across daily. They offer a valuable
framework to deepen your understanding and demonstrate your commitment to
professional growth.

Studying for certifications with hands-on projects helps you gain practical ex-
perience and enhance your marketability. This comprehensive approach allows
you to showcase your skills, solve real-world problems and stand out among
other candidates.

Certifications validate your expertise, but hands-on projects are essential to


solidify your learning and acquire practical experience for a thriving DevOps
career.

Recommended certification guide for DevOps Engineers

A few years back, I began collecting a list of all the certifications that I believe
are worthwhile.

You can find this list on GitHub:


[Link]

Cloud Certifications & Hands-on certs

Below are some of the top 5 list of certifications one should aim to do (espe- cially
if you are new to the career of DevOps:

• AWS Certified Cloud Practitioner (CCP)


Highly recommended if you are new to IT
• AWS Solutions Architect Associate (SAA)
Highly recommended
• Certified Kubernetes Administrator (CKA)
Recommended when you reach the end of Level 3
• Azure Fundamentals (AZ900)
Recommended ONLY if you are learning Azure.
• HashiCorp Certified: Terraform Associate
Look into this when you reach Level 2.
Chapter 8

How to study for these cloud certifications and pass the exams?

Note: I have recommended specific resources and individuals. Note that I am not
sponsored or paid to recommend rather they are recommendations based off my
personal experience and quality of the courses.

Feel free to adjust your study patterns to suit your needs. Some of these steps
I like to follow that have assisted me:

1. Pick an instructor. based on your goals. There are currently quite a lot out
there: Stéphane Maarek (DataCumulus & Udemy instructor), Adrian Cantrill
([Link]), and Andrew Brown (from freeCodeCamp & Exam Pro). They
are all good instructors for AWS but with different teaching styles. If you are
looking for an in-depth course, Adrian Cantrill’s course is very good. If you are
looking to pass the exam with just enough knowledge, then Stéphane Maarek
is your go-to instructor. Just a note, some of these courses are PAID. Towards the
end of the article, I have recommended a few courses which are FREE and can be
found on YouTube.

2. Once you’ve picked an instructor, choose the correct course and watch the
whole course from beginning to end. Make sure to attempt ALL labs within the
course especially the ones you don’t understand and do further reading on
those.

3. Read AWS Docs — [Link] - This is where all the of-


ficial AWS information lies. Most, if not all instructors refer to this when teach- ing.
Chapter 8

4. Extra practical labs are important to gain a better understanding of the


topic. Practical labs can be found in some of the courses mentioned in point 1.

5. Attempt mock exams provided by instructors. I recommend Jon Bonso for


the AWS Practice Exams — they will prepare you well for the real exams.

6. Make sure to not attempt the same mock exam more than twice otherwise
you will just memorise answers.

7. Once you can score past 70/80% consistently in exams, book the real
exams. The pass rate for most of them is in the range of 70–75%.

8. You can book the exam here: [Link]


tion-prep/testing/

Note: These exams can be done at home. The prices vary based on the hierar- chy
(the foundational ones being the cheapest and vice-versa). Once you have
completed the exam, you will receive a badge and a certificate usually within
24 hours, which you may share on your socials.

DISCLAIMER: The certificates alone will not land you a role. You must com-
plete extra work like cloud projects, extra self-learning, and practice inter-
views. Remember, your technical skills are as important as your soft skills. The
certificates do, however, open MANY doors and land you interviews!

Once you have completed one or two cloud certifications, don’t overdo it.
Focus on learning the skills that are most vital in your current/future role.

I would recommend you to do a certification while doing Levels 1 & 2. If this is


difficult, try to attempt them once you have finished both of these levels.
Chapter 9
Preparing for your first role
Note: I have recommended specific resources and products. Note that I am not
sponsored or paid to recommend rather they are recommendations based off
my personal experience and quality of the courses.

Once you have completed Levels 1 and 2, you are ready to showcase your
skills and apply for jobs. You are nearly at your goal now! This is the last
hurdle between you and a DevOps role!

Prepare your CV

Crafting a well-designed CV is crucial, as it is often the first thing that recruit-


ers or hiring managers see. A well-prepared CV can significantly streamline
the application process. I recommend using a website called [Link] to create
your CV. It saves you time by providing pre-designed layouts and helps you
create an impressive presentation.

Your CV layout should include:

• Your name and contact details


• Links to your LinkedIn profile, GitHub repository, and other relevant social
media platforms
• A concise profile summary
• Professional experience
• Skills acquired through this learning pathway, including relevant certifica
tions
• Showcase y our projects and educational background, keeping it simple and
concise
• Max 1 page

Hands-on projects (ideas)

▪ Working on hands-on projects is vital to reinforce your learning and demon-


strate your skills. As an interviewer and hiring manager myself, I can tell you
that a well-executed project on your CV or GitHub repository immediately
earns you extra brownie points.

▪ For example, consider creating your own cloud project, developing your Ter-
raform modules, and testing them. Build your Kubernetes cluster using
ArgoCD and implement monitoring. The possibilities are endless.
Chapter 9
Here are some examples of impactful DevOps projects you can attempt:

1. Three-tier terraform architecture on the cloud : Build a scalable and secure


infrastructure using Terraform on a cloud provider.

2. Production-Grade Modern Application hosted on ECS: Containerise the app,


push to ECR via GitHub Actions and deploy it on ECS with HTTPS on a
custom domain.

3. Production-Grade App hosted on EKS Cluster with Ingress, HTTPS &


GitOps: Set up an EKS cluster with secure app exposure using NGINX
ingress, cert-manager, and externalDNS, with optional ArgoCD integration.

4. Apply Monitoring and logging solution to one of your projects :Continuing


from the above project, setup Prometheus for metrics collection and Grafana
for visualization on your K8s cluster to monitor application performance,
resource usage and alerts.

5. Implement Service Mesh for K8s: Setup a service mesh like Istio or Linkerd on
Kubernetes to manage traffic between microservices, ensure security and
observability .
Chapter 9

▪ Large DevOps Project for the CV (AWS, Terraform, Git, Linux, CICD)

◦ Create 2 modules in Terraform that can create a Web App that runs
nginx (on an EC2 instance) and a module for a VPC (add all required
parts
such as NATGW, route tables and everything else). Using AWS. Using cor-
rect folder/directory strategy. Make sure you can access the site after
(figure out how to do this)
◦ Make sure the modules work and you can run on 3 different environments
like prod, dev and staging.
◦ Create a CICD pipeline to run your Terraform workflow (ideally with
GitHub Actions) but you can use GitLab pipelines or even Jenkins if you
want.
◦ Make sure you use env vars for any credentials. I don't want to see any
hardcoding of credentials.

▪ Bonus:
◦ Write Terratests for your modules (this is in Golang) or you can do unit
tests in Python. Whichever you like but I recommend Terratests as it's a
well known industry standard.
◦ Create a a nice README markdown documenting all your work so that an-
other user can run it.
◦ Put all your work in a GitHub repo and commit it there. Use what is nec-
essary like gitignore and pre commit configs. And anything else you deem
useful and secure for the project.

Note: You can use chatGPT but make sure you understand what you’re writing
and creating and can explain in an interview. I want to see your thinking and
how you go about it. So that if someone asks in an interview, you can explain.

Networking & Socials

Networking is a crucial aspect of building a successful career in DevOps.


Engage actively on platforms like LinkedIn, Twitter, or any other suitable plat-
form of your choice to share your knowledge and contribute to the community.
Each platform offers unique benefits, so choose the one that resonates with
you the most. Remember, throughout your life, you will always be interacting
with fellow humans, so developing networking skills is essential.
Chapter
9
Your GitHub

Create a personal GitHub account and showcase all the projects you have
worked on. This allows you to manage your code effectively and demonstrate
your skills to potential employers.

Feel free to explore my GitHub ([Link] as an example.

Job application

Everyone has different experiences but what works consistently is having


focussed applications. Make sure your CV is reviewed by experienced Engi-
neers or reach out to our supporting communities (Dee engineers, Somalis in
Tech, Deen Developers) and we will happily do CV reviews for you. Once your
CV is ready, try to get referrals from the companies you are looking to join -
these referrals help you to get interviews. Once again, you must network for
this to be possible. This is very important!! Reach out to recruiters on
LinkedIn. Message employees who are already working in the companies you
want to work for and get some insights.

One advice, expect many rejections as this will be your first role, this is
normal. Keep applying and be patient. This is the final hurdle. Keep pushing till
you get that offer!

Interview prep

To prepare for interviews, I have created a tech interview question bank


([Link] that all engineers can benefit from.
This resource will help you familiarize yourself with common interview ques-
tions and improve your problem-solving skills. If you can, try to get mock inter-
views done by other senior engineers from the community. This will really
boost your interview skills and prepare you beforehand.
Appendix (Learning resources)
Here is a list of links and courses compiled by Abdurahman Abukar, thanks to
him! These are all FREE resources and we both do recommend them!

1. Linux Fundamentals in 11 hours: [Link]


nux-mastery/
2. Git (Crash course):
3. Networking (YouTube playlist):
4. CCP Course:
5. CCP Exams: [Link]
fied-cloud-practitioner/
6. Terraform Course: [Link]
ner-to-advanced/
7. Terraform Exams: [Link]
ate-practice-exam/
8. Docker Course: [Link]
tes-the-practical-guide/
9. Kubernetes (CKA Prep): [Link]
tes-administrator-with-practice-tests/
10. GitHub Actions (CI/CD):
11. Helm Course:
12. Python Course (Tech with Tim):
13. Golang Course (Tech with Tim): [Link]
list?list=PLzMcBGfZo4-mtY_SE3HuzQJzuj4VlUG0q
14. Ansible Course
FAQ
General Questions

1. What is DevOps in simple terms?


• Simply, DevOps is about making developers (the people who create soft-
ware) and operations (the people who run it) work better together.
• For more details, refer to Chapter 4

2. Do I need a computer science degree to get into DevOps?


• No, you don’t need a degree. I personally didn’t do a comp sci degree and many
of my peers & colleagues have either no degrees at all or degrees in various
fields

Technical Questions

4. What programming languages should I learn for DevOps?


• As a beginner who is starting out, learn Python. A year or two in, you can
look into Golang & JavaScript.

5. What's the difference between Docker and Kubernetes?


• Docker packages your software into containers. Kubernetes helps you
manage those containers.

6. What is CI/CD and why is it important?


• CI/CD stands for Continuous Integration and Continuous Deployment. It's a
way to automatically test and deploy your code/app/software, making life
easier.

Career Path and Learning

7. How long will it take to become proficient in DevOps?


• It varies, but with focused learning, you can get an entry-level job in 3-6
months.

8. Is it better to specialize in one cloud provider like AWS, or should I


learn multiple?
• Start with one, like AWS, to get the basics. Then you can learn others as
needed or when a job requires you to.

9. What are some good beginner projects to start with?


• Check out DevOps Challenges in the Tech Vault repo » [Link]
moabukar/tech-vault/tree/main/devops-challenges
Job Market and Roles

10. What job titles should I look for when searching for a DevOps role?
• DevOps Engineer, Cloud Engineer, Systems Engineer, Infrastructure Engi-
neer, Platform Engineer.

11. Is certification necessary for getting a job?


• 1. It can help but isn't mandatory. Experience and skills are also super im-
portant.

12. What's the difference between a DevOps Engineer and an SRE?


• Both aim to make software reliable and fast. SREs often focus more on the
reliability part.

Tools and Practices

13. What are some must-know DevOps tools?


• Docker, Kubernetes, Terraform, and GitHub Actions are some popular ones.

14. What is "Infrastructure as Code" and why is it important?


• It's writing code to manage your servers. Makes it easier to set up and fix
things.

15. How does monitoring fit into DevOps?


• Monitoring helps you keep an eye on how your software is doing, so you
can fix issues before they get bad.

Community and Networking

16. Are there any DevOps/Engineering/Tech communities I should join?


• Deengineers
• Somalis in Tech
• Deen Developers

17. How important is networking (people) for a career in DevOps?


• Pretty important. Knowing people in the industry can help you learn and
find jobs.

18. Any recommended books, courses, or other resources?


• "The DevOps Handbook"
• TO ADD MORE Resources here or DM me.
Work-Life and Culture

19. What does a typical day look like for a DevOps Engineer?
• It varies, but expect to code, attend meetings, and solve problems or tick-
ets that come up.
• General day (from start to end): Standup » Meetings » Pair Programming
sessions » Individual session » More meetings » More coding » Watercool-
ers » End of Day

20. Is remote work common in DevOps roles?


• Yes, many DevOps roles offer remote work options.
Pathway reviewed by Senior industry
I would like to express my deepest gratitude to the esteemed senior industry
engineers who meticulously reviewed this article, providing invaluable feed-
back and approval. Their expertise, insights, and meticulous review process
have immensely contributed to the quality and effectiveness of this guide. I am
truly honored and humbled by their positive remarks, which serve as a testa-
ment to the value and relevance of this pathway. I am grateful for their contri-
butions in making this article a reliable and beginner-friendly resource. Thank you
for your unwavering support and for helping make the world of DevOps
more accessible to all.

”In a nutshell, the creator of


this roadmap is a champion
in building and sharing qual-
ity content about DevOps.
What sets him apart is his
comprehensive approach
not just the tools and proj-
ects but also his interview
“The Ultimate Pathway is an skills guidance. I know per-
excellent resource for sonally many he has helped
anyone who doesn't just land a job. His passion for
want to dip their toes in the software engineering,
DevOps pool, but swim in DevOps, and cloud comput-
the deep end and stay ing and his commitment to
there. Mohamed has care- helping others succeed is
fully drafted a solid and evident in everything he
gradual progression path for does. I believe if you are
the budding engineer, high- determined to follow this
lighing all the competencies pathway you’ll see great re-
that you'll likely need to sults afterwards.”
know for that first (or next)
job, along with some essen-
Omar Ali
tials pointers on how to Senior SRE @ Apple
make yourself employable. [Link]
If you want a career in
DevOps but are struggling
with your learning roadmap
or interview success, this
guide is for you.“

Zoheb Ishfaq,
DevOps Engineer @ Microsoft
[Link]
hfaq/
“This is an awesome guide
to getting started in technol-
ogy in a DevOps environ-
ment. I wish I'd had such a
clear roadmap of skills to
learn when I started soft-
ware engineering!“

John Crickett
Software Engineering Manager, “Mohamed and I overlapped
[Link] while working at Trainline,
ckett/ however, I actually became
familiar with his work
through LinkedIn rather than
the office. Although I hav-
en’t tried the levels in his
pathway myself, I have read
the full article from start to
finish, and I think it is abso-
lutely fantastic!
I can imagine the levels he
describes in Chapter 7
being extremely useful to
many people. I love that he
includes not only what you
“If you're looking to break need to learn _before_ get-
into DevOps, this learning ting a job, but also what you
pathway is a solid bet. De- can learn after that, to con-
signed by a seasoned tinue advancing your career. I
DevOps engineer, it's thor- really appreciate his expla-
ough, user-friendly and has nation of the term “DevOps”.
already helped plenty of I have always struggled to
people get their start in the understand this term, and
field. It's not just about the now I feel like I finally get it.
theory - it packs in practical Most of all, I admire and re-
tips that you can really use. spect Mohamed’s attitude of
No matter what stage you're generous knowledge-shar-
at, this guide can help you ing. I think the creation of
level up. Give it a go and this free curriculum guide,
you won't be let down.“ this pathway, is such a great
idea. And it’s the first time
Adil Ul-Islam, I’ve seen something like it!
Senior Cloud Labs Developer With this pathway, he is
[Link] making the field of software
ulislam/ development more accessi-
ble - and thus, undoubtedly,
making the world a better
place.“

Erin Hamalainen
Software Engineer @ ex-Google & Trainline
[Link]
Pathway backed by:

Deengineers Deen Developers Somalis in Tech

Our DevOps Bootcamp is now OUT!

We have released a full DevOps bootcamp which aims to help and prepare
people for a DevOps role. The bootcamp is all-inclusive meaning that you will
get both technical and non-technical support from a vibrant community.

If you’re interested, join the waiting list:

[Link]
What next?
Congratulations on reaching this point! The learning journey in DevOps is
never truly complete and the key is to keep learning and growing. Having a
solid foundation in fundamental skills will undoubtedly increase your chances
of landing a junior role. Now, imagine the multitude of opportunities that await
when you have a strong grounding in more advanced tools and concepts.

I sincerely hope that this guide has been beneficial to you. If you have found
value in it, please consider sharing it with others who may also benefit.

Remember, these insights are based on my personal learning experiences and


others may have their approaches to learning. It is important to recognise that
everyone's journey is unique, so focus on your path and always strive to be the
best in whatever you do.

Once again, congratulations on making it this far! Your commitment and dedi-
cation to learning are commendable. Keep pushing forward and never stop
learning in your DevOps journey.

If you have any questions or simply want to connect, feel free to reach out to
me on LinkedIn. I would be more than happy to assist or even just have a
friendly conversation :)

Thank you for reading and all the best on your learning journey!

Reach out to me on LinkedIn : [Link]

Follow me on GitHub : [Link]

Follow me on X/Twitter : [Link]

You might also like