October 05 2009

Neats vs Scruffies, Duct Tape vs Clean Code


There’s been an interesting back and forth recently (the latest of many) between Joel Spolsky, author of the popular Joel On Software blog, and Bob Martin (aka Uncle Bob). Joel writes in praise of The Duct Tape Programmer, Uncle Bob defends Clean Code.

This is an eternal debate in the software community - the ‘just get it done and ship the code’ folks, verses the ‘do it right or you’ll spend more time fixing bugs and shipping updates’ folks. Or ‘hack it with the tools you know’ verses ‘investigate new technologies and invest in your infrastructure’.

At Stanford, back in my day, the AI community was broken down into the ‘Neats’ and the ‘Scruffies’. The Neats were all about first-order predicate calculus and provability, the Scruffies popularized the term ‘heuristic’ and just used whatever approach was necessary to get the job done. I was never smart enough to be a Neat, but nonetheless always felt that Scruffy was the right approach - it just felt better to get something working and iterate from there.

Conversely later, when I was at GTE Labs we ‘CS’ folks always drew a distinction between our work and that of the many ‘EE’ team members. The EE folks were great at churning out code, but boy did you have to hold your noise when you needed to wade into it later (and you always did need to wade into it later). In this context I was on the cleaner side of the spectrum - there are times when it’s easier to make sure the job is done right the first time (even under schedule pressure).

So, I think Joel is over simplifying - there are many cases where learning and using a newer tool, or investing in some infrastructure, is going to be the shorter path to shipping quality code, no matter who you are. Like most things, there are shades of gray. Being able to assess the situation and apply the right shade is whats distinguishes the craftsman. Like Bob says, you need to ship, just don’t ship shit!

Comments (View)
blog comments powered by Disqus

About

I'm Tony Confrey, CTO and co-founder of Text Television.


We produce TextFlows, a completely new way to experience text.


Originally from Ireland, I'm now living with my wife, two sons, and a dog, in Concord MA.

TextFlow

BlogRoll

following

  • TextFlows