Panasonic Youth

Eight More Essential Books for Developers

				<p>Thanks to the <a href="">mention</a> at <a href="">Javalobby</a>, I had a great response with tons of feedback to <a href="">my post</a> on essential books for Java developers.  From reading the comments there and at the Javalobby thread, here are some more &#8220;must-haves&#8221;.  Also, I have a crazy long <a href=";tag=panasonicyout-20&#038;camp=1789&#038;creative=9325&#038;">wishlist</a> of nerdy books at Amazon that I&#8217;m trying to get through.  Only about 80 more to go!</p>

<p><ul class="booklist"><li><a href="" title="View product details at Amazon"><img class="right" src="" alt="Code Complete, Second Edition" /></a>I&#8217;ve heard a lot of good things about McConnel&#8217;s <a href="">book</a>, just haven&#8217;t pulled the trigger at Amazon yet.  He has an <a href="">interview</a> over at IT Conversations where he talks about the book and his approach to development and his thoughts on agile, among other things.</li>

<li><a href="" title="View product details at Amazon"><img class="right" src="" alt="Domain-Driven Design: Tackling Complexity in the Heart of Software" /></a>Another one that has been on my wishlist for quite awhile, just haven&#8217;t gotten around to getting it yet.  <a href="">Domain Driven Design</a> always comes very highly recommended - here&#8217;s one glowing <a href="">review</a>.</li>

<li>Head First Design PatternsThe Head First books are great, using humor and lots of graphics and weird stock photos to get you to learn. The perfect followup to the GoF book, especially if you can’t stay awake with the GoF’s dry prose.</li>

<li>Don\'t Make Me Think : A Common Sense Approach to Web Usability (2nd Edition)If you get no other books on usability or web interface design, get this one. Don’t believe me? Go read a sample chapter. Read some reviews. Then go create better designs.</li>

<li>coverFowler has a ton of great books, but I include Patterns of Enterprise Architecture because the patterns are general enough that they make sense in other languages and in different frameworks. The ActiveRecord pattern that Rails uses comes from here, for example. Lots of discussion regarding different ways to handle persistence, so if you are digging into ORM this would be a good book to see some of the different approaches. (Yes, Refactoring is a classic as well…its just a bit dated now and could use an update. Still recommended if you don’t know jack about refactoring.)</li>

<li>Java(TM) Language Specification, The (3rd Edition) (Java Series)Alright, here is the core Java book if you really want to get into the guts of core Java. Its from the source and definitely not for beginners, and covers all the 5.0 features. If you are just getting started, pick up Head First Java (2nd Edition) first.</li>

<li>The Mythical Man-Month: Essays on Software Engineering, 20th  Anniversary EditionThe Mythical Man Month is a classic. Developing software is hard, and developing massive software systems is incredibly hard. The average project success (ie on budget, on time, all features) rate is estimated to be around 16%. The reasons for the ridiculous failure rate was the same thirty years ago as it is today, so don’t let the age of this book scare you.</li>

<li><a href=""><img class="right" src="" /></a>Finally, I have to include this non-dead-trees resource.  The <a href="">WikiWikiWeb</a>, aka c2, aka the Portland Patterns Repository.  This is the first wiki started by Ward Cunningham.  When you find yourself wasting time on slashdot or digg, go to c2 and pick some topic you don&#8217;t much about.  Read, learn, prosper.  One of the best general software development resources on the web.

</li> </ul> </p><p>Also, Steve Yegge (former Amazon, now at Google) has two great reading lists for your perusal: Ten Great Books and Ten Challenges. </p> <p>I think this plus the original five makes a pretty good foundation for a developer’s library. What else did I miss? Other reading lists you’ve found helpful? </p>