Things I'm still learning, 2010 edition
2010 has come and gone. I've shipped a few projects, each a number of times. I've registered dozens of domain names and dropped a few of the older ones. I've started (but not finished) a dozen spare time projects. I've had hundreds of new ideas, and a few of them were even interesting. I've learned a lot, but not enough (it's never enough). I've expanded my horizons and gotten stuck in ruts. I've gained weight and I've lost weight.
But in the end none of that matters. The real question is, what have I learned?
I don't like it, I have a choice, and yet I do it anyway? WTF? Working as much as I do gets less done with poorer quality. The prolonged, unproductive stress is a quick path to burnout and apathy, both of which are the enemy.
There are holes in my knowledge and experience.
I need to spend time learning around the stuff I work on every day, and study things I haven't used for a while. I must grok more. I must not rush past the details I don't need now, as I'm missing out on a universe of useful things.
I don't contribute enough.
I need to get involved in a more recent OSS project and post more of my personal stuff to Github. I also need to get back to teaching programming.
I need focus.
Simpler, polished, less fat, and finished. I need to pick fewer projects and complete them, while still taking time to play with new ideas. New ideas are handy for learning new things, and polish and shipping develop my endurance. A lot of what I need to learn is how to say, “No, but ...” more tactfully. And sometimes I just need to say, “Fuck off.”
I need to breathe in as much as I breathe out.
The rate I make stuff has to be met with feeding my inner maker, and the pace of both needs to be tempered with rest and exercise. Wax on, wax off.
I get a lot done when reflecting and day dreaming. Even taking the time for a long lunch is a good investment. I need to slow the fuck down and feed myself and my muse. Skipping lunch to work? Why do I do this?
Great tools really matter.
They're the difference between a bloody knuckle and a perfect build. Why did I spend so long using crappy commodity hardware and fix-it-yourself software and systems? I must continue to hunt down and use good tools, stepping around the piles of shit that are out there.
Great people matter even more than great tools.
People are multipliers, and I need to work with the people who are both positive numbers and much greater than one.
I am wrong more than I'm right.
The real trick is learning to figure out which is which. Take commuting for example, it sucks a lot less than I remembered. In fact, I really enjoy it. Remembering that I'm wrong makes it possible to see it when I am.
And over everything else, don't lose the passion.
I love the rush I get when I finally grok something interesting, the insane joy of starting a new design, the comfort I find in crafting software the right way, and the feeling I get when I finally ship something.