Goals are overrated, Constraints are underrated
Loved this post from Joan Westenberg, about the limitations of goals:
The cult of goal-setting thrives in this illusion. It converts uncertainty into an illusion of progress. It demands specificity in exchange for comfort. And it replaces self-trust with the performance of future-planning. That makes it wildly appealing to organizations, executives, and knowledge workers who want to feel like they're doing something without doing anything unpredictable.
And the liberation of constraints:
Constraints make solutions non-obvious. They force the kind of second-order thinking that goals actively discourage. Instead of aiming for a finish line, the constrained mind seeks viability. It doesn't ask, "How do I get there?" It asks, "What's possible from here?"
My first corporate job required me to set annual goals for myself. I still remember them, both because I spent all summer trying to think of easy ones and because I nevertheless accomplished zero of them:
- Speak at a Java user group
- Teach basic finances to kids via the Junior Achievement organization
- Host 5 lunch-and-learns for my department
One of the best managers I ever had didn't give a fuck about my goals (in fact, he never even bothered to inform me he was my manager). On day one of my first project he threw out some random ideas:
- Why not require all production code be pair-programmed instead of reviewed after-the-fact?
- What if no method in the codebase was allowed to be longer than 3 lines?
- You're hitting 100% code coverage in Java, but why do you have zero JavaScript tests?
The last thing he said killed me: why do people sweat hours over every last test of their server-side code but give zero shits slinging thousands of lines of untested jQuery spaghetti? That constraint—of forcing myself to apply my testing zealotry to the front-end—is what led to my initial open source contributions and my speaking career. It's why I wrote my first widely-adopted open source project. It was also the topic of my first talk at a Ruby conference. I proceeded to spend the next few years becoming "the JavaScript testing guy" in half a dozen different software communities.
I'm honestly not sure where I'd be if it hadn't been for that passing comment, but I am absolutely certain that applying a constraint was more effective than setting a goal would have been.