I came across this excellent blog post full of software development lessons and thought that I should share it with all of the new developers at ThoughtWire. It encapsulates so much truthiness about writing software that I think it deserves a wider audience and a permanent reference in my blog archive so I can find it again. Many of the rules of the thumb provided here are the truths behind some of today’s best development practices and will inspire the next leap forward in the craft and science of software development. I frequently think that developers don’t do enough to help educate the next generation. I think that’s at least partly due to the realization that we know so little yet. Who are we to tell anyone how to write software?

Despite the reticence some things about software are just true unencumbered by methodology, language or dogma and many of those things are simply and eloquently expressed in this post. For experienced developers almost every point will elicit a nod or a slightly rueful smile. For the less experienced I suggest you treat many of them as Zen Koans, simple statements that will continue to unfold as you contemplate them in the context of your tasks. I find number twelve to be particularly under-appreciated.

12. Fix the known errors, then see what’s left.

So simple and yet we forget it every time we run into a new problem. Go read the post, read it again in a year and appreciate the subtlety anew. Enjoy programming!