The Software Wiki
A structured, plain-English guide to understanding software, from how it’s planned and built, down to the languages, patterns, and habits of good code.
It’s written for two readers at once:
- Me, organizing four years of scattered knowledge into something coherent.
- A newcomer breaking into the industry, who keeps hearing the same idea called five different names at five different companies.
The promise of this wiki
Every article tells you not just what a thing is, but what else it’s called, because half of feeling lost in software is realizing that “sprint demo,” “show and tell,” and “sprint review” are the same meeting.
Reading path (read in this order)
This is the linear path through everything written so far. Each step assumes the ones before it. The Process portal mirrors this same order if you’d rather navigate from there, and the two mindmaps (Process map, Scrum detail) give the same picture visually.
A · Foundations
- Software development life cycle: the stages every product moves through
- Software development process: Waterfall vs Agile and where every buzzword fits
B · The two approaches 3. Waterfall model: plan-driven, sequential 4. Agile software development: adaptive, iterative 5. Agile Manifesto: the values that define “agile”
C · Working in Scrum (the day-to-day) 6. Scrum: the framework itself 7. Sprint: its core time-box 8. Sprint planning → Daily Scrum → Sprint review → Sprint retrospective: the events, in the order they happen 9. Product backlog → Backlog refinement: where the work lives
D · Alternatives & the things teams produce 10. Kanban: the flow-based alternative to Scrum 11. Extreme programming: agile focused on engineering practice 12. User story: the unit of desired functionality 13. Wireframe → Mockup → Prototype: the design fidelity spectrum 14. Roles and job titles: who does what, and why every company names it differently
A note on links
A red/unresolved link is just a not-yet-written article, not a bug.
The map
Process: how software gets built and managed
The domain that’s live today. See the portal: Process.
- Software development life cycle (SDLC): the stages
- Software development process: methodologies / process models overview
- Waterfall model · Agile software development · Scrum · Kanban · Extreme programming
- Scrum mechanics: Sprint · Sprint planning · Daily Scrum · Sprint review · Sprint retrospective · Product backlog · Backlog refinement
- Requirements & design: User story · Wireframe → Mockup → Prototype
- Mindmaps: Process map · Scrum detail map
Planned domains
These folders don’t exist yet. They’ll appear as they fill with real content.
- Engineering (just started): the test-first practices TDD, ATDD, and BDD are in; languages, paradigms, version control, databases (SQL), and debugging still to come.
- Design and architecture: design patterns, SOLID and other principles, code smells, refactoring, when not to apply a pattern.
- Operations: CI/CD, deployment and release strategies, observability, DevOps.
- Infrastructure: cloud (AWS/Azure/GCP), compute, networking, storage, containers, and infrastructure as code; the platform everything runs on.
- Foundations: cross-cutting computer-science concepts, including algorithms and data structures (the Princeton Algorithms I & II scope).
- AI: how AI works under the hood, from classic ML to LLMs (with an optional math track).
- AI engineering: building with AI, agents, RAG, orchestration, harnesses (kept separate from AI).
- Product & growth: experimentation (A/B testing), product metrics, adoption, lean startup, the home for today’s Lean canvas, Adoption, and AARRR.
- Career: the career-changer’s route in: roles, titles, interviews, leveling up.
Reference shelf
- Glossary: an A–Z of terms with one-line definitions, each linkable from any article.