
The craft baseline. Hunt and Thomas articulate the discipline that AI code generation does not replace: knowing when code is good enough, how to automate the right things, and what a working developer owes to the person reading the code next. The 20th-anniversary edition updated the examples but the reasoning has not aged.
Chosen by shared topics, the entries that hold them, and the people who recommended both.
Software's enemy is complexity, which grows through shallow modules and shortcuts.
Rules for readable code: short functions, clear names, one level of abstraction.
A catalogue of moves that improve existing code without changing what it does.
MIT's introductory computer science text, taught through Lisp and Scheme.
Recommended by: Patrick Collison, Paul Graham, Bret Victor and 1 other
Lessons from IBM's OS/360: why adding people to a late software project slows it.
Recommended by: Mohnish Pabrai, Paul Graham, Andrew Chen and 3 others
How open-source software is really made and maintained, often by a few people.
Recommended by: Balaji S. Srinivasan, Delian Asparouhov
Topics