Wed, 03 Aug 2011
Three reasons to take (or not take) a job
Image credit: Spring! by (nc-sa) Martha Nelson.
Creative Commons needs someone good. If not me, then who? (2006)
At the end of 2006, graduation was looming. I had to find a job.
The Johns Hopkins CS jobs emails seemed to list two kinds of work in the Baltimore area: cutting-edge artificial intelligence research to build better killing machines for defense contractors, and mind-numbing Java development jobs that built expensive, hard-to-use websites for government agencies.
Faced with these options, I thought I'd ask Creative Commons if they wanted to hire a software engineer. (I had just interned there the summer of 2006.) To my glee and relief, they said, "Yes." In the blink of an eye, I said "Yes" back.
Then Google recruiters started emailing me. They suggested I apply to be a Site Reliability Engineer. They needed people who understood Linux-based performance issues and software architecture, could critique other engineers' designs before they took code to production, and be nimble system administrators. That sounded exactly like what I enjoyed doing. But I told them I already had plans.
While having lunch at Wegmans, I explained this to my parents.
"You could at least interview with them," pleaded my mother.
"No," I explained. "Google has enough resources to find someone who will help it achieve its goals. Creative Commons doesn't necessarily."
The day-to-day work at Google would have been more technically challenging, but my actions weren't going to make a net difference on the world. At CC, they would.
My own projects also need that push (2009)
In late April 2009, I was stunned to learn that Shotput Ventures funded a project Nelson, Raffi, and I applied to start. It's now called OpenHatch.
I had started working at Creative Commons because I wanted to push the world in that direction. I had enough self-confidence to think that if it wasn't me coding for them (and promoting them), it could be someone less effective.
In 2009, I realized that the same applied to my own projects. If there is a direction I want to push the world, it's not going that way unless I push it.
Thus was one more layer of humility removed.
This job will teach me skills I want -- on their time (2011)
Recently, I've considered other ways to spend my time: for example, building a system administration co-op to combat corporate cloud services with freedom-loving humans, or organizing urban kitchens for hungry yuppies to practice cooking during their lunch breaks.
To understand how to make the sysadmin co-op succeed, I needed to understand devops-style system automation tools. A few months ago, while working on Miro Community, I had the chance to redefine the service requirements using Puppet. Once I realized that it would help me plan my own future, I lept at the task.
This year, it struck me that if a job can teach me something I want to know in order to make my own projects succeed better, that could be a reason to take it. That includes future projects, and goals with a timeline of 5-10 years.
Until recently, I thought that jobs were devices for turning my time into some change in the world; I didn't realize I could retain some of the value in the transaction. In other words, I realized that I'm not an invisible worker pushing the world around. I'm a permanent fixture in my life.
Thus was removed one layer of self-effacement.
Conclusion
I'll conclude with some advice to myself:
Don't forget about yourself. Not just your vision of the world; things like, What skills are you gaining? How does this job help you succeed at what you'll be doing five years from now?