This is old now - and completely Apple-centric - but when it comes to understanding UI design principles, it’s still one of the books that influenced me the most. His discussion of how in the old days Apple tried to work out how to get users to figure out during installation of a software package whether they had a colour or monochrome screen is a classic example of how some problems are just about intractably difficult, and how users will make rational decisions (to them) that are absolutely NOT what developers anticipated. And his ‘hotel lobby’ cartoon is absolutely classic!. A great book if you can find a copy.
Hey Jeff,
Just wanted to thank you for recommending Code Complete, I’m about half way, and I have found a lot of ways of improving my code, maybe I’m a bad programmer, but at least I’m getting better.
I have read about half the books in your list and I learned a lot from them.
However I read the books after making the mistakes that people who don’t read these sort of books make.
I think I faced the same problem as most people trying to learn effective software construction. There are a lot of books with a lot of lessons for programmers, too many to learn at once, and too many to choose from when one starts a new type of project.
All the good ideas about how software should be developed were first stated beginning over 30 years ago in three seminal books: The Psychology of Computer Programming by Gerald Weinberg (1971), The Elements of Programming Style by Brian Kernighan and P. J. Plauger (1974), and The Mythical Man-Month by Fred Brooks (1975, which you’ve already listed).
Just about everything those authors wrote about still holds true today, and just about every idea on the subject offered since then was actually previously stated in their books.
“The Indispensable Handbook of Systems-behavior, written specifically for all of us who must daily cope with the Pitfalls, Foibles, and Failures of the Systems that make up our Modern World.”
I just wanted to point out to all the people on the fence to reading Code Complete since it’s so thick and cumbersome to read on the commute. I read it on a Kindle and I really recommend it to others!
I think The Clean Coder is the best book Uncle Bob has ever written, and one of the best books about programming. It’s worth a read even if you didn’t like Clean Code. It’s concise, well-written, and the content is excellent.
I also like Zero Bugs and Program Faster, it has things every programmer should know.
One of the best programming books I’ve read it’s “Programmers at Work”. Useful to know how top programmers work and think and, also to see how little things have changed through the years.
This is another book I recommend every programmer read:
"CSS Zen Garden"
I use it as my inspiration for making UIs, both on the web and off the web. I always ask myself, “Would this look out of place in the CSS Zen Garden, or would it look good?”
The web would be a much better place if this book were on every developer’s desk (and the website is free)
Where can we find your books, Effective Programming: More Than Writing Code and How to Stop Sucking and Be Awesome Instead, in digital form? I can’t find them in Amazon Kindle and the links from this page are broken.