CodeBetter.Com
CodeBetter.Com
RSS 2.0 via Feedburner
           Do you Twitter? Follow us @CodeBetter

Jeremy D. Miller -- The Shade Tree Developer

Under the hood and working with .Net, TDD, Software Design, and Agile Stuff

The books that influenced me

In an email today I was asked "What books did you find most influential in your professional career?"  Honestly, I've been much, much more influenced by the people I've worked and interacted with.  For that matter, blogs and podcasts pack a lot of intellectual punch these days.  That being said, here's my list, but you'll notice that every book is at least a couple years old and none of them are .Net specific.  That might be because publishing isn't as important or it might be because I just haven't thought to buy a development book lately.

  • Refactoring by Martin Fowler -- The best book I know for low level code quality
  • Patterns of Enterprise Application Architecture by Martin Fowler -- Basically defines much of the vocabulary for designing enterprise systems
  • XP Explained by Kent Beck, version 1 -- Otherwise known as the "White Book" or occasionally I'll call it "Chairman Beck's Little White Book" when I'm irritated at some example of XP zealotry.  I'm saying version 1 here in specific because (I've didn't bother reading XPE2) Beck does such a great job in laying down the principles and the "why" behind Extreme Programming.
  • The Pragmatic Programmer -- I really don't need to explain this one
  • Mary Poppendieck's talks and podcasts on Lean Programming.
  • Object Design by Rebecca Wirfs-Brock -- She doesn't get anywhere near the recognition she deserves.  I find that Responsibility Driven Design is far more useful and effective for crafting a design than UML modeling, but the dadgumn picture doodling became a phenomenon
  • Working Effectively with Legacy Code by Michael Feathers -- A survival guide for dealing with legacy code
  • Applying UML and Patterns by Craig Larman -- Awesome introduction to OO design
  • Debugging the Development Process: Practical Strategies for Staying Focused, Hitting Ship Dates, and Building Solid Teams by Steve Maquire

Books that are worth reading:

  • Code Complete V2 by Steve McConnell
  • Domain Driven Design by Eric Evans
  • Give the original Gang of Four book a read sometime
  • Agile Software Development, Principles, Patterns, and Practices by Robert C. Martin -- pssst, the principles are all online somewhere.  I've touched on many of them in my posts as well


Comments

Evan said:

Pattern-Oriented Software Architecture (vol 1)..

It's one of THE most often cited architecture books..

Seriously, you can check nearly any architecture whitepaper and find it mentioned at the bottom..lol

I'm reading it now, it's an eye-opener.

# July 5, 2007 3:42 AM

DotNetKicks.com said:

You've been kicked (a good thing) - Trackback from DotNetKicks.com

# July 5, 2007 4:29 AM

Simon said:

Can you really omit The Mythical Man Month by Fred Brooks?

# July 5, 2007 5:31 AM

Jeremy D. Miller said:

@All,

I actually had a coworker buy the Nilsson book on an expense account but the office evaporated before I got a chance to read it.  I like Refactoring to Patterns but just didn't think it quite made the cut.  

@Evan,

POSA, like GoF, is just too danged dull.

I forgot the Mythical Man Month.  It's so short that I've read it cover to cover at a bookstore waiting for my wife to shop.

# July 5, 2007 5:35 AM

Simon said:

Yes, TMMM is short but all the better for it. Short books are (almost) always better since they have to get the essence across quicker and hence avoid (much of) the risk of becoming dry and boring.

BTW not a must have, but a good read is Slack by Tom Demarco (ideal present for those that think we should always be *busy*).

# July 5, 2007 8:22 AM

James Maul said:

I agree with vega. Head First: Design Patterns and

Refactoring to Patterns are great books.

# July 5, 2007 9:13 AM

Dan Martin said:

Can you recommend any other podcasts?

# July 5, 2007 2:31 PM

The Disco Blog » Blog Archive » The weekly bag– July 6 said:

Pingback from  The Disco Blog  » Blog Archive   » The weekly bag– July 6

# July 7, 2007 8:28 AM

Gil Zilberfeld said:

Michael Feather's book is on top of my list. However it made a lot of sense after I was in deep in TDD country. Which brings me to Kent Beck'sTest Driven Development By Example.

@Dan: Software Engineering Radio is a great podcast for software craftsmen.(http://www.se-radio.net/)

# July 7, 2007 8:58 AM

Vikas Kerni said:

Look like that I am the only person who loved

Object Oriented Design and Analysis by Grady Booch.

It along with GOF design patterns, really helped me to change my procedural mindset to oop.

vikasnetdev.blogspot.com/.../books-that-influenced-me.html

# July 11, 2007 2:52 PM

Greg Young [MVP] said:

After seeing Jeremy’s list I figured I would put up the books that have influenced me. This is by far

# July 27, 2007 5:38 PM

dave^2=-1 said:

Jeremy Miller has posted the technical books that have most influenced him . I have read a heap of technical

# February 1, 2008 5:52 AM

Matt Blodgett said:

List of Book Lists

# March 6, 2008 8:59 PM

Leave a Comment

(required)  
(optional)
(required)  

Enter the numbers above:
Add

About Jeremy D. Miller

Jeremy began his IT career writing "Shadow IT" applications to automate his engineering documentation, then wandered into software development because it looked like more fun. Jeremy previously worked as a systems architect building mission critical supply chain software for a Fortune 100 company and learned agile development practices as a .Net consultant at ThoughtWorks, one of the pioneers of agile development. Jeremy is the author of the open source StructureMap (http://structuremap.sourceforge.net) tool for Dependency Injection with .Net and the forthcoming StoryTeller (http://storyteller.tigris.org) tool for supercharged FIT testing in .Net. Jeremy's thoughts on just about everything software related can be found on his weblog "The Shade Tree Developer" at http://codebetter.com/blogs/jeremy.miller, part of the popular CodeBetter site. Jeremy is a Microsoft MVP for C#. Check out Devlicio.us!

This Blog

Syndication

News

All opinions expressed here constitute my (Jeremy D. Miller's) personal opinion, and do not necessarily represent the opinion of any other organization or person, including (but not limited to) my fellow employees, my employer, its clients or their agents.

About Me

"Best Of" Compendium

StructureMap (Dependency Injection for .Net)

StoryTeller (Supercharged Fit)

Build your own Cab

TestDriven

MVP