Overview
Add a new "DevOps Challenges" feature where users learn by completing real-world tasks and submitting solutions as PRs, rather than following step-by-step guides.
Concept
Unlike our guided exercises (step-by-step instructions), challenges give users an open-ended task and let them figure out the solution. This simulates real-world engineering work where you get a ticket, not a tutorial.
How it Works
- Each challenge has a template repository on GitHub (DevOps Daily org)
- User forks the template repo
- Template includes a README with the challenge brief, acceptance criteria, and hints
- User implements their solution and submits a PR to their fork
- Automated CI checks validate the solution (tests, linting, infrastructure checks)
- Optional: AI-powered code review on the PR
- User earns a badge/certificate for completed challenges
Challenge Examples
- "Fix this broken CI/CD pipeline" (template has a failing GitHub Actions workflow)
- "Containerize this application" (template has a raw Node.js app, no Dockerfile)
- "Set up monitoring for this service" (template has an app but no observability)
- "Write Terraform for this architecture" (template has an architecture diagram, no IaC)
- "Debug this Kubernetes deployment" (template has broken K8s manifests)
- "Secure this application" (template has intentional security issues)
- "Optimize this Docker image" (template has a 2GB image that should be 200MB)
Difficulty Levels
- Starter: single-tool tasks (write a Dockerfile, fix a YAML syntax error)
- Intermediate: multi-step tasks (CI/CD pipeline + deployment + monitoring)
- Advanced: architecture-level tasks (design and implement a full solution)
Technical Implementation
On devops-daily.com
- New content type:
content/challenges/*.json with metadata (title, description, difficulty, repo URL, acceptance criteria)
- Challenge listing page at
/challenges
- Challenge detail page showing brief, hints, submission link
- Progress tracking (which challenges completed)
- Leaderboard (optional)
Template Repositories
- GitHub org repos named
challenge-*
- Each repo has:
README.md with the challenge brief
.github/workflows/validate.yml that tests the solution
tests/ directory with acceptance tests
- Starter code (the broken/incomplete thing to fix)
Automated Validation
- GitHub Actions in each template repo
- Runs when a PR is opened
- Checks if the solution passes all acceptance criteria
- Posts a comment with results (pass/fail per criteria)
Integration with Existing Features
- Challenges can reference related exercises, quizzes, and blog posts
- Completing a challenge could unlock achievements in the (future) DevOps Daily Pro platform
- Social sharing: "I completed the Kubernetes debugging challenge on DevOps Daily"
Implementation Phases
Phase 1: Foundation
Phase 2: Engagement
Phase 3: Community
Why This Matters
Tutorial hell is real. Engineers watch videos and follow guides but struggle when faced with a blank editor and a real problem. Challenges bridge that gap by providing the problem without the solution, forcing active learning.
Overview
Add a new "DevOps Challenges" feature where users learn by completing real-world tasks and submitting solutions as PRs, rather than following step-by-step guides.
Concept
Unlike our guided exercises (step-by-step instructions), challenges give users an open-ended task and let them figure out the solution. This simulates real-world engineering work where you get a ticket, not a tutorial.
How it Works
Challenge Examples
Difficulty Levels
Technical Implementation
On devops-daily.com
content/challenges/*.jsonwith metadata (title, description, difficulty, repo URL, acceptance criteria)/challengesTemplate Repositories
challenge-*README.mdwith the challenge brief.github/workflows/validate.ymlthat tests the solutiontests/directory with acceptance testsAutomated Validation
Integration with Existing Features
Implementation Phases
Phase 1: Foundation
/create-challengeskill for content generationPhase 2: Engagement
Phase 3: Community
Why This Matters
Tutorial hell is real. Engineers watch videos and follow guides but struggle when faced with a blank editor and a real problem. Challenges bridge that gap by providing the problem without the solution, forcing active learning.