The amazing thing about The Mythical Man Month is that it doesn't feel dated, even though it was first published in 1975. Instead it simply feels like a group of programmers discussing the very same challenges the industry has today, with just different technology in use.
A post written after colleagues asked him which programming books had shaped him most.
This book had a big impact on me as young software developer. It was the first time I saw in print the principle "bugs that go away by themselves come back by themselves". It's something that I've often repeated to myself, and my team, if nothing else but to prepare us mentally for when that hard bug does come back. The chapter advising developers to "proactively step through your code during development, don't wait for the bug report" improved my productivity enormously, and I followed the practice for many years.
A post written after colleagues asked him which programming books had shaped him most.
Becoming a Technical Leader is both an interesting and subtle book. At times it feels like a self-help book, at other times a Machiavellian explanation of how programming teams really wok. But in the end it's sincere and mature, and wants to help. Weinberg's introspective style will appeal to many programmers, and it appealed to me. This book is useful because it talks about many of the practical issues of becoming a technical leader or manager within a team of developers — and from many unexpected viewpoints.
A post written after colleagues asked him which programming books had shaped him most.
What can one say about this book, that hasn't been said already? Perhaps this: that of all the books written about programming, this has the highest information density of them all. And yet it's so pleasant to read. There is something about the tone of this book — the way the authors speak to you. They explain everything, and yet never seem patronizing or condescending. The joy they feel for their craft — it really does seem like this book comes from a time when programming was a craft — is unmistakable. Many of today's programmers — web developers, iOS developers, front-end engineers — may have no need to ever read this book. But for those who have not done so, and really want to improve as programmers, work through this book. It's a rite of passage.
A post written after colleagues asked him which programming books had shaped him most.
The Unix Programming Environment is a book you can't read too soon. It's something I wish I'd come across years before I actually did. An authoritative and comprehensive manual for using Unix as a programmer, it clearly explains concepts such as inodes, hard and soft links, system calls, and the power of joining programs together via stdin and stdout. By the time I came across this book I already knew these concepts, but had never studied them before in one place, and in such a coherent manner.
A post written after colleagues asked him which programming books had shaped him most.
Every entry is a verbatim quote and a link to the public post it came from. Nothing is paraphrased. If it is not on record somewhere public, it is not here.
The verdict is what they actually said: loved and liked are explicit; recommended means they told others to get it; uses means they only say they use it; read is a book on their public shelf with no verdict; mixed and disliked are kept too.
A dashed affiliate link, sponsored or their own label means the post disclosed a relationship. It is shown, never hidden.
The shading behind a date shows how dated a recommendation is for its kind of thing.
The shading behind a date shows how dated a recommendation is, for its kind of thing. Fully green is recent. It drains a quarter at a time as the post gets older, and is empty once it reads as dated.
What counts as old depends on the thing. A laptop praised four years ago has been replaced twice; a book loved twenty years ago is probably still loved. The shading is gone after about:
Hardware, services4 years
Software5 years
Podcasts, courses, other8 years
Books25 years
Stripes mean the post carries no date and the date shown is an estimate. No date at all, no shading.