Assignment: Containerize and Ship
History of Containers and CI/CD
Indicative as of May 2026: see Sources for current numbers.
This page answers two questions students ask every week: why am I learning this, and how does it help me find a job?
It is scoped to Week 5 content: Docker containers, dependency management with uv, Azure Container Registry, and GitHub Actions CI pipelines. Other weeks' career pages each cover their week's tools. Generic NL junior-data career content lives in one shared page across the curriculum and is not repeated here.
The numbers below are a rough reading of public NL postings as of May 2026. They are indicative, not measured. Placeholders are marked ~XX% for future replacement with measured percentages.
Containerization and CI/CD have moved from "nice to have" to a baseline expectation at most NL data teams in the last two years. Docker is named explicitly in a large share of engineer-track postings; CI is named in fewer but implied by nearly all that mention "production" or "automated deployment."
| Role | Postings expecting containers and CI | What the posting expects |
|---|---|---|
| Data Engineer (DE) | ~75% | Hands-on. "Docker", "containerized pipelines", "GitHub Actions or Azure DevOps", "push to a registry". Week 5 maps directly to these job requirements. |
| Analytics Engineer (AE) | ~30% | Lighter expectation: AE roles often own the dbt layer and rely on platform teams for containers. Some postings mention "comfortable with Docker" as a plus. |
| Data Scientist (DS) | ~40% | ML-engineer-adjacent roles (recommender systems, production model serving) expect the full Docker + CI stack. Pure research DS roles rarely mention it. |
| Data Analyst (DA) | ~10% | Rarely required. Scale-ups hiring technical analysts occasionally mention it as a plus, not a requirement. |
The directional shape: DE roles treat Docker and CI as table-stakes; AE and ML roles use them selectively; DA roles rarely require them. If you are aiming at DE, this week is the floor that separates candidates who can "write a pipeline" from candidates who can "ship a pipeline."
| Concept | Tool taught | Common NL alternatives | Practical implication |
|---|---|---|---|
| Container runtime | Docker | Podman (rootless, used in some enterprise environments), containerd | OCI-standard images work across all runtimes. The build commands differ slightly, but the Dockerfile and image format transfer. |
| Container registry | Azure Container Registry (ACR) | Docker Hub (public registries, less common for production), Amazon ECR, Google Artifact Registry, Harbor (self-hosted) | Registries follow the same push/pull API. The auth flow (az acr login vs aws ecr get-login-password) differs, but the concepts are identical. |
| Dependency management | uv + uv.lock |
Poetry + poetry.lock (common at NL scale-ups), Conda (data-science heavy shops), plain pip + requirements.txt (legacy codebases) |
Lock files from different tools serve the same purpose. uv is newer and faster; Poetry is older and more established. You will encounter both. |
| CI platform | GitHub Actions | Azure DevOps Pipelines (common at NL enterprises, especially banks and government), GitLab CI (tech companies), Bitbucket Pipelines (Atlassian shops) | The YAML syntax differs; the concepts (trigger, job, step, secret) transfer exactly. Week 5 teaches the concepts, not just the GitHub Actions syntax. |
| Secrets management | GitHub Secrets | Azure Key Vault (covered in Week 12), AWS Secrets Manager, HashiCorp Vault | GitHub Secrets is the entry point. Production teams layer in Key Vault for long-lived credentials managed outside a single repo. |
What this means for your CV: name the tools you used, but frame the skills as transferable. "Built and pushed Docker images to Azure Container Registry via a GitHub Actions CI workflow" communicates the skills regardless of which registry or CI platform the interviewer uses.
Postings phrase the expectation at three levels:
Week 5 is the foundation for the medior expectation. The hands-on ACR push, commit SHA tagging, and GitHub Actions CI workflow give you the vocabulary and the artifact to demonstrate in an interview.
Strong line a student can copy-adapt:
Containerized a Python ingestion pipeline using Docker: wrote a cache-friendly Dockerfile (dependency layers separate from source), used
uv sync --frozen --no-devto pin exact production dependencies, tagged images with the Git commit SHA for traceability, pushed to Azure Container Registry via a GitHub Actions workflow triggered on every pull request, and stored Azure credentials as an encrypted GitHub Secret.
Recruiter keywords this carries: Docker, Dockerfile, Azure Container Registry, GitHub Actions, CI/CD, uv, pinned dependencies, commit SHA tagging, GitHub Secrets, containerized Python.
Weaker alternative for contrast (avoid):
Used Docker to package my pipeline.
The weaker version is true but says nothing a junior who typed docker build once could not also say. The strong version names the specific patterns, the specific tools, and the specific decisions.
Three sentences that cover the assignment cleanly when an interviewer asks "tell me about a project you have built":
uv sync --frozen --no-dev, then copied source. That order means editing a single Python file does not trigger a full dependency reinstall during the Docker build, which matters when CI runs the build on every push."${{ github.sha }}. That way every deployed image is traceable back to the exact commit: if something breaks in production I can roll back to the previous SHA tag and know exactly what code I am running."azure/login action in the workflow so the runner could push to ACR without storing credentials in the repo."Two honest follow-ups if asked "what would you do differently?":
Week 5 is the packaging and verification layer, not the deployment layer. After this week you are not yet:
These are the senior-shaped skills the chapter does not yet make you qualified for. Naming them honestly in an interview is more impressive than overclaiming.
Mark this page indicative, not statistical. Numbers will be replaced with measured percentages once the postings-crawler project ships.
<aside> 💭 For generic NL junior data-career content (salary bands, day-to-day work, what employers do not expect from any junior), one shared page across all weeks is the right home. That page does not exist yet; for now, treat this page as Week-5-specific only.
</aside>
The HackYourFuture curriculum is licensed under CC BY-NC-SA 4.0 *https://hackyourfuture.net/*

Built with ❤️ by the HackYourFuture community · Thank you, contributors
Found a mistake or have a suggestion? Let us know in the feedback form.