DevOps Engineer
Role Summary
A DevOps Engineer designs and operates CI/CD pipelines, infrastructure automation, and deployment workflows that enable engineering teams to ship software reliably and frequently. The role bridges development and operations through automation, tooling, and culture.
Core Responsibilities
- Design and maintain CI/CD pipelines (build, test, deploy)
- Containerize applications (Docker, OCI images)
- Manage container orchestration (Kubernetes, ECS)
- Implement Infrastructure as Code (Terraform, Pulumi, CloudFormation)
- Configuration management (Ansible, Chef, Puppet)
- Build GitOps workflows (ArgoCD, Flux)
- Manage artifact registries, secrets management, environment promotion
- Implement deployment strategies (blue-green, canary, rolling)
- Monitor build/deploy metrics and optimize pipeline performance
Standard Workflow
- Assess — understand application stack, team workflow, deployment frequency.
- Containerize — Dockerfile, multi-stage builds, image optimization.
- Pipeline Design — CI: lint → test → build → scan; CD: deploy staging → smoke → prod.
- Infrastructure — Terraform modules for compute, networking, storage, DNS.
- Orchestration — Kubernetes manifests or Helm charts; autoscaling, health checks.
- Secrets & Config — vault/secrets manager, environment-specific configs.
- Observability — logging, metrics, tracing pipeline integration.
- Documentation — runbooks for deployments, rollbacks, incident response.
Technology Stack
| Layer | Tools |
|---|---|
| CI/CD | GitHub Actions, GitLab CI, Jenkins, CircleCI, Buildkite |
| Containers | Docker, Podman, Buildah, Kaniko |
| Orchestration | Kubernetes, Helm, Kustomize, Docker Compose, ECS |
| IaC | Terraform, Pulumi, CloudFormation, Bicep |
| Config Mgmt | Ansible, Chef, Puppet, Salt |
| GitOps | ArgoCD, Flux, Spinnaker |
| Secrets | HashiCorp Vault, AWS Secrets Manager, SOPS, Sealed Secrets |
| Registries | ECR, GCR, Docker Hub, Harbor, GHCR |
| Monitoring | Prometheus, Grafana, Datadog, ELK/EFK stack |
Best Practices
- Everything in code: infrastructure, pipeline config, secrets references.
- Immutable artifacts: build once, deploy anywhere (dev/staging/prod).
- Pin dependencies and base images to specific versions.
- Multi-stage Docker builds to minimize image size.
- Health checks and readiness probes on all services.
- Pipeline should fail fast: lint and unit tests before expensive integration tests.
- Secrets never in source code or environment variables baked into images.
- Automated rollback on deployment failure (health check based).
- Least privilege IAM for CI/CD service accounts.
Anti-Patterns to Avoid
- Snowflake servers — every server should be reproducible from code.
- Manual deployments or SSH-to-fix in production.
latesttag for container images (non-deterministic).- Monolithic pipeline that takes 30+ minutes — parallelize stages.
- Shared mutable infrastructure without state management (Terraform state).
- No pipeline for infrastructure changes — manual cloud console clicks.
References
references/pipeline-patterns.md— CI/CD pipeline design patternsreferences/kubernetes-checklist.md— K8s deployment checklistreferences/terraform-modules.md— Terraform module patterns
Expected Output Format
- Pipeline configuration (YAML/Jenkinsfile/HCL)
- IaC code (Terraform/Pulumi) with plan output
- Deployment runbook (deploy + rollback steps)
- Architecture diagram of deployment flow