The single best book on usability I've ever read. The title says "web usability" but don't be fooled by its faux specificity. Steve Krug covers every important usability concept in this book, and covers it well.
His long-running "Recommended Reading for Developers" list, last updated September 2025.
Steve McConnell's Code Complete 2 is the Joy of Cooking for software developers. Reading it means that you enjoy your work, you're serious about what you do, and you want to keep improving.
His long-running "Recommended Reading for Developers" list, last updated September 2025.
I challenge any developer to pick up a copy of The Mythical Man Month and not find this tale of a long-defunct OS, and the long-defunct team that developed it, startlingly relevant.
His long-running "Recommended Reading for Developers" list, last updated September 2025.
Rapid Development isn't about rapid development. It's about the reality of failure. The vast majority of software development projects will fail: they will overrun their schedules, produce substandard results, or sometimes not even finish at all.
His long-running "Recommended Reading for Developers" list, last updated September 2025.
Designing software is difficult, to be sure, but designing a door is difficult too. The nuances of design extend into every object you touch, whether it's some hot new SQL engine, or a humble shoe.
His long-running "Recommended Reading for Developers" list, last updated September 2025.
This is the book that introduced the world to the concept of personas: rather than thinking of users as an abstract, difficult-to-describe, amorphous group of people, personas instruct us to talk about specific users who have names, personalities, needs, and goals.
His long-running "Recommended Reading for Developers" list, last updated September 2025.
Programming Pearls is the next best thing to working side by side with a master programmer for a year or so. It is the collective wisdom of many journeyman coders distilled into succinct, digestible columns.
His long-running "Recommended Reading for Developers" list, last updated September 2025.
This book reminds me a lot of Programming Pearls, but it's actually better, because it's less focused on code. Instead of worrying about code, the authors boiled down all the practical approaches that they've found to work in the real world into this one book.
His long-running "Recommended Reading for Developers" list, last updated September 2025.
I may be a card carrying member of the "Keep It Simple Stupid" club, but I'm making a meteor sized exception for regular expressions. Written properly, they will save you a tremendous amount of time in string manipulation, and I've never run across a project where they didn't come in handy somewhere.
His long-running "Recommended Reading for Developers" list, last updated September 2025.
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.