What I’ve learned from failure
Why does failure matter?
It’s a funny thing. After almost twenty years of drawing a paycheck for creating software, people generally want to hire me because they want me to duplicate the successes I’ve had. The model seems to be “do the things you’ve done successfully before, and you’ll be successful now.”
My experience is that this has never worked on its own. Success in software development is at least as much about avoiding failure modes as it is about “best practices.” I conjecture it’s because software development on a commercial scale is so hard that almost any mistake will sink a project if left uncorrected or even worse, actively encouraged.
With that in mind, I’ve taken a little time to jot down some thoughts about situations where I’ve personally failed. I’m not going to tell you about some theoretical anti-pattern, or relate some broken thing I’ve fixed. I’m going to share things that caused me to leap from the deck of a burning boat to avoid drowning.
Some of them, in retrospect, would be comical if it wasn’t for the human misery, damaged careers, and money wasted on failed projects. Or worse, in my opinion, the opportunity cost of putting good people to work on things that never end up delighting the world. I weep for what might have been. Read the rest of this entry »
