Just read this. Couldn’t agree more. Quite a few of the Alt.NET groupings have an explicit bias in favour of people who submit patches. Now these people are, for the most part, giving away radically great stuff for free. Expecting something in return isn’t unreasonable. However, without focus on people starting on the curve, or even halfway through,
My own curve is far from “at Z”. I “get” why persistence ignorance is important, but work on a lot of old sproc code. I use dependency injection, but haven’t mastered it. I implement separation of concerns, but I wouldn’t claim perfection there either. I’ve got a lot of automated tests, but I still favour state-driven tests rather than behaviour-driven tests. I’m also aware that many of the bloggers I admire (Jeremy Miller) are significantly further along this process. I do, however, find it slightly depressing that he believes it’s time to give up on evangelism. This from the guy who wrote one of the single best introductions to test driven development and MVC design.
Now, I know that some people will have to be dragged kicking and screaming into adopting new techniques. I think this story is occurring in microcosm in most firms up and down the land. Me, I’m going to continue on my own journey towards Z, or whatever letter the “coalition of the willing” has reached now, and continue to document what I learn. Why? Because, actually, these techniques do make you massively more productive. Inversion of Control solves a lot of configuration problems and drastic reduces the amount of boiler plate code an SoC design would otherwise entail. Separation of Concerns makes my code more pluggable, more agile (small a) and just plain easier to understand, even for me. Test driven development has given me the ability to refactor code that in the old days I wouldn’t have dared touch for fear of breaking something. In short, it actually works, unlike many of the programming fads that have hit over the years.