A PRACTICAL SOFTWARE ENGINEERING CURRICULUM
Build the judgment.
Then write the code.
Start with code. End with systems you can defend.
Solve unfamiliar problemsBuild production systemsDefend design decisions
TRY A PROBLEM
Pick a problem.
See it click.
Each one starts with a question. The visual makes the answer easier to reason about.
SLIDING WINDOW
What is the shortest substring containing A, B, and C?
ADOBECODEBANCneedsA · B · CANSWERBANC
Expand until the window has every needed letter. Then shrink it until removing one would break the match.
EXPAND, CHECK, THEN SHRINK32-second walkthrough
ADOBECODEBANC
Watch j add characters and i remove them. The Counter changes only when a required letter crosses an edge.
THE CORE JOURNEY
Choose a part,
or follow the full path.
ABCDE
Coding and problem solving
Choose the state, solve the problem, and review AI-assisted changes.
Production applications
Connect browser, API, database, tests, and access boundaries.
System design and scale
Design from requirements, then reason about capacity, performance, and cost.
Production operations
Provision, deploy, observe, and recover a running application.
System evolution and leadership
Migrate live systems and make decisions other teams can execute.
READY WHEN YOU AREStart at the beginning.
Start at the beginning.
Or browse for what you need.
Start with Part A
Progress stays on this device.