A five-lecture series reading software engineering through anthropology, social science, anatomy and pathology, and the criminology of code.
A specification document is a fossil: it records what a domain expert managed to say out loud, on a particular day, to a particular analyst, using whatever vocabulary the two of them shared at the time. It is almost…
A codebase does not assemble itself. Every module boundary, every interface, every awkward integration layer is the fossil record of a decision made by a group of people, under a deadline, with a particular reporting…
Treat a running system as an organism rather than a diagram and a different set of questions becomes natural. Diagrams show structure; organisms have to stay alive — they regulate themselves, they have organs with…
Hand an experienced engineer a broken, undocumented, legacy codebase and watch how they actually work: they don't reach for a textbook algorithm, they reach for a magnifying glass. They secure the scene before touching…
Investigation reconstructs what already went wrong; criminology's other half asks what makes wrongdoing more or less likely in the first place, and what environmental design does to that likelihood before anyone has to…