Getting Started
Before you start
Here is a pre-start checklist:
- ⭐ Star the project repo on GitHub for better visibility.
- ✉️ Join the community for the project community activities, which include mentorship, job posting, online meetings, workshops, career tips and tricks, and more.
- 🌐 Join the Telegram group for interactive communication.
Frequently Asked Questions
Ensure to read the frequently asked questions page, it has many valuable information that you need before you start (really, do it!).
Learning Plan
This roadmap encourages you to learn in the best way that fits you. It also provide a generic learning plan that could help you to progress in the roadmap (however, the plan could vary based on your background).
How to use this roadmap?
This roadmap is polymorphic
, which means it's designed to work in different modes, depending on how fast you want to go.
- Self-Paced Roadmap
- Hands-on Project
- Mentorship Program
This mode is the default and is available for everyone in this repo. In this mode, you are not expected to have DevOps experience, and you want to go from zero to hero, transforming your knowledge to land your first job as a DevOps Engineer.
How to process:
- Read each module in the roadmap in the same order.
- In each module, you will find two sections:
What you need to know
: It emphasizes the most important points and areas you should know about as a DevOps Engineer.Resources
: It provides some learning resources, but you are free to learn from any other resources.
- In this mode, you manage all your learning plans by yourself, and we highly recommend asking a Senior DevOps Engineer (a friend or someone from the community) to review your plans and progress.
In this mode, you already have some experience with DevOps (usually between 1-2 years of work experience). Still, you want to further your skills with a real hands-on industry-grad project to learn DevOps pragmatically. This mode is also available to everyone in this repo.
The project follows the Learning by Doing
method (aka Problem-based Learning
), which is done in iterative phases. In this method, you learn as you go and cover the whole DevOps cycle.
How to process:
- Go to the HiveBox hands-on project.
- Read the intro of the project and the goals of it.
- Follow and implement the requests of each phase in the same order.
- Each stage builds on the previous stage (the phases are continued, not separated).
Each phase of this project is tackled gradually as part of the roadmap modules. But it's also standalone, and you can work on it if you have the required knowledge for each phase.
This mode covers the previous two modes (that means it could be only for the project or the whole roadmap) but with support from a mentor
!
A plus point in the mentorship is that you will get access to the roadmap board, where you can utilize Agile methodologies like Epics and Kanban to implement the plan. This will incorporate real-world scenarios and best practices, which you will use in a real job when working in an Agile environment.
Roadmap Index
Visit HiveBox Project if interested in the DevOps hands-on project only. Continue if you want the full roadmap.
- Quick Index
- Detailed Index
⚡ Getting Started ⚡
Your entrypoint for the Dynamic DevOps Roadmap! It covers topics like before you start, learning plan, the different modes of the roadmap, and the roadmap index.
Introduction
An overview of our Dynamic DevOps Roadmap and how this MVP-style roadmap differs from other linear roadmaps.
Focus areas: Learning Strategy • Focus Areas • DevOps Topology • Soft SkillsModule 1: Welcome to the DevOps World
An introduction to the DevOps paradigm and the focus areas. Also, the relationship between DevOps, DevSecOps, and Agile in light of the Software Development Life Cycle (SDLC), in the end, is the initial part of the HiveBox project, phase 1.
Focus areas: Foreword • Software Production • DevOps MethodologyModule 2: Basics - DevOps Core
Learn Python fundamentals, common development tools, and Git basics. Then, gain Linux essentials, common tools, and bash scripting skills. Also, cover Docker and containers fundamentals — finally, a hands-on with the HiveBox project phase 2.
Focus areas: Code • Operating System • ContainersModule 3: Start - Laying the Foundation
Define goals, prioritize requirements, dive into code modularity, and then move to testing and quality assurance. Implement unit tests, follow Docker best practices, and explore quality gates in continuous integration with GitHub Actions — finally, a hands-on with the HiveBox project phase 3.
Focus areas: Planning • Code • Containers • Continuous IntegrationModule 4: Expand - Constructing a Shell
Review goals in planning, then apply the Twelve-Factor App methodology and REST API best practices. Embrace Kubernetes for container orchestration. Then explore observability, dive into continuous delivery solutions, also an overview of Cloud Computing — and finally, a hands-on with the HiveBox project phase 4.
Focus areas: Planning • Code • Containers • Observability • Continuous Integration • Continuous Delivery • InfrastructureModule 5: Transform - Finishing the Structure
Refine goals, integrate code with external systems, and write integration tests. Also, utilize Infrastructure as Code, learn Terraform essentials, and Kubernetes configuration management like Helm and Kustomize. Then, implement CD best practices — and finally, a hands-on with the HiveBox project phase 5.
Focus areas: Planning • Code • Infrastructure • Containers • Observability • Continuous DeliveryModule 6: Keep Improving
Conduct Agile retrospectives to analyze the improvement areas, optimize code performance, and secure the software supply chain. Then, implement a multi-environment architecture with a log aggregation system for observability. Also, set up end-to-end release automation, explored continuous deployment with GitOps and Argo CD — and finally, a hands-on with the HiveBox project phase 6.
Focus areas: Planning • Code • Infrastructure • Containers • Continuous Integration • Continuous Delivery • Continuous DeploymentModule 7: Capstone Project
Self-driven project to put everything together and create an industry-grade project which includes defining the requirements, setting the plan, implementation, then reviewing and refinement.
Focus areas: Requirements • Planning • Implementation • ReviewNext Steps
Now, it's time to face the real world and prepare for the next step. Together, we will craft your CV and cover letter. Then, create a skills radar chart to know your strengths and areas and what you need to develop more. Also, discuss DevOps certificates and explore the following steps as a DevOps engineer.
More Hands-on Projects
The HiveBox was a great hands-on project! What about more? Find out more end-to-end and use-case hands-on projects. Docker Best Practices, Release Automation, Deployment Automation, Multi-Environment Setup, and more.
Interview Preparation
How to prepare for the DevOps interview? It doesn't matter what your role is (DevOps Engineer or Software Engineer), what your level is (Junior, Medior, or Senior), here are interview questions and best practices.
✨ Career Growth ✨
Congratulations! You're now a DevOps Engineer; what are other advanced or promising career paths? There are many opportunities in different areas, such as DevOps, DevSecOps, Cloud, SRE, Platform, DataOps, MLOps, AIOps, and more.
Introduction
Module 1: Welcome to the DevOps World
- Module Overview
- 1.1 Foreword - What and Why DevOps?
- 1.2 Software Production - Software Development Life Cycle
- 1.3 Software Production - Agile Software Development
- 1.4 Software Production - Change Management and Golden Triangle
- 1.5 DevOps Methodology - DevOps and DevSecOps Core Pillars
- 1.6 DevOps Methodology - DevOps, Cloud, Platform Engineer, and SRE
- 1.7 DevOps Methodology - T-Shaped Skills DevOps Engineer
- Quiz
- Hands-on
- Interview Questions
Module 2: Basics - DevOps Core
- Module Overview
- 2.1 Code - Python Fundamentals
- 2.2 Code - Common Development Tools
- 2.3 Code - Git Basics
- 2.4 Operating System - Linux Fundamentals
- 2.5 Operating System - Common Tools and Commands
- 2.6 Operating System - Bash Scripting Basics
- 2.7 Containers - Docker Fundamentals
- 2.8 Containers - Docker CLI Basics
- Quiz
- Hands-on
- Interview Questions
Module 3: Start - Laying the Base
- Module Overview
- 3.1 Planning - Define Goals and Requirements
- 3.2 Code - Modularity and Reusability
- 3.3 Code - Testing and Quality Assurance
- 3.4 Code - Writing Unit Tests
- 3.5 Containers - Docker Best Practices
- 3.6 Continuous Integration - Introduction and Solutions in the Market
- 3.7 Continuous Integration - GitHub Actions Essentials
- 3.8 Continuous Integration - Pipelines and Quality Gates
- Quiz
- Hands-on
- Interview Questions
Module 4: Expand - Constructing a Shell
- Module Overview
- 4.1 Planning - Review the Goals and Requirements
- 4.2 Code - Twelve-Factor App Methodology
- 4.3 Code - REST API Best Practices
- 4.4 Continuous Integration - CI Best Practices
- 4.5 Containers - Kubernetes Overview and Core Concepts
- 4.6 Observability - Monitoring Application and Infrastructure
- 4.7 Continuous Delivery - Introduction and Solutions in the Market
- 4.8 Infrastructure - Cloud Computing and Cloud Native Applications
- Quiz
- Hands-on
- Interview Questions
Module 5: Transform - Finishing the Structure
- Module Overview
- 5.1 Planning - Refine the Goals and Requirements
- 5.2 Code - Working with External Systems
- 5.3 Code - Writing Integration Tests
- 5.4 Infrastructure - Infrastructure as Code and Configuration Management
- 5.5 Infrastructure - Terraform Essentials
- 5.6 Containers - Kubernetes Configuration Management
- 5.7 Observability - Log Aggregation Systems
- 5.8 Continuous Delivery - CD Best Practices
- Quiz
- Hands-on
- Interview Questions
Module 6: Optimize - Keep Improving
- Module Overview
- 6.1 Planning - Agile Retrospective
- 6.2 Code - Performance Optimization
- 6.3 Continuous Integration - Software Supply Chain Security
- 6.4 Infrastructure - Multi-environment Architecture
- 6.5 Containers - Kubernetes Operators
- 6.6 Continuous Delivery - End-to-End Release Automation
- 6.7 Continuous Deployment - Introduction and Solutions in the Market
- 6.8 Continuous Deployment - GitOps and Argo CD Essentials
- Quiz
- Hands-on
- Interview Questions
Module 7: Capstone Project
Next Steps
- Your CV/Resume, Cover Letter, and LinkedIn Profile
- Your Skills Chart
- DevOps Certificates
- Interview Preparation
- Career Growth