“I think that maintaining your technical chops is a full time job.”

Quickie update:  Joel has invited Uncle Bob onto the show.  I’ll be looking forward to it.


Uncle Bob responding to a podcast conversation between Joel Spolsky and Jeff Atwood.  Besides Uncle Bob’s obvious irritation at the StackOverflow duo, he dropped the quote that’s in the title.  I thought that was very pithy because I know I hit a spell about 18 months ago in New York where I stopped learning new things and I remember that scaring the heck out of me when I realized what was happening.

Dear Young Upcoming Developers,

My advice to you is to read everything Uncle Bob has ever written about software design — but don’t stop at memorizing the S.O.L.I.D. acronym.  Make sure you actually understand how those principles are applied because they’re all about keeping your code limber so that it can continue to change and provide new value over time.  The SOLID stuff is just a description of the properties of a good OO class structure.  I’d also recommend you read everything Joel Spolsky wrote before, let’s say, 2002 — but take anything past ’02 from Spolsky with a massive dose of salt.

The last thing I’d say about the StackOverflow podcast is that I suspect Joel purposely misinterpreted both TDD and elements of SOLID just to provoke a reaction — or didn’t particularly give either topic enough thought to speak intelligently on the subject.

About Jeremy Miller

Jeremy is the Chief Software Architect at Dovetail Software, the coolest ISV in Austin. 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 is the author of the open source StructureMap tool for Dependency Injection with .Net, StoryTeller for supercharged acceptance testing in .Net, and one of the principal developers behind FubuMVC. Jeremy's thoughts on all things software can be found at The Shade Tree Developer at http://codebetter.com/jeremymiller.
This entry was posted in Uncategorized. Bookmark the permalink. Follow any comments here with the RSS feed for this post.
  • David Fauber

    This post made me realize that pithy means the exact opposite of what I thought it did. Damn.

  • http://codebetter.com/blogs/jeremy.miller Jeremy D. Miller


    No more links! That CodingHorror post led me to drop Jeff Atwood off my blogroll today.

  • Petar Repac
  • Petar Repac
  • http://www.sleepoverrated.com Scott Cowan

    remember Jeff likes doing apps with Database as Model. If you read the transcript it just shows they haven’t looked at TDD and are speaking from an outsiders perspective. I think we all started there and couldn’t figure why you’d write tests for something you already tested out in the UI. HanselMinutes 146 : Test Driven Development is Design is a good response to this.

  • http://www.bluespire.com/blogs Christopher Bennage

    Going back to the “stopped learning” thing: every now and then I hit a saturation point and I find that I need to take a “summer break” to allow things to digest. If I don’t do this deliberately, I find that my learning actually suffers for it.
    Having said that, I am a strong advocate continuous education in all facets of life.

  • Steve Sheldon

    What Travis said. Making your code buzzword compliant is not how you achieve quality.

  • Travis

    I would add that SOLID principles should be taken with a grain of salt as well. It’s much like Design Patterns – there is nothing that will make a programmer write bad code faster than introducing him or her to design patterns. It’s better for them in the long run, but there’s an unlearning curve that has to happen.

    And so it is with the SOLID stuff – you need to know it, and be conscious of it, but not let them be at the forefront of your brain every step of the way.

  • http://codebetter.com/blogs/jeremy.miller Jeremy D. Miller


    Fine, how about:

    “Dear Young Upcoming Developers & Anybody who just wants better results”

  • http://sjancke.blogspot.com Sebastian Jancke

    Hey Jeremy,

    you did write “Dear Young Upcoming Developers”. What about older developers, working in OO languages and have absolute no clue about SOLID (+…) ? I think these need also to be adressed. Don’t know, if they’re still listening…


  • http://codebetter.com/blogs/jeremy.miller Jeremy D. Miller


    I *did* link to Joel’s transcript of course.

  • http://colinjack.blogspot.com Colin Jack

    Readers might also find this interesting: http://www.joelonsoftware.com/items/2009/01/31.html