Software Engineering

AI-Assisted Development

"AI won't replace developers. Developers who use AI will replace those who don't." — Satya Nadella (paraphrased)

Learning as a Feedback Loop

Education is, at heart, a control system. A signal goes in, something is processed, output is produced — and then the critical step: the output is compared against a reference , and the error drives the next iteration.…

CI/CD

"If it hurts, do it more often." — Jez Humble (paraphrasing Martin Fowler) [^humble2010]

Risk Management

"Risk management is not about eliminating risk — it's about making informed decisions under uncertainty." — Barry Boehm 2

Trustworthy Software

"It works on my machine" is an obsolete metric. Software now moves money in microseconds, steers vehicles, allocates medical resources and mediates civic life — contexts where unreliable code is not an inconvenience but…

TDD/BDD

"TDD is not about testing. It's about design." — Kent Beck [^beck2002]

Testing Fundamentals

"Testing shows the presence, not the absence of bugs." — Edsger W. Dijkstra 1

Debugging Strategy

When code breaks, beginners default to voodoo: change a < to a <= , move a line, restart the IDE, sacrifice a coffee to the demo gods. Occasionally the voodoo works, which is the worst possible outcome — the bug is gone…

Types of Testing

Testing Fundamentals introduces the individual techniques; this page is the map. Conversations about testing go wrong because "unit test", "black-box test" and "performance test" sound like items on one list when they…

Code Path Analysis

Black-box testing asks whether the code meets its specification; code path analysis is the white-box counterpart — it reads the code's structure and asks: which routes through this logic have my tests actually walked?…

Mutation Testing

Every other page in this track helps you test the code. This one asks the uncomfortable follow-up: who tests the tests? A suite can execute every line and branch (see Code Path Analysis ) while asserting almost nothing.…

The V Model & Values

The V model is the oldest answer to a question teams still get wrong: when should tests be designed? Its answer — at the same moment as the specification they check, not after the code exists — remains sound advice in…

Tools Ecosystem

"A good tool improves the way you work. A great tool improves the way you think." — Jeff Atwood

CLI First

An IDE is a luxury cruise ship; the command line is learning how to swim. Both get you across the water — but only one of them still works when the ship is unavailable. If you only ever compile by clicking a green play…

Cross-Pollination of Ideas

Software engineering has always been a magpie discipline. Many of its best ideas were not invented here — they were noticed somewhere else, translated, and put to work. This page is about cultivating that habit…