Junior → mid-level roadmaps — Software Engineering and Applied AI

Two MAIC-aligned, gate-driven paths in one place — Software Engineering (~18 months) and Applied AI (~20 months) — with browser-persisted progress tracking.

Pick your track

Two gated paths from junior to mid-level, aligned to MAIC's public architecture: Software Engineering owns the deterministic system around the intelligence; Applied AI owns the probabilistic intelligence inside it. Check off stages and gates as you complete them — progress is saved in this browser (localStorage) and does not sync across devices.

The path at a glance

Target profile: independently design, implement, deploy, observe, secure, debug, and evolve a production feature spanning UI, API, data, and integrations — including AI-powered features when required. Progress is gated by demonstrable exit criteria, not elapsed time.

Planning horizon
~18 mo
4 stages + final graduation gate
Weekly commitment
12–15 h
~6–7.5 h of it building
Deliberate-study hours
936–1,170
estimate, not a promotion clock
Stages complete
0/4
check them off below
Gates passed
0/5
4 stage gates + graduation

The split that frames both roadmaps

Software Engineering owns the deterministic system around the intelligence; Applied AI owns the probabilistic intelligence inside the system. This path builds the product/platform engineer archetype — end-to-end ownership over narrow layer specialization.
Assumed entry baseline — expand if not yet comfortable

This roadmap starts at a junior-developer baseline: working programs, Git, basic data structures, reading docs, debugging ordinary errors, calling an HTTP API, and building a basic CRUD app. If those are not comfortable, add roughly 8–12 weeks before Month 1 for programming fundamentals, Git, basic SQL, HTTP, shell usage, and testing.

Default stack: TypeScript, React/Next.js, PostgreSQL, plus enough Python to work across AI/backend services. Use AI coding tools aggressively — without outsourcing understanding.

Timeline

1 · Foundations
2 · Product eng.
3 · Production sys.
4 · Ownership
Graduation gate

Ranges are planning estimates. Advance when you can demonstrate the exit criteria — the month ending is not the gate.

Stages and exit gates

Each stage ends with a practical assessment that must pass before moving on. Expand a stage for curriculum detail and the assessment's pass criteria; tick “Done” and “Gate passed” as you earn them.

01

Production-minded foundations

Months 0–3 · 12–15 h/wk

Go deeper than “I know JavaScript.” Write correct, tested software and understand what the runtime, the database, and the network are actually doing.

Primary outcome
Correct, tested software plus real runtime/DB/network mental models.
Assessment gate
Ledger API — transactional account/ledger service.
Exit criteria
Explain a bug from HTTP request → app logic → SQL; write a migration safely; read a query plan; distinguish retryable from permanent errors; debug without an AI guessing blindly.
Curriculum

Language and runtime: TypeScript's type system, asynchronous execution, errors, modules, package management, process/runtime behavior, basic memory and performance concepts, shell tooling, Git branching and rebase, debugging, HTTP semantics, DNS/TLS at a practical level, REST conventions, JSON/schema validation, and test design.

Database: SQL joins and aggregates, normalization vs. denormalization trade-offs, transactions, constraints, foreign keys, indexes, query plans, locking, isolation, migrations, and safe schema evolution — PostgreSQL treats indexing, concurrency, performance, reliability, monitoring, backup, and replication as core operational topics.

Testing and CI: unit, integration, and API-level tests; separate deterministic business logic from side effects; automated build/test feedback on every change.

Assessment — Ledger API

Build a transactional account/ledger service. Required evidence: PostgreSQL schema, migrations, API, tests, query-plan analysis, and CI.

Pass: zero balance/transaction invariants violated across concurrent test cases; failed operations roll back correctly; CI green; critical SQL uses justified indexes; you can explain every transaction boundary.

02

Full-stack product engineering

Months 4–7 · 12–15 h/wk

Own an ordinary product feature end-to-end: interface, API, database, security, and deployment.

Depends on
Stage 1 gate passed
Assessment gate
OpsCase — multi-user case-management system.
Exit criteria
Take a small feature from requirements to UI, API, migration, tests, PR, deployment, and post-deploy verification without someone designing each step.
Curriculum

Frontend: React component/state patterns, forms, validation, loading and error states, accessibility, pagination, optimistic vs. confirmed updates, caching, and frontend performance.

Backend: API boundaries, service-layer design, validation, authentication, authorization, pagination, rate limiting, structured errors, API versioning, and third-party integrations. Learn Python/FastAPI enough to operate outside a pure TypeScript monoculture.

Security: sessions/tokens, OAuth/OIDC concepts, CSRF, XSS, injection, authorization errors, secure file handling, secret management, tenant boundaries, and threat modeling — OWASP ASVS 5.0 is the verification baseline.

Assessment — OpsCase

