Curricula catalog / software-engineering-base

apprenti-dev/software-engineering-base

Official

The reference working copy — two long-form apprenticeships and fourteen shorter specializations. Shared competencies and open resources live once at the repo root.

View the repository →

16 curricula in this repository

Reference apprenticeships

The long-form paths this repository was built around. Shared competencies and open resources live once at the repo root so every curriculum below can reuse them by id.

Software Engineering Apprenticeship

Reference curriculum

The first official apprenti.dev path — 54 tasks across four academic years plus summer practice, covering software engineering from first principles through independent, mentor-reviewed work.

PythonCJavaScript/TypeScriptC#GoSQLDartPostgreSQLMongoDBRabbitMQDockerGit
View on GitHub →curricula/software-engineering

Data Analytics and AI Apprenticeship

v0.1 — growing

Year 1 (both terms plus summer) and Year 2 Term 1 so far — 19 tasks moving from analytics and inference through first models to LLM and retrieval work, each evaluated on held-out cases, not vibes. Later years aren't authored yet.

PythonSQLpandasPostgreSQLSQLitescikit-learnGit
View on GitHub →curricula/data-analytics-ai

Focused paths — start here

Shorter specializations for people who already write software and want a mentor-reviewed path through one craft. Durations are the designed range, not a promise.

AI-Native Software Engineering

4–6 months

For working developers. Treat AI assistance as disclosed, verified professional practice — agentic workflows, review of generated changes, and knowing when not to reach for a model.

PythonGit
View on GitHub →curricula/ai-native-software-engineering

Backend Engineering

9–12 months

For junior to mid-level developers specializing into services. Design, build, test, operate, and defend one coherent backend — HTTP APIs, data, messaging, containers, and CI.

PythonSQLPostgreSQLMongoDBRabbitMQDockerGit
View on GitHub →curricula/backend-engineering

Software Architecture & System Design

6–9 months

For mid to senior engineers. Non-functional requirements, defensible ADRs, capacity and SLO models, and defending a decision when a constraint changes.

Git
View on GitHub →curricula/software-architecture-system-design

Engineering Foundations for Junior Developers

4–6 months

For new graduates and juniors who can already code. Professional Git, reading unfamiliar code, testing what exists, methodical debugging, and writing for a reviewer.

PythonGit
View on GitHub →curricula/engineering-foundations

Specializations

Deeper paths that reuse the shared library and go further than the reference apprenticeships on one topic.

Platform / DevOps Engineering

6–9 months

Build a real pipeline, ship through it, observe what happens, and roll it back. Containers, CI, infrastructure as code, and production signal — locally first.

BashYAMLDockerGitHub ActionsOpenTofuPrometheus
View on GitHub →curricula/platform-devops-engineering

Distributed Systems Engineering

4–6 months

For mid and senior backend engineers. Replicate, partition, and break systems until consistency and failure trade-offs are something you can reproduce, not folklore.

PostgreSQLKafkaRabbitMQDocker
View on GitHub →curricula/distributed-systems-engineering

Data Engineering

6–9 months

The engineering of data movement — batch and stream pipelines, contracts, orchestration, idempotent reprocessing, schema evolution — distinct from the analytics and modelling path above.

PythonSQLPostgreSQLKafkaGit
View on GitHub →curricula/data-engineering

Application Security Engineering

4–6 months

Defensive AppSec for software engineers: threat modelling, authentication, secure coding, secrets, and verified fixes. Find and fix issues in work you own — not a CTF.

OWASPGit
View on GitHub →curricula/application-security-engineering

Software Quality & Test Engineering

4–6 months

Map tests to real risk, measure quality directly, and defend the gates you add to a pipeline — contract tests, mutation testing, load tests, CI quality signals.

GitHub Actionsk6Pact
View on GitHub →curricula/software-quality-test-engineering

Shorter specializations

Tighter paths for experienced engineers who want evidence of one capability, not another multi-year apprenticeship.

Engineering Leadership

4–6 months

For seniors and tech leads. Mentoring, delegation, cross-team influence, and technical decisions at team scope — judged on inspectable briefs, reviews, and communications.

Git
View on GitHub →curricula/engineering-leadership

Performance Engineering

3–4 months

Measure first. Profile, benchmark, cache with evidence, load-test, and reason about capacity from numbers you produced — not guessed.

OpenTelemetryPrometheus
View on GitHub →curricula/performance-engineering

Observability & Production Engineering

3–4 months

Instrument, measure, alert, respond, and learn without blame. Logs, metrics, traces, SLOs, and incident response as evidence, not tooling tourism.

OpenTelemetryPrometheus
View on GitHub →curricula/observability-production-engineering

Open Source Engineering

2–3 months

Real contribution and maintainership. Evidence is an externally verifiable pull request, issue, or review — licensing, collaboration, and judgment under your own name.

Git
View on GitHub →curricula/open-source-engineering

Industrial / Edge Software Engineering

6–9 months

Resource-constrained and edge software: determinism, constrained memory, industrial protocols, and update safety. Host-side C, QEMU, or a board you already have — no proprietary kit required.

CQEMUGit
View on GitHub →curricula/industrial-edge-software-engineering