The Best Approximation Of The Least Crappy Solution We Could Possibly Build
By Simon HarrisWe (all?) strive to build great software but how many of us look back on code we wrote even as recently as 6 months ago and still think “wow that’s some great software”?
Open up that CVS client and download some source code you haven’t looked at for a while. Make sure to start with the project you thought was the “best thing you’d ever written.” I’d be very surprised if your thinking on software development hasn’t changed sufficiently in that time to make you whince when you see the “cool” things you were doing back then.
I look back on videos of me performing Aikido technique and the same thing happens. “Yikes!” I think to myself “I can’t believe I used to think that was good! And to think I was teaching others that at the time!” My students learned long ago not to treat anything I say as gospel. To critically analyse what I’m teaching and understand it for themselves, not just parrot what I say. They know full well that it will probably change after a long weekend of contemplation.
We grow, we learn. Our thinking changes. In some cases it swings back and fourth like a pendulum trying to find that “sweet spot”. So don’t get down on others because they don’t produce the code that you’d like. Similarly, don’t be perterbed when your mentor/coach/teacher suddenly starts explaining to you, with all the enthusiasm of a child with a new toy, that yellow is the new brown.
Because we don’t live in an ideal world, when it comes down to it, at any point in time we really are just doing the best approximation of the least crappy solution we could possibly build.