Skip to content

Latest commit

 

History

History
258 lines (203 loc) · 6.69 KB

File metadata and controls

258 lines (203 loc) · 6.69 KB

Junior DevOps Engineer Checklist

Use this checklist to assess your readiness for junior DevOps positions (0-2 years experience).

Linux Fundamentals

Basic Commands

  • Navigate filesystem (cd, ls, pwd)
  • File operations (cp, mv, rm, mkdir)
  • Text processing (cat, grep, sed, awk)
  • File permissions (chmod, chown)
  • Process management (ps, top, kill)
  • System information (df, du, free, uptime)

System Administration

  • Understand file system structure (/etc, /var, /usr, etc.)
  • Manage services (systemd: start, stop, enable, disable)
  • Configure network interfaces
  • Understand package management (apt/yum)
  • Basic shell scripting (bash)
  • Cron jobs and scheduling

Troubleshooting

  • Check system logs (/var/log)
  • Monitor system resources
  • Debug process issues
  • Check disk space and memory
  • Basic network troubleshooting (ping, netstat, ss)

Cloud Basics (AWS)

Core Services

  • EC2: Launch instances, security groups
  • S3: Create buckets, upload/download files
  • VPC: Understand subnets, internet gateway
  • IAM: Users, roles, policies basics
  • CloudWatch: View logs and metrics

Basic Operations

  • Launch EC2 instance via console
  • Create S3 bucket and upload files
  • Configure security groups
  • Understand regions and availability zones
  • Basic IAM user/role creation

Containerization

Docker Fundamentals

  • Understand containers vs VMs
  • Docker commands (run, build, push, pull)
  • Write basic Dockerfile
  • Docker Compose basics
  • Container networking basics
  • Docker volumes

Hands-on

  • Containerize a simple application
  • Build and push image to registry
  • Use Docker Compose for multi-container app
  • Debug container issues

Version Control

Git Basics

  • Clone, add, commit, push
  • Create and merge branches
  • Resolve merge conflicts
  • Understand .gitignore
  • Basic Git workflow

Collaboration

  • Create pull/merge requests
  • Code review basics
  • Understand Git branching strategies

CI/CD Basics

Concepts

  • Understand CI/CD pipeline
  • Difference between CI and CD
  • Basic pipeline stages (build, test, deploy)

Tools (Choose One)

  • GitHub Actions: Basic workflow
  • GitLab CI: Basic .gitlab-ci.yml
  • Jenkins: Basic pipeline

Hands-on

  • Create simple CI pipeline (build + test)
  • Deploy to staging environment
  • Understand pipeline logs and debugging

Infrastructure as Code Basics

Terraform Fundamentals

  • Understand IaC concepts
  • Basic Terraform syntax (resources, variables)
  • Terraform commands (init, plan, apply)
  • Understand state file

Hands-on

  • Create simple infrastructure (EC2, S3)
  • Use variables and outputs
  • Understand terraform plan output

Monitoring & Logging Basics

Concepts

  • Understand monitoring importance
  • Basic metrics (CPU, memory, disk)
  • Log aggregation basics
  • Alerting concepts

Tools (Basic Familiarity)

  • CloudWatch (AWS) or equivalent
  • Basic log viewing
  • Understand dashboards

Security Basics

Concepts

  • Principle of least privilege
  • Secrets management basics
  • Encryption at rest and in transit
  • Basic firewall concepts

Practices

  • Never commit secrets
  • Use strong passwords/keys
  • Understand security groups/firewalls
  • Basic SSL/TLS understanding

Networking Basics

Concepts

  • Understand IP addresses and subnets
  • Basic DNS understanding
  • Ports and protocols (HTTP, HTTPS, SSH)
  • Load balancing basics

Cloud Networking

  • VPC basics
  • Subnets (public vs private)
  • Security groups
  • Internet gateway basics

Scripting

Bash Scripting

  • Write basic scripts
  • Variables and conditionals
  • Loops
  • Functions basics
  • Error handling basics

Python Scripting (Optional but Recommended)

  • Basic Python syntax
  • Work with APIs (boto3 for AWS)
  • File operations
  • Error handling

Problem-Solving Skills

  • Can debug basic issues
  • Read and understand error messages
  • Use documentation effectively
  • Ask for help when stuck
  • Document solutions

Communication

  • Can explain technical concepts clearly
  • Write clear documentation
  • Participate in team discussions
  • Ask clarifying questions

Projects to Build

Beginner Projects

  • Deploy static website to S3 + CloudFront
  • Containerize a web application
  • Set up basic CI/CD pipeline
  • Create infrastructure with Terraform
  • Set up monitoring and alerts

Portfolio

  • GitHub profile with projects
  • README files explaining projects
  • Can discuss projects in interviews

Interview Readiness

Technical Questions

  • Can explain Linux commands and concepts
  • Can explain cloud services (EC2, S3, etc.)
  • Can explain Docker and containers
  • Can explain CI/CD pipeline
  • Can explain basic troubleshooting steps

Behavioral Questions

  • Can discuss learning experiences
  • Can discuss problem-solving approach
  • Can discuss teamwork
  • Can discuss projects you've built

Hands-on

  • Comfortable with command line
  • Can write basic scripts
  • Can deploy applications
  • Can debug common issues

Study Resources

Recommended

  • Linux Command Line book (free online)
  • AWS Free Tier account
  • Docker official documentation
  • Terraform Learn (free)
  • GitHub Actions/GitLab CI docs

Practice

  • Set up home lab (VM or cloud)
  • Complete hands-on tutorials
  • Build personal projects
  • Practice on real infrastructure

Assessment

If You Can Check 70%+:

✅ You're ready for junior DevOps interviews!

Focus Areas if Below 70%:

  1. Linux: Essential foundation, prioritize this
  2. Cloud Basics: Get hands-on with AWS free tier
  3. Docker: Containerize at least one application
  4. CI/CD: Set up at least one pipeline
  5. Practice: Build projects, don't just read

Next Steps

  1. Fill Gaps: Focus on areas with unchecked items
  2. Build Projects: Create 2-3 complete projects
  3. Practice: Use this handbook's questions
  4. Apply: Start applying to positions
  5. Interview: Practice explaining concepts
  6. Learn: Continue learning on the job

Tips for Junior DevOps Engineers

  1. Hands-on Practice: More valuable than reading
  2. Build Projects: Show what you can do
  3. Ask Questions: Don't be afraid to ask
  4. Document Learning: Take notes, write blog posts
  5. Join Communities: Learn from others
  6. Be Patient: Learning takes time
  7. Focus on Fundamentals: Strong foundation is key

Good luck! 🚀