I distinctly remember the tribulations my father went through in his career. He worked hard to achieve an MBA from a prestigious business school. The degree opened up many opportunities for him, but I don't think he ever found exactly what he was looking for. We moved throughout my childhood, travelling from job to job, never staying in one place for more than a year or so. I'm not sure he ever found work that satisfied him, even to this day. Copies of What Color is Your Parachute were staples in our household.

It can take a long time to figure out what you want out of your work life.

Like my Dad, I spent many years after college flitting from job to job. I had nothing to complain about. I was making a great living. I was never on the market for particularly long before some new opportunity would come up. I enjoyed my work. But I wasn't choosing a career path. I was letting happenstance determine what I was, and what I was becoming.

At some point in your career, you have to stop floating through life like the symbolic feather in Forrest Gump.

Unfortunately, I don't think my father ever figured out what he loved to do. He never determined the color of his parachute. But I got lucky. A few years ago I realized that what I loved to do, what I really loved to do more than anything else, was write software and fool around with computers. Seems obvious, I know, but you have the advantage of not being me. Self-awareness is a perplexingly difficult thing from here on the inside.

Life is too short to stay at a job where you're not doing the things you want to do, where you're not enjoying yourself. And yet here I was, a guy hopelessly in love with all things computer and software, working at a company where where software was considered a byproduct, a cost center, a necessary evil:

A close friend of mine works for a company that has experienced a mass exodus of developers. The best left first, the mid-range followed. What's left are the people who clock in 9 to 5 for the paycheck and don't take pride in what they're building. The company now has what they asked for: a team of low-level code jockeys. The people with initiative, energy, and passion have left. Enterprises that consider developers "commodities and low level craftsmen" are doomed to have (at best) average developers working for them.

To be fair, it was post-bubble, and jobs were hard to come by. The work was interesting, but it was abundantly clear that software was not the lifeblood of this organization. Outsourcing was in the air. Although my coworkers were competent, nobody was quite as obsessed with the software as I was. My passion for software, and everything around it, was clearly not shared.

I set out to change that. Companies would no longer be able to select me from a generic lineup of candidates. Instead, I would select companies. Companies that I respected, companies that shared my passion for software. Armed with thirty years of hindsight, I would no longer let random, chance opportunities determine my career path. I will choose where I want to work.

In a recent article, Joel Spolsky describes the guiding philosophy behind his software company:

Frankly, the main reason I had to start this company was to have fun at work. Working at Fog Creek is intentionally designed to be pleasant. We started the business because we wanted a great place to work, to spend our daylight hours. And we have a disturbing tendency to try to do a lot of things ourselves, especially if it's going to be fun or if we think we can do a better job. It takes us a little longer that way, but I figure the journey is the reward.

That's exactly why I chose to work at Vertigo Software. We have the same philosophy. At Vertigo, I'm surrounded by incredibly talented software engineers who are all passionate about software. And dammit, we have fun.

If you love software as much as I do, you deserve to work at a company where people come to work not to punch a clock, but because they love software, too. You deserve to work at a company where software engineering is respected. You deserve to work at a company where peers meet to enjoy building software together.*

We're in the middle of a huge tech boom; some might even call it another bubble. Opportunities abound.

Choose wisely. And remember, this stuff is supposed to be fun.

* did I mention that we're hiring?