Recommended Reading for Developers

I’m also a McConnel fanboy, I’ve even got my first 3 books by him autographed. (How you know you’ve gone from fan, over the line to fanboy)

“Agile and Iterative Development: a Managers Guide” By Craig Larman is a great book on Agile development another great primer for Agile is Larman’s "How to fail with RUP"
http://www.agilealliance.org/articles/larmancraigkruchtenph/file

Anyway, this book reminds me of Code Complete in it’s light style and in-your-face reality checks, with wonderful sections like “How to tell if your XP expert isn’t”

I also like Jakob Nielsen’s book on Home Page Design where he shows 50 sites, and how they are wrong/right for information architechture and usability.

Btw I have my own saying.

For an application to truly beautiful, it has to be beautiful in teh code and the design ui. If only 1 is beautiful, then it is truly bad.

:slight_smile:

I’d recommend Knuth, ‘The Art of Computer Programming’ and Abelson and Sussman, ‘The Structure and Interpretation of Computer Programs’.

I am shocked that you don’t mention the single most important book that has come out in the past 11 years: Design Patterns: Elements of Reusable Object-Oriented Software by Vlissides, Helm, Gamma, and Johnson. Not one of the books you mention has had a cross-developer, cross-language impact that this one has.

Anyone doing OO development had better read this book, lest you try to reinvent the same wheel many folks before you have already honed into a well-oiled machine.

And yes, it uses C++/Smalltalk for examples…there are C#, Java, etc versions that exist now, so not a big deal if you don’t know those languages…

Code Complete Second Edition is by far the BEST book every written for our field. It ranks number one of my list. The book that ranks number two most people probably wouldn’t want because it is not only language specific, but platform specific. It is John Walkenbach’s Power Programming With Excel 2003. If you ever wanted to learn to automate Excel or learn VBA in general it is the best book every written.

Does anyone have any suggestions for a good JavaScript book? There are so many out there and most of them are crap. I would love to find a list of good language-specific books. It is hard to find a good book.

One more interesting book is : How to Solve it By Computer by R G Dromey. (The idea of the book is based on another book How to Solve It - A New Aspect of Mathematical Method).

Being from a primarily C background, I think Kernighan and Pike’s “The Practice of Programming” is good as well.

I had read Programming Pearls. In that book, Bentley recommends
“Conceptual Blockbusting - A Guide to Better Ideas”. Have you read this book ? How did you find it ?

http://www.amazon.com/Conceptual-Blockbusting-Guide-Better-Ideas/dp/0201550865

Code complete is a great book, we had a copy in office and usually tell many people to refer to page 25-26 where Steve says, and the people who spend less time in front of computer are more productive…

I have read also After the Gold Rush, in which he stress about the responsibility of Software developer (Each should get a license…).
An Expert should know 50000 info interests me great.

For OOAD , I would say Grady Booch Book is the bible.

I’m absolutely amazed that entirely by coincidence this collection is almost identical to mine! Spooky.

One point worth noting is that you cant really read Peopleware unless you’re also willing to read Constantine on Peopleware to balance out the experience.

Also, have you ever considered condensing your blog entries into a Joel On Software Style Book? kind of like his “Best Software Writing” series? I’d be on your list of pre-orders.

I cant agree more about these excellent books :slight_smile:

The last book that I read and that resist technologies changes is Ship it! A Practical Guide to Successful Software Projects

http://www.amazon.com/gp/product/0974514047

Is from pragmatic press and with simple and useful ideas shows how to survive to all the things related to the development of a software project

Supprised my favorite “leadership” book isn’t on there “Becoming a Technical Leader: An Organic Problem-Solving Approach”

http://www.amazon.com/Becoming-Technical-Leader-Problem-Solving-Approach/dp/0932633021

I really suggest “Dreaming in Code”. Amazing read.

http://www.amazon.com/Dreaming-Code-Programmers-Transcendent-Software/dp/1400082463

Perhaps I am showing my age, but I would suggest three books that are currently (unfortunately) out-of-print: P. J. Plauger’s “Programming on Purpose” books.

http://www.amazon.com/Programming-Purpose-Essays-Design/dp/0137213743

http://www.amazon.com/Programming-Purpose-II-Essays-Software/dp/0133281051

All three are books that I enjoy rereading periodically. Granted, some of the articles are a bit dated, such as the discussion of online e-check companies, or DOS memory management, but most of the articles have more than stood the test of time, in my not at all humble opinion. :slight_smile:

How about Tog on Interface - Bruce Tognazzini at http://www.asktog.com/

http://www.amazon.com/Tog-Interface-Bruce-Tognazzini/dp/0201608421

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.

Anyway, keep up the great job!

Surprized to find no mention of Use Cases… therefore, consider:

Visual Modeling Technique by Tkach, Fang, So. Which I discovered while consulting at Lexis-Nexis and exploring IBM’s smallTalk.

Of course today for me (the last 10+ years), everything is SQL:

The Practical SQL Handbook by Bowman, Emerson Darnovsky.

-ski

P.S. Thanks for the list AND the comments. Most interesting read.

how about including Behind Closed Doors: The secrets of great software managment, give project managers also some chance on this blog :slight_smile:

http://www.amazon.com/Behind-Closed-Doors-Management-Programmers/dp/0976694026

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.

1 Like

Probably the best systems book I’ve ever read was by a pediatrician. “Systemantics: The Systems Bible”, by John Gall.

“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!

1 Like