Architects look at thousands of buildings during their training, and study critiques of those buildings written by masters. In contrast, most software developers only ever get to know a handful of large programs well—usually programs they wrote themselves—and never study the great programs of history. As a result, they repeat one another's mistakes rather than building on one another's successes.
Our goal is to change that. In these two books, the authors of four dozen open source applications explain how their software is structured, and why. What are each program's major components? How do they interact? And what did their builders learn during their development? In answering these questions, the contributors to these books provide unique insights into how they think. (Source)
Good programmers explain their code with comments, but these series of short essays go to a more conceptual level to share how programmers solve problems and come up with solutions, their ideas, inspirations.
See also Jon Udell's past writings on "narrating our work" (Link)