🗺️ Terraforming My Career – Macro Plan
A sequential roadmap to become Cloud & Platform Engineer with Terraform, AWS, Docker, Kubernetes & Observability
🌱 Phase 0 – Orientation & Setup
- Install AWS CLI, Git, and Terraform
- Create and test programmatic access to AWS (Free Tier)
- Create repo structure & initial notes (
terraforming-my-career
) - Write
01-getting-started.md
- Complete
02-change-management.md
- Complete
03-destroy-infrastructure.md
- Start reading Terraform Up & Running (Third Edition)
- Maintain reading notes in
terraform-up-and-running.md
🧱 Phase 1 – Core Terraform Fundamentals
- 📘 Finish Chapter 2 of the book
- Create
04-variables-outputs.md
- Practice defining variables and outputs
- Use
.tfvars
and CLI vars - Practice writing clean, parameterized
.tf
configs - Extend with conditional logic and interpolation
🧰 Phase 2 – Modules & Reusability
- 📘 Read Chapter 6 (Terraform Up & Running)
- Create
05-modules.md
- Refactor EC2 & S3 configs into modules
- Learn
source
,input
,output
,locals
- Create your own root and child module structure
🌐 Phase 3 – Remote State & Workspaces
- 📘 Read Chapter 7
- Create
06-remote-state.md
- Store Terraform state in S3
- Use DynamoDB for state locking
- Configure multiple workspaces (dev/staging/prod)
🛡️ Phase 4 – Validation & Testing
- Integrate
terraform validate
,fmt
,plan
- Learn
tflint
,tfsec
,checkov
- Create
07-validation.md
with examples - Automate checks with Makefile or GitHub Actions
🐳 Phase 5 – Docker Fundamentals
- Create
docker/01-getting-started.md
- Build custom images (single & multi-stage)
- Push to Docker Hub or ECR
- Learn
docker-compose
🔄 Phase 6 – CI/CD with GitHub Actions
- Automate Terraform plan/apply (non-prod)
- Set up basic pipeline for Docker builds
- Trigger Terraform via PRs or commits
☸️ Phase 7 – Kubernetes Fundamentals
- Set up Minikube or K3s locally
- Deploy simple apps with manifests
- Use Helm charts
- Create
kubernetes/intro.md
🔍 Phase 8 – Observability & Platform Thinking
- Deploy Prometheus + Grafana + Loki
- Instrument simple metrics/logs
- Create dashboards for EC2 or K8s
- Reflect on platform-as-product mindset
🔚 Ongoing & Capstone Ideas
- Track jobs and reflect in
meta/job-search.md
- Design a sample multi-env platform from scratch
- Write blog posts or project README with architecture diagrams