When I wrote the post “Approximating Ruby Scaffolding with the ASP.NET 2.0 VirtualPathProvider“, I spent a week or so really examining
VirtualPathProviders and creating what I thought was a nice, branch-view style implementation of a mechanism that could easily accommodate re-generation of code without touching stuff you’d hand-modified. I put the post up, got my first link to any post I’d ever made from Andres at DeKlarit, and got back to my usual work with a great big self-satisfied smirk on my face. Hurrah! I’ve arrived! I’m a great published doctor! (to be said in Zoidberg from Futurama voice)
Except I’m just a big fool who forgot to press F1. Because if I’d researched the problem properly in the first place (instead of leaping into the “hey, another great technical puzzle to solve” game), I’d have noticed that the framework already solves it.
A year or so ago I came across a great post called Writing Code is Stupid. While it makes for depressing reading if you’re an “Artist Developer” (and I always thought I was ), it’s a relentlessly practical look at what’s wrong with the “I must hand-craft this” mentality that eats so much time and prevents the industrialisation of software production.
However, as good as it is, I’d like to add to the title to make a separate point: “Writing Code Is Stupid (if someone at MS has already written it)”. The trouble is, how do you know something is a solved problem? The answer seems to be that you now have to have at least one person on your team who just knows; who has followed industry blogs relentlessly; who has religiously pored over every facet of the “what’s new” help topic; who is so caught up in the tide of progress that they couldn’t really tear themselves away from Scoble long enough to do any actual application development anyway.
Ok, that’s a poor excuse. Note to self: next time, look under all the rocks, even the ones that look like they should have nothing to do with what you’re trying to accomplish.