I’ve grown a lot in the last few years, personally and, specifically, in my career. My values have changed and it’s affected the way I think and work.
There has been a gradual progression towards caring more and more about the Right Way™ to do things. For example, more than ever before, I value simplicity and clarity over ease and cleverness (an epidemic that greatly afflicts the Ruby community, in my opinion).
But, these values have come at a cost to me. Somewhere along the way, I complacently let getting it right become far more important than getting it done.” Don’t get me wrong, getting things right is very important — where I went wrong was valuing getting it right the first time.
It may not plague others to the extent that it has me, but this misplaced obsession has gotten in the way of progress. It’s caused a type of analysis paralysis not unlike writers’ block; I discard ideas and directions too early because they aren’t “good enough.” But exploring a potentially bad direction is still being better than having no direction — which is the only place you end up when you discard ideas before they have a chance to blossom.
In the eternal words of Little Red Ridinghood:
Isn't it nice to know a lot? And a little bit not.
I was happier as a hacker, blissfully ignorant as I was, because I got things done.
It’s time to become a hacker again; it’s time to be creative and explorative, and work towards approximating the Right Way™, iteratively. Truly, this is one of the great realizations of Agile — focus on progress instead of planning and pre-empting every possible outcome.
I can’t forget that.
Narrator: He forgot that. [ed: 2022]