On Priority

Your job consists of your manager, your peers, and your project. A rookie mistake is to focus on your project. Having a cool project won’t help you if you can’t get along with your peers. A great project that your manager can’t sell won’t get you promoted (and that great project might get canceled at any moment.) Having great peers takes the sting off of a terrible project; camaraderie is a powerful force.

On Where to Work

I’ve been lucky enough to work for a wide spectrum of companies. Enough of my friends have done double-takes (“You worked for Intel? Really? When?”) that I present here a quick overview: Local, 10-developer, software house. Long since acquired. Intel, in a research group. Intel, supporting a fab group. 3COM, right before the HP buyout. Microsoft, from Vista to just before 8. Amazon, during the Kindle Fire release. Google. It’s with a little bit of authority that I can say that Steve Yegge was right in 2008.

On Questions

First, a question I will answer later. This post is already long enough. Where should I work? Productive questions are about a journey and a destination. Why am I waiting for rebuilds? How many times am I re-entering my password? Where is my time going? Non-productive questions are subtle, or not subtle, endless tasks. How should I structure my project? Should I use vi or emacs? How can I generate automatic time reports for my manager?