What is DevOps and how to get started from scratch
What a DevOps engineer does, what to learn in order (Linux, networking, Docker, GitHub Actions, the cloud and monitoring) and what to build first.
DevOps is a way of working where development and operations stop being separate: code is tested, packaged and deployed automatically, and the team knows the app is alive thanks to monitoring. A junior DevOps / Cloud engineer keeps that path working.
1. What a junior DevOps engineer does
- Maintain and fix CI/CD pipelines (for example, when a check turns red).
- Write Dockerfiles and Docker Compose files.
- Deploy to the cloud and set up environment variables, domains and HTTPS.
- Check logs and alerts when something breaks.
Before you start, you should know basic programming in any language and use Git with branches.
2. What to learn and in what order
- The terminal and Linux: navigate the file system,
grep,|pipes, permissions withchmodand Bash scripts. - Networking: IPs, ports, DNS, HTTP and HTTPS, SSH and
curl. Understanding how a request travels saves you hours of debugging. - Docker: images, containers, Dockerfiles, volumes and Docker Compose.
- CI/CD with GitHub Actions: run tests on every Pull Request and build the image.
- The cloud: deploy to Vercel, Firebase Hosting or Render, with a custom domain and rollback.
- Monitoring: useful logs, metrics, uptime monitors and alerts that aren't noise.
3. An example: your app in a box
FROM node:22-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --omit=dev
COPY . .
USER node
EXPOSE 3000
CMD ["node", "server.js"]
Copying package.json before the rest of the code takes advantage of the layer cache: if you only change code, Docker doesn't reinstall dependencies.
And a minimal CI workflow in .github/workflows/ci.yml:
on: [pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
- run: npm ci
- run: npm test
4. Portfolio projects
- Bash script kit: check a log, make dated backups, verify that a URL responds.
- App with Docker Compose: a small API with PostgreSQL or Redis that starts with
docker compose up. - Full pipeline: tests on every PR, automatic deploy on merge to
main, a public URL and monitoring with alerts.
In DevOps what you show is that it runs on its own: a green pipeline and a README that explains how.
5. Common mistakes
- Committing the
.envfile. Secrets belong in environment variables or GitHub Actions secrets. - Running containers as root when there's no need.
- Learning Kubernetes before Linux and Docker. Foundations first.
- Alerting on everything. If everything rings, nobody listens. Alert only on what requires action.
If Git is still hard for you, start with what is Git and GitHub. It also helps to understand what a backend and a REST API are.
Next step
Codea's free DevOps / Cloud Jr route follows this order in 6 weeks and ends with a final project: a containerized app that tests, deploys and monitors itself, reviewed by a mentor. Route content is in Spanish.
Videos, hands-on challenges, quizzes and teacher reviews (route content is in Spanish).