On the Dark Side of “Craftsmanship” just rubbed me the wrong way. I’ve even let the article sit and stew in my head for a few hours, as opposed to writing a knee jerk reaction, but it still bugs me. The basic premise (or at least the one the author start out with) is that because there’s a self-declared group of “software craftspeople”, there is going to be an egotistical divide between those who “get it” and those who don’t. Which apparently lead to the reaction that Heather Arthur received after posting some code online. I call bullshit.
Love what you do
I love my career. I love coming to work every day. There is not a single day that I wish I was doing something else with my life. I’m a software developer, I have been for awhile, and I’m going to be doing it for a lot longer if I have anything to say about it. When I go home and have spare time, I code. When I’m in the shower getting ready for the day, I think about the code I’m going to write. I organize hackathons and speak at conferences on weekends. I think it’s fair to say I fit into the ‘software craftsperson’ definition as proposed by the author.
And yet I realize not everyone I work with is like this. I don’t expect everyone to have the same level of passion or excitement as I do about software development. A handful of people do, and a large majority don’t. There are people in the office that come to fill their 8 hours and collect a cheque, and that’s perfectly okay. They have different passions and a different focus on life. That doesn’t mean they’re any less of a person.
It’s true the feedback that Heather got was unnecessarily negative. And that it came from people who are probably considered “software craftspeople”. That said, correlation doesn’t equal causation. I’m guessing the negative feedback was more because those original offenders had a bad day and needed to vent. And maybe the comments after that one just jumped on the bandwagon because someone with lots of followers and/or respect said it.
These are both things that can and have happened to anyone, regardless of the industry they work in. It’s extremely unfair to associate “someone who’s passionate about software development” to “person who’s waiting to jump on you for your mistakes”.
Personal Development as a Waste of Time?
Moving on to the 2nd (completely unrelated?) point of the original article, the author seems to imply there’s some level of ego and wasted effort that goes along with being a passionate software developer. I don’t spend extra time writing software so that someone else can praise my work, I do it because I love doing it. I’m no less of a person for wanting to spend the extra time to learn something or get something right than the next person who goes home at 5 and “never gives a rat’s ass about programming”. I understand why they don’t code at home, and I’d hope they’d understand why I do.
I don’t demand for people to behold my work and compare their skill to mine. I put my code and ideas online so that others can peer-review it and I learn from the experience, or to help other people learn about something they might not know about. In fact, every time I post a new public repo or blog post, I always have an anxious feeling that it isn’t perfect and that someone’s going to find something wrong with it – quite the opposite of the “Look upon my works and despair” the author attributes to software craftspeople.
The author ends on the exact same note I would like to, although we both get there in extremely different ways.
Yes, some people will want to hold themselves up as “painters”, and others will just show up at your house at 8 in the morning with drop cloths. Both have their place in the world. Neither should be denigrated for their choices about how they live their lives or manage their careers.
If that’s the case, stop calling us egotistical jerks just because we love what we do.