From a fairly early age I've been accused of having an analytical mind.
In recent years I think it has made me come across as a bit cynical, but I don't see that as being a negative thing - maybe I'm just a cynical optimist?
I recently stumbled across an old blog post by Kent Beck which rebutted some comments that Joel Spolsky had made during a podcast.
After several years of working in project teams applying XP principles, including some TDD, and having recently read some of Kent's books (better late than never), I felt that Joel was coming from a position of ignorance, making presumptions that people like Kent and Uncle Bob Martin were living in some kind of dream world and didn't know how things needed to operate in order for code to ship.
Realising that the podcast and Kent's response blog post are both actually quite old, I decided not to contribute to the debate.
Then today I saw Uncle Bob Martin post a response to another article by Joel. This time Joel was praising the developer that hacks bits and pieces together, but doesn't pay attention to some of the approaches to software development that I would consider to now be mainstream. He even goes so far as to infer an associationg between ugly multiple inheritence and design patterns. Oh the irony!
In the comments section for Bob's blog I saw an interesting Twitter tweet:
"never take software advice from a bug tracking system salesman"
Sure enough, it turns out that the main product produced by Fog Creek Software - where Joel is CEO - is a bug tracking system.
Now, remembering that I might be a tad cynical, I can see why someone who makes money from sales of bug tracking software might want to downplay the benefits of unit testing, design patterns and other aspects of modern software development that have become mainstream in the last few years.