A friend recently asked me to help guide someone into DevOps. Theyâre doing junior freelance work but want a permanent DevOps position. The problem? They need to learn the fundamentals.
I canât personally mentor everyone who wants to break into DevOps. But I can write down the exact learning path Iâd recommend - the skills that actually matter, the courses worth taking, and the hands-on practice thatâll get you hired.
This isnât theory. This is the stack you need to know to be useful on day one.
The Hard Truth About Learning DevOps
DevOps is not an entry-level position. You need to understand:
- Operating systems (Linux primarily)
- Networking fundamentals
- At least one programming language
- Cloud platforms
- Containerization
- Infrastructure as Code
- CI/CD pipelines
Thatâs a lot. If someone tells you that you can âlearn DevOps in 30 days,â theyâre lying to you.
Realistic timeline: 6-12 months of focused learning and hands-on practice to be job-ready. Thatâs if youâre studying seriously, building projects, and actually deploying things.
Prerequisites: What You Actually Need
Your setup (Windows 11):
- Install WSL2 (Windows Subsystem for Linux) - This is non-negotiable
- Install Windows Terminal - Much better than CMD
- Install Visual Studio Code - Youâll live in this
- Get comfortable with the command line
Everything I recommend will work on WSL2. You donât need to dual-boot Linux or buy a Mac.
Phase 1: Linux Fundamentals (Month 1-2)
Why it matters: 95% of servers run Linux. If you donât know Linux, you canât do DevOps.
What You Need to Learn
File System & Navigation:
cd,ls,pwd,mkdir,rm,cp,mv- Understanding
/etc,/var,/home,/opt - File permissions:
chmod,chown,chgrp - Understanding
rwxpermissions and octal notation
Text Processing:
cat,less,head,tailgrep,awk,sed- Youâll use these dailyfind- Finding files by name, size, modification time
Process Management:
ps,top,htop,kill- Understanding PIDs and signals
- Background/foreground jobs:
&,fg,bg systemdandsystemctl- How services work on modern Linux
Networking:
ping,curl,wgetnetstat,ss,lsof- Debugging network issuesssh- Remote server access- Basic firewall concepts:
ufw,iptables
Package Management:
apt(Ubuntu/Debian) oryum/dnf(RedHat/CentOS)- Installing, updating, removing packages
- Understanding repositories
Recommended Learning Path
Free Resources:
- Linux Journey (https://linuxjourney.com/) - Best beginner-friendly resource
- OverTheWire Bandit (https://overthewire.org/wargames/bandit/) - Learn by doing challenges
- The Linux Command Line book by William Shotts (free PDF)
Paid Course (Worth It):
- Linux Foundation: Introduction to Linux (edX) - $200-300, certificate included
- Learn Linux in 5 Days (Udemy) - Often on sale for $15
Hands-On Practice
Donât just watch videos. Do this:
- Set up WSL2 on Windows 11:
# Open PowerShell as Administrator
wsl --install -d Ubuntu-22.04
- Daily Linux challenges:
- Spend 30 minutes daily in the terminal
- Do OverTheWire Bandit levels (at least 1-15)
- Practice writing bash scripts for automation
- Build something:
- Write a bash script that backs up files
- Create a log parser that finds errors
- Automate user creation with a script
Youâre ready for Phase 2 when:
- You can navigate Linux without Googling basic commands
- You understand file permissions and can fix permission issues
- You can write basic bash scripts
- Youâre comfortable with SSH
Phase 2: Python for DevOps (Month 2-3)
Why Python? Because every DevOps engineer needs a scripting language, and Python dominates:
- AWS CLI and Boto3 (AWS SDK) are Python
- Ansible is Python
- Most automation scripts are Python
- Reading other peopleâs tools requires Python knowledge
What You Need to Learn
Core Python:
- Variables, data types, loops, conditionals
- Functions and modules
- File I/O (reading logs, config files)
- Exception handling
- Working with JSON and YAML
DevOps-Specific Python:
subprocessmodule - Running shell commands from Pythonrequestslibrary - API callsparamiko- SSH automationboto3- AWS SDKpsutil- System monitoring
Recommended Courses
Free:
- Python Crash Course (first half of the book is free online)
- Automate the Boring Stuff with Python - Free online book
- Corey Schaferâs Python Tutorials (YouTube) - Best Python YouTuber
Paid:
- Python for Everybody (Coursera) - Free to audit, $50 for certificate
- 100 Days of Code: Python (Udemy) - Often $15-20
Hands-On Practice
Projects to build:
- Server Health Monitor:
# Monitor CPU, memory, disk usage
# Send alerts if thresholds exceeded
# Log metrics to a file
- Log Analyzer:
# Parse Apache/Nginx logs
# Find most common errors
# Generate daily reports
- Backup Automation:
# Compress directories
# Upload to AWS S3
# Clean up old backups
- API Integration:
# Call GitHub API
# Fetch repository info
# Generate reports
Youâre ready for Phase 3 when:
- You can write scripts without constantly Googling syntax
- You understand error handling and debugging
- Youâve built at least 3 small automation tools
- You can read and modify other peopleâs Python code
Phase 3: AWS Cloud Fundamentals (Month 3-5)
Why AWS? Itâs the market leader. 32% of cloud market share. Most jobs require AWS knowledge.
What You Need to Learn
Core Services (Learn in This Order):
-
IAM (Identity and Access Management)
- Users, groups, roles, policies
- Least privilege principle
- MFA setup
-
EC2 (Elastic Compute Cloud)
- Launch instances
- Security groups
- SSH access
- Instance types and pricing
-
VPC (Virtual Private Cloud)
- Subnets (public vs private)
- Internet Gateway
- NAT Gateway
- Route tables
- Network ACLs vs Security Groups
-
S3 (Simple Storage Service)
- Buckets and objects
- Versioning
- Lifecycle policies
- Static website hosting
-
RDS (Relational Database Service)
- PostgreSQL/MySQL setup
- Multi-AZ deployments
- Backup strategies
-
CloudWatch
- Metrics and logs
- Alarms
- Dashboards
-
Lambda
- Serverless functions
- Event triggers
- Use cases
Recommended Learning Path
Free Resources:
- AWS Free Tier - You get 12 months free (sign up immediately)
- AWS Skill Builder - Official AWS training (free tier available)
- AWS Documentation - Surprisingly well-written
Paid Course:
- Ultimate AWS Certified Solutions Architect Associate by Stephane Maarek (Udemy) - $15-20
- Yes, itâs for the cert, but itâs the best AWS course
- Youâll learn by doing, not just watching
Certification Path:
- AWS Certified Cloud Practitioner (optional, but good for absolute beginners)
- AWS Certified Solutions Architect Associate (highly recommended)
Hands-On Practice
DONâT JUST WATCH VIDEOS. BUILD THINGS.
Project 1: Deploy a Web Application
1. Create a VPC with public and private subnets
2. Launch an EC2 instance in public subnet
3. Install Nginx
4. Configure security groups (only allow 80/443)
5. Point a domain to your instance
6. Add SSL with Let's Encrypt
Project 2: Static Website on S3
1. Create S3 bucket
2. Enable static website hosting
3. Upload HTML/CSS/JS
4. Configure CloudFront CDN
5. Add custom domain with Route53
Project 3: Automated Backups
1. Create Lambda function
2. Trigger daily with EventBridge
3. Snapshot EC2 volumes
4. Delete old snapshots
5. Send SNS notification on completion
Project 4: Multi-Tier Application
1. Application Load Balancer
2. EC2 Auto Scaling Group
3. RDS database in private subnet
4. S3 for static assets
5. CloudWatch monitoring and alarms
Cost Management:
- Use AWS Free Tier wisely
- Set up billing alerts immediately
- Destroy resources when done practicing
- Use
t2.microort3.microinstances
Youâre ready for Phase 4 when:
- You can launch and configure EC2 instances without tutorials
- You understand VPC networking (public/private subnets, routing)
- Youâve deployed at least 2 real applications on AWS
- You can troubleshoot common issues (security groups, IAM permissions)
Phase 4: Docker & Containerization (Month 5-6)
Why Docker? Containers are how modern applications are packaged and deployed. Non-negotiable skill.
What You Need to Learn
Docker Basics:
- Images vs Containers
- Dockerfile syntax
- Building images
- Running containers
- Port mapping
- Volume mounts
- Container networking
Docker Compose:
- Multi-container applications
- Service definitions
- Networks and volumes
- Environment variables
Container Registry:
- Docker Hub
- AWS ECR (Elastic Container Registry)
- Pushing/pulling images
Recommended Courses
Free:
- Docker Documentation - Excellent getting started guide
- Play with Docker (https://labs.play-with-docker.com/) - Free online playground
- TechWorld with Nana (YouTube) - Docker and Kubernetes tutorials
Paid:
- Docker Mastery by Bret Fisher (Udemy) - $15-20, best Docker course
Hands-On Practice
Project 1: Containerize a Python App
FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
EXPOSE 8000
CMD ["python", "app.py"]
Project 2: Multi-Container App with Docker Compose
# Web app + PostgreSQL + Redis
version: '3.8'
services:
web:
build: .
ports:
- "8000:8000"
depends_on:
- db
- redis
environment:
DATABASE_URL: postgresql://postgres:password@db:5432/myapp
db:
image: postgres:15
volumes:
- postgres_data:/var/lib/postgresql/data
environment:
POSTGRES_PASSWORD: password
redis:
image: redis:7-alpine
volumes:
postgres_data:
Project 3: Deploy to AWS ECS
1. Create ECR repository
2. Push Docker image
3. Create ECS cluster
4. Define ECS task
5. Create service with load balancer
Youâre ready for Phase 5 when:
- You can containerize any application
- You understand Docker networking and volumes
- Youâve written Docker Compose files for multi-tier apps
- You can debug container issues
Phase 5: Infrastructure as Code (Month 6-7)
Why IaC? Clicking in AWS console doesnât scale. Everything should be code.
What You Need to Learn
Terraform:
- HCL syntax
- Resources, data sources, variables
- Modules
- State management
- Remote backends (S3 + DynamoDB)
- Workspaces vs separate directories (use directories)
Recommended Courses:
- Complete Terraform Course by Zeal Vora (Udemy) - $15-20
- HashiCorp Learn Terraform (free official tutorials)
Hands-On Practice
Start Small:
# main.tf
provider "aws" {
region = "us-east-1"
}
resource "aws_instance" "web" {
ami = "ami-0c55b159cbfafe1f0"
instance_type = "t2.micro"
tags = {
Name = "HelloTerraform"
}
}
Build Up:
- VPC with public/private subnets
- EC2 instances with user data scripts
- RDS database
- Load balancer
- Auto Scaling Group
- Full production environment
Pro Tip: Read my article âTerraform Best Practices for Production in 2025â for production patterns.
Phase 6: CI/CD Pipelines (Month 7-8)
Why CI/CD? Automating testing and deployment is the core of DevOps.
What You Need to Learn
CI/CD Concepts:
- Build automation
- Automated testing
- Deployment pipelines
- Blue-green deployments
- Canary releases
Tools (Pick One to Start):
- GitHub Actions (easiest to learn, free for public repos)
- GitLab CI (great for self-hosted)
- Jenkins (older but still widely used)
GitHub Actions Example
name: Deploy to AWS
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v2
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- name: Login to Amazon ECR
run: aws ecr get-login-password | docker login --username AWS --password-stdin $ECR_REGISTRY
- name: Build and push Docker image
run: |
docker build -t myapp .
docker tag myapp:latest $ECR_REGISTRY/myapp:latest
docker push $ECR_REGISTRY/myapp:latest
- name: Deploy to ECS
run: aws ecs update-service --cluster production --service myapp --force-new-deployment
Hands-On Practice
Build a complete pipeline:
- Code commit triggers build
- Run tests
- Build Docker image
- Push to ECR
- Deploy to ECS/EC2
- Run smoke tests
- Rollback on failure
Phase 7: Kubernetes (Month 8-10) - Optional But Increasingly Required
Do you need Kubernetes? Depends on the job. Many companies use ECS or plain Docker. But K8s is increasingly common.
What You Need to Learn
Core Concepts:
- Pods, Deployments, Services
- ConfigMaps and Secrets
- Namespaces
- Ingress controllers
- Persistent volumes
Managed Kubernetes:
- AWS EKS
- Google GKE
- Azure AKS
Recommended Learning
Free:
- Kubernetes Documentation - Start here
- Kubernetes the Hard Way - Kelsey Hightower (advanced but enlightening)
Paid:
- Kubernetes for Absolute Beginners - Mumshad Mannambeth (Udemy) - $15-20
- Certified Kubernetes Administrator (CKA) course
Hands-On Practice
Start with Minikube:
# Install Minikube on WSL2
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
minikube start
Deploy an app:
kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80 --type=LoadBalancer
kubectl get services
Graduate to EKS:
- Create EKS cluster with Terraform
- Deploy multi-tier application
- Set up monitoring with Prometheus
- Implement auto-scaling
- Blue-green deployments
Phase 8: Monitoring & Observability (Month 10-11)
Why it matters: If you canât monitor it, you canât operate it.
What You Need to Learn
Logging:
- Centralized logging (ELK stack, CloudWatch Logs)
- Log aggregation
- Search and analysis
Metrics:
- Prometheus
- Grafana dashboards
- CloudWatch metrics
Tracing:
- Understanding distributed tracing
- AWS X-Ray
Alerting:
- Alert rules
- Notification channels (PagerDuty, Slack)
- Alert fatigue prevention
Hands-On Practice
Build a monitoring stack:
1. Deploy Prometheus on Kubernetes
2. Set up node exporters
3. Create Grafana dashboards
4. Configure alerting rules
5. Send alerts to Slack
Phase 9: Security & Best Practices (Ongoing)
DevOps = DevSecOps
Critical Skills
Infrastructure Security:
- Principle of least privilege (IAM)
- Security groups and NACLs
- Encryption at rest and in transit
- Secrets management (AWS Secrets Manager, Vault)
- VPN and bastion hosts
Application Security:
- Container scanning (Trivy, Snyk)
- Dependency scanning
- SAST/DAST tools
- Security headers
Compliance:
- Audit logging
- Compliance as code
- Infrastructure scanning (Checkov, tfsec)
The Complete Learning Timeline
Month 1-2: Linux fundamentals Month 2-3: Python scripting Month 3-5: AWS core services Month 5-6: Docker and containers Month 6-7: Terraform (IaC) Month 7-8: CI/CD pipelines Month 8-10: Kubernetes (if needed) Month 10-11: Monitoring and logging Month 11-12: Practice, build portfolio, interview prep
Total: 12 months of focused learning
The Portfolio That Gets You Hired
Donât just learn. Build things and show them off.
Your GitHub should have:
-
Infrastructure as Code project
- Complete AWS environment with Terraform
- VPC, EC2, RDS, S3, CloudFront
- README explaining architecture
-
Containerized application
- Multi-tier app with Docker Compose
- CI/CD pipeline
- Deployed to AWS ECS or EKS
-
Automation scripts
- Python tools for common DevOps tasks
- Backup automation
- Log analysis
- Server provisioning
-
Monitoring setup
- Prometheus + Grafana
- Custom dashboards
- Alert rules
-
Documentation
- Well-written READMEs
- Architecture diagrams
- Setup instructions
Make it public. Make it good. This is your resume.
Certifications: Worth It or Waste of Time?
Worth getting:
- AWS Certified Solutions Architect - Associate - Opens doors, proves AWS knowledge
- AWS Certified Developer - Associate - If youâre also doing development
- Certified Kubernetes Administrator (CKA) - If targeting K8s-heavy roles
- HashiCorp Certified: Terraform Associate - Good for resume parsing
Skip these (for now):
- CompTIA certifications - Too general
- Cloud Practitioner - Too basic if youâre serious
- Multiple cloud certs - Master one cloud first
Reality check: Certs help get past HR filters. They donât replace hands-on experience. Prioritize projects over certifications.
The Skills You Canât Learn from Courses
Troubleshooting: This comes from breaking things and fixing them. Intentionally break your lab environments and fix them.
Reading Documentation: Most learning happens reading docs, not watching videos. Get comfortable with official documentation.
Communication: DevOps is a bridge between development and operations. Learn to:
- Write clear documentation
- Explain technical concepts to non-technical people
- Create runbooks and postmortems
Incident Management: How to respond when production is down:
- Stay calm under pressure
- Methodical debugging
- Clear communication
- Root cause analysis
Common Mistakes to Avoid
1. Tutorial Hell Donât watch 10 Docker courses. Watch one, then build something.
2. Not Using the Free Tier AWS Free Tier gives you 12 months of resources. Use it immediately.
3. Only Learning, Never Building Employers want to see what youâve built, not what courses youâve completed.
4. Skipping the Fundamentals You canât learn Kubernetes without understanding Linux and Docker first.
5. Analysis Paralysis âShould I learn AWS or GCP? Docker or Podman? Terraform or Pulumi?â Just pick one and start. AWS, Docker, Terraform are solid choices.
6. Not Cleaning Up Resources Youâll get a $500 AWS bill if you leave resources running. Always destroy what you create.
7. Learning Too Many Tools Superficially Better to know 5 tools deeply than 20 tools superficially.
Cost Breakdown: How Much Will This Cost?
Free:
- WSL2 on Windows 11
- Linux learning resources
- Python learning resources
- AWS Free Tier (12 months)
- GitHub (public repositories)
- Docker Desktop
- Terraform
- VS Code
Paid (Optional but Recommended):
- Udemy courses: ~$100 total (wait for sales, never pay full price)
- AWS after free tier: $20-50/month if careful
- Domain name: $12/year
- AWS Solutions Architect cert: $150 exam fee
Total first year: $300-500
Thatâs cheaper than a single college course. And infinitely more practical.
Your First DevOps Job: What to Expect
Reality check on job titles:
- âJunior DevOps Engineerâ - Rare, most want 2-3 years experience
- âPlatform Engineerâ - Often entry-level friendly
- âSite Reliability Engineer (SRE)â - Usually requires experience
- âCloud Engineerâ - Good entry point
- âSystems Engineerâ - Traditional but DevOps-adjacent
What âjuniorâ actually means: You wonât be architecting infrastructure day one. Youâll be:
- Writing automation scripts
- Maintaining CI/CD pipelines
- Monitoring and responding to alerts
- Deploying updates
- Writing documentation
- Learning from senior engineers
Salary expectations (US, 2025):
- Junior/Entry: $70k-90k
- Mid-level (2-4 years): $100k-130k
- Senior (5+ years): $130k-180k+
- Staff/Principal: $180k-250k+
Location matters. Remote jobs are competitive but possible.
The Honest Truth About Breaking Into DevOps
Itâs harder than it looks. Most âjuniorâ DevOps jobs want 2-3 years of experience. Youâre competing with:
- Former sysadmins transitioning to DevOps
- Developers moving into infrastructure
- CS graduates with internships
How to stand out:
- Strong portfolio - Show, donât tell
- Contribute to open source - Real-world experience
- Write about what you learn - Blog posts, documentation
- Network - LinkedIn, local meetups, conferences
- Start as adjacent role - Systems admin, junior developer, then transition
Alternative entry points:
- Managed service providers - Often hire less experienced engineers
- Startups - Willing to train if you show potential
- Internal transfer - Start in support/QA, move to DevOps
- Contract/freelance - Build experience while job hunting
Resources Checklist
Bookmark these:
Learning Platforms:
- Udemy (wait for sales)
- A Cloud Guru / Linux Academy
- Coursera
- AWS Skill Builder
Practice:
- AWS Free Tier
- OverTheWire
- KodeKloud (Kubernetes practice)
- CatOps (Terraform challenges)
Documentation:
- AWS Documentation
- Kubernetes Documentation
- Terraform Registry
- Docker Documentation
Communities:
- r/devops (Reddit)
- DevOps Discord servers
- AWS Community Builders
- Local DevOps meetups
News/Blogs:
- DevOps Weekly newsletter
- Last Week in AWS
- CloudSkills.io
- AWS Blog
Final Thoughts: Is It Worth It?
DevOps is hard. Itâs a wide field that requires knowing multiple disciplines:
- Linux administration
- Programming
- Cloud platforms
- Networking
- Security
- Automation
But itâs also rewarding:
- High demand
- Good salaries
- Remote-friendly
- Always learning
- Tangible impact (you ship code to production)
The path forward:
- Start with Linux and Python (Months 1-3)
- Get AWS certified (Months 3-6)
- Learn Docker and IaC (Months 6-8)
- Build portfolio projects (Months 8-12)
- Apply to jobs, expect rejections, keep learning
You donât need to know everything to start. You need to know enough to be useful and willing to learn the rest.
My friendâs friend who wants to transition from freelance to permanent? Hereâs my advice:
- Take the AWS Solutions Architect Associate exam within 3 months
- Build 3 portfolio projects showing end-to-end systems
- Contribute to an open-source DevOps tool
- Document everything you build
- Network aggressively - LinkedIn, meetups, conferences
- Apply to 50+ jobs, expect 5 interviews, hope for 1 offer
Itâs a grind. But itâs doable.
And once youâre in, the learning never stops. Thatâs the beauty of DevOps - thereâs always something new to learn, something to optimize, something to automate.
Now stop reading and start building. Your lab environment isnât going to set itself up.
Further Reading:
- The Phoenix Project (book) - Understand DevOps culture
- The DevOps Handbook (book) - DevOps practices explained
- Site Reliability Engineering (free online) - How Google does operations
- AWS Well-Architected Framework - How to build on AWS properly