Software Engineering
Build the fundamentals that survive framework churn: one language deeply, data structures you can reason about, version control, testing, and how code actually reaches users.
- 1
Fundamentals
Beginner~10 weeksOne language, properly. Breadth before depth is how people end up unable to finish anything.
Core syntax and control flow in one language
Pick Python, JavaScript or Go and stay there for three months.
Skill~30hData structures: arrays, maps, sets, trees
Skill~25hGit and GitHub: branching, rebasing, pull requests
Skill~12hCommand line and a real editor setup
Skill~8hBuild a CLI tool that solves a problem you actually have
Project~20h
- 2
Building real things
Intermediate~14 weeksDatabases, HTTP, testing and deployment — the parts that turn scripts into software.
Relational databases and SQL joins, indexes, transactions
Skill~30hHTTP, REST and authentication fundamentals
Skill~20hAutomated testing: unit, integration, and what not to test
Skill~22hShip a full-stack app with auth and a real database
Project~60hDeploy it, with CI running your tests on every push
Skill~18h
- 3
Engineering judgement
Advanced~16 weeksSystem design, performance and the trade-offs that separate senior engineers from prolific ones.
System design: caching, queues, replication, consistency
Skill~40hProfiling and performance: measure before optimising
Skill~25hObservability: structured logs, metrics, tracing
Skill~20hContribute a merged pull request to an open-source project
Project~30hAWS Certified Developer or equivalent cloud credential
Certification~45h