To catch people up on some blogosphere drama:
Last month, Heather Arthur posted on her blog about an unfortunate incident in which some people on Twitter had found some code she wrote in GitHub, and people started trashing her on Twitter for it. Some of those people are considered leaders in the Software Craftsmanship movement, in particular Corey Haines. Corey immediately apologized for acting like an asshole, and I think his apology was sincere because I’ve met Corey and frankly the guy is almost annoyingly nice (he went around RubyConf 2012 taking a picture with every damn person there). But Ted Neward saw this turn of events and concluded that Corey’s actions were not orthogonal to his involvement in Software Craftsmanship, but actually influenced by them, and he posted as such on his blog.
Neward’s basic point is that this is the exact kind of behavior we should expect as a side effect of the Software Craftsmanship movement. By it’s nature, it attempts to create a segregation between those who are “in the know” and those who are not, and he felt the behavior of Corey and others was a byproduct of this segregation. They saw Heather as an “other” and were overly harsh in their criticisms, emboldened in so doing by their sense of Craftsmanship. Neward took a lot of shit for this view on Twitter, with most people arguing that this was done by Software Craftsmen, but it wasn’t done because they were Software Craftsmen, and it makes no sense to criticize the entire movement based on the action of a few members, regardless of how high their profile is. Neward responded to all of this feedback in a second blog post, where he reinforces his original point.
Uncle Bob Martin, one of the first five signers of the Software Craftsmanship Manifesto and author of Clean Code and The Clean Coder, then responded to all of this drama with his own post. Bob takes particular issue with Neward’s promotion of what he sees as the opposite of a Software Craftsman, a Software Laborer. In Neward’s words, a Laborer is someone “who cranked out one crappy app after another in (what else?) Visual Basic [...] their apps were sloppy, bloated, and ugly…cut-and-paste cobbled-together duct-tape wonders.” At the end of the post, Neward bows “with respect to the “software laborers” of the world, who churn out quality code without concern for “craftsmanship”, because their lives are more than just their code.”
Bob finds these kinds of developers to be problematic, as his experience suggests that people who make a mess of their code create lots of defects and headaches for themselves and other developers. Finally, Ted Neward responded to Bob as well with one more defense of himself in another blog post which he proclaimed on Twitter as his “last word on the subject.”
It was this last post that inspired me to post my own thoughts. I’m not going to speak much about the drama itself, or the definition of Craftsmanship vs Laborer, follow the links above if you’re interested in that debate.
Continue reading ‘Brief Thoughts on Software Craftsmanship’ »