Build a multi-user case-management system. Required evidence: React UI, API, PostgreSQL, authentication, RBAC, audit events, tests, and a real deployment.

Pass: unauthorized-access tests all fail closed; every state change is persisted and attributable; critical flows work keyboard-only; API integration tests cover success and failure; a fresh deployment succeeds from documented instructions.

03

Production systems

Months 8–12 · 12–15 h/wk

Study the failure modes that CRUD tutorials hide: reliable integrations, asynchronous workflows, observable services, and secure deployments.

Depends on
Stage 2 gate passed
Assessment gate
Connector Hub — synchronize two mocked external SaaS systems.
Exit criteria
When a simulated dependency times out, sends duplicate webhooks, returns 429s, or disappears, your system degrades predictably instead of corrupting data.
Curriculum

Failure modes: queues and background workers, event-driven workflows, webhooks, retry/backoff, dead-letter handling, idempotency, deduplication, concurrency, optimistic/pessimistic locking, eventual consistency, caching, rate limits, timeouts, circuit breaking, bulkheads, scheduled jobs, file processing, and integration recovery.

Containers: Dockerized services and local dependencies — multi-container stacks (frontend, API, database, proxy, supporting services) as a normal application shape.

Observability as design: structured logs, correlation IDs, spans, traces, metrics, RED/USE concepts, dashboards, alerts, error budgets, and debugging from telemetry rather than console.log. OpenTelemetry is the vendor-neutral standard.

Database operations: slow queries, connection pools, lock contention, vacuum/analyze, backups, restore testing, replication concepts, and schema/data migration under load.

Assessment — Connector Hub

Synchronize two mocked external SaaS systems. Required evidence: webhooks, a queue, retry/backoff, idempotency, a dead-letter path, OpenTelemetry traces, and dashboards.

Pass: duplicate events cause no duplicate business action; transient failure recovers automatically; permanent failure is observable and replayable; request → job → external call is traceable end-to-end.

04

Mid-level ownership

Months 13–18 · 12–15 h/wk

Move from implementation to engineering judgment: design and own a bounded production system with architectural, operational, and product judgment.

Depends on
Stage 3 gate passed
Assessment gate
Operational Workflow Service — approval-driven enterprise process.
Exit criteria
Given a bounded problem (not an implementation plan), propose and execute a credible architecture, anticipate its main failures, operate it after release, and defend your trade-offs.
Curriculum

Design documents: write short docs before major work — context, requirements, non-goals, data model, interfaces, alternatives, failure modes, security, rollout, observability, migration, and rollback.

System design: modular monoliths vs. services, synchronous vs. async workflows, consistency boundaries, state machines, distributed locks, queues, API gateways, multi-tenancy, permissions, data lineage, audit logs — and when not to introduce complexity.

Operations: rollout strategies, feature flags, migrations, incident response, root-cause analysis, postmortems, capacity planning, performance testing, dependency upgrades, and cost awareness.

Review and communication: review another engineer's code, identify risky assumptions, break work into deliverable increments, and explain trade-offs to product, design, and non-engineering stakeholders.

Assessment — Operational Workflow Service

Build an approval-driven enterprise process service. Required evidence: design doc, multi-tenant model, workflow state machine, approvals, audit log, CI/CD, threat model, and runbook.

Pass: no demonstrated cross-tenant access; sensitive transitions require authorization; the rollback procedure works; one injected dependency outage is detected and handled using telemetry/runbook rather than manual database edits.

Final graduation gate

Build a fresh system from a new specification — roughly 50–70 hours across four to five weeks — rather than polishing an earlier project.

Scenario — procurement operations

A fictional company has purchase requests flowing between a procurement app, an inventory system, and a finance system. Your application must model requests, synchronize simulated external systems, surface discrepancies, route approvals, execute permitted actions, and preserve an audit trail.

Graduation evidence requirements
Area Required evidence
ProductWorking UI for normal and exceptional workflows; clear loading/error/approval states.
API/dataVersioned API contract, schema migrations, constraints, transaction boundaries, documented data model.
IntegrationAt least two simulated external integrations — one webhook-based, one pull/API-based.
ReliabilityTimeouts, retries, idempotency, duplicate-event handling, dead-letter/recovery path.
SecurityThreat model plus ASVS-derived checklist; no unresolved known Critical/High authorization, injection, or secret-management defect.
ObservabilityStructured logs, metrics, distributed traces; one business operation traceable across synchronous + asynchronous work.
PerformanceOn a documented reference environment, ≥99.5% successful non-fault-injected requests at 25 RPS and p95 <500 ms for ordinary non-AI API reads.
OperationsDeployment instructions, backup/restore demonstration, rollback procedure, incident runbook, one fault-injection exercise.
Design3–6 page architecture/design document covering alternatives, trade-offs, failure domains, and what you intentionally did not build.
Communication20-minute architecture review plus a simulated PR review of another engineer's change.

Graduation rule

Every security and data-integrity gate is mandatory, and at least 8 of the remaining 9 evidence categories must pass. A flashy UI cannot compensate for unsafe authorization, data corruption, or an architecture you cannot explain.

What actually changes from junior to mid

The deepest transition is not “knows more libraries” — it is the loop you run. Rubric synthesized from MAIC's public constraints and current frontier-startup expectations.

Junior loop

  1. Requirement
  2. Implementation
  3. Tests
  4. Ask for review

Mid-level loop

  1. Problem → clarify constraints → design
  2. Identify failure, security, and data boundaries
  3. Implement → measure → deploy safely
  4. Observe real behavior → diagnose → improve
Full competency rubric — junior vs. mid (19 dimensions)
Junior to mid-level competency matrix for software engineering
Competency Junior Mid-level
Problem scopeImplements well-defined tickets.Converts ambiguous bounded problems into technical plans and increments.
Code ownershipOwns functions/components/small endpoints.Owns a feature or bounded service end-to-end.
FrontendBuilds components from existing patterns.Designs coherent product flows, error/loading states, accessibility and API interaction.
Backend/APIAdds endpoints with guidance.Designs API boundaries, validation, auth, async work, compatibility and failure handling.
Data modelingWrites ordinary SQL/ORM queries.Designs schemas, constraints, migrations and transactional boundaries.
SQL/performanceUnderstands indexes and joins.Diagnoses slow queries, locks, pool exhaustion and migration impact.
TestingWrites unit tests after implementation.Defines test strategy across units, integrations, contracts and failure cases.
AI evaluationUnderstands basic concept.Can verify AI integration but does not own model quality.
Retrieval/contextConsumes an existing AI API.Integrates search/retrieval where needed.
Agents/toolsIntegrates an existing agent.Builds surrounding APIs and controls safely.
SecurityFollows team patterns.Performs basic threat modeling and catches auth/input/secret/tenant issues.
ReliabilityHandles obvious exceptions.Designs retries, timeouts, idempotency, queues, recovery and rollback.
ObservabilityReads logs.Adds useful logs, metrics and traces and debugs production incidents from them.
PerformanceFixes obvious hotspots.Profiles and improves database/API/frontend/system bottlenecks.
DeploymentDeploys through established pipeline.Changes CI/CD and executes safe migrations/releases/rollback.
ArchitectureWorks inside existing architecture.Proposes bounded architecture and explains trade-offs.
Product judgmentFocuses on correct implementation.Connects implementation decisions to user/business outcomes.
IndependenceRequires frequent technical direction.Operates independently for days/weeks on bounded work and escalates genuine uncertainty.
CommunicationExplains implementation.Writes design docs, reviews code and communicates trade-offs.
AI-native developmentUses coding assistants for implementation.Uses them for acceleration while independently verifying architecture/tests/security.

Weekly rhythm

At 12–15 hours per week, roughly 6–7.5 hours should be spent building — not watching courses.

Recommended share of weekly time
Weekly time allocation
Activity Share of weekly time
Building50%
Docs & study20%
Testing & eval15%
Design & review10%
Retro notes5%

The rule that makes this path work

Every substantial system you build must survive failure injection. Disconnect the database. Duplicate the webhook. Make the external API return 429. Expire the auth token. Send malformed payloads. Restart a worker halfway through a job. Roll back a migration. Restore a backup. Inspect the trace. That is what converts “I can build applications” into “I can own systems.”

Resources and source priority

Primary specs and documentation define how the technology works; startup job pages only tell you what the frontier currently values. Filter by priority.

Recommended resources by priority
Priority Resource Use it for
P0MAIC — About / platformThe real target environment: operational apps, connected systems, ontology/context, agents, approvals, traceability.
P0MAIC platform TermsMulti-tenancy, privileged security, data ownership, third-party dependencies, AI uncertainty, human approval.
P1PostgreSQL current documentationSQL, indexes, transactions, concurrency, query planning, security, reliability, backups, replication, monitoring.
P1OWASP ASVS 5.0Software-engineering security verification baseline.
P1OpenTelemetry docsVendor-neutral traces, metrics, logs, and instrumentation.
P1GitHub Actions — CIAutomated test/build/release discipline.
P1Docker — Get StartedContainers, reproducible environments, multi-service development.
P2Fieldguide — AI Engineer (YC)Example of 2026 applied expectations: agents, retrieval, evals, production reliability.
P2Retell AI — Software Engineer, New Grad (YC)How high the junior ownership bar has become at a fast-moving AI startup.
P2item — Product Engineer (YC)Product engineering + PostgreSQL + React/TypeScript + agent-first systems.
P2AirCaps — Product Engineer (YC)End-to-end AI product work, latency/reliability, multimodality, rapid iteration.