Mon, 05 Sep 2011

Dream Job: Day Zero

It's been two months since I posted Passionate Developer seeks Dream Job, and I've been overwhelmed by the positive response it has generated - lots of well wishes, kind words, advice, and several really interesting opportunities. Even better, I'm happy to announce that the story has a happy ending.

The short version: I started today with Mozilla, working as a contractor with the Services team. It's been quite a ride to get here, so read on if you're interested in the long-version debrief.

Perhaps the most surprising thing I discovered is that there are lots of opportunities out there that would tick many, if not most, of the boxes in my list. I've spoken to big open-source companies like Mozilla and Canonical, independent open-source vendors like flowplayer and nexB, local open-source-friendly companies like Citrus and Kogan, and of course my fair share of recruiters.

If you're a python developer with a passion for open-source, and you're looking for interesting work with flexible conditions, do yourself a favour and check out some of the links above. Over the past few weeks I've had the privilege of speaking with great developers all over the world, and the opportunities are definitely out there.

So is this Mozilla gig going to live up to the lofty goals of my dream job? Let's take a look:

I want to be challenged. I want to hack with world-class developers and grow to be one myself. I want the opportunity to learn and to teach every day. I want to be part of a team that loves their code and loves their job.

Yep. During my interviews with Mozilla, several of their developers responded to my standard "what's it like at Mozilla" question with: "Everyone at Mozilla is a super-genius except for me. It's challenging, and intimidating, but amazing."

Funnily enough, I was thinking something similar about the rather impressive credentials of my interviewers. Hopefully I don't reduce the geniosity level too much. It's going to be a fun ride.

I want a job that I can take with me and do from anywhere. Or at least anywhere with broadband.

The Services team is managed by Mike in Toronto, and has Tarek in France as well as a bunch of folks working remotely throughout the US. All development is run via bugzilla and IRC.

Oh yes, and there's a weekly team conference call, with the next meeting in about four hours – that's 2:15am local time. Yeah, timezones are going to be interesting...

I want to write code that matters.

Mozilla are building the future of the internet. That matters.

I want a company that respects open source.

"Openness" is the sixth word in Mozilla's Mission Statement; if you remove filler and fluff words, it's the first. Pretty much everything they do, they do in the open. Proof? Here are the services repos that I'll be committing to.

I want flexibility. I want to start late if we've had a rough night with a child. I want to start early if there's an idea I can't get out of my head. Once in a while I want to cram the work week into four days and spend a long weekend doing something with the family. And I want confidence that not only will I get the job done, but I'll get it done well.

This one will be interesting. Due to the timezone difference with most of the other team members, I only have a few hours a day where our "standard business hours" overlap. If I slept in I might well miss them entirely, so there's definitely going to have to be some discipline on my part here – but hey, this is a job after all.

That said, it seems clear that there will be more than enough flexibility in the role for me to work around whatever my family might require.

I want a company that would accept a github page as a resume and a blog post as a cover letter.

Hey, it worked for me :-)

And as long as my family isn't left wanting, I can give my kids the opportunities they deserve, and I don't feel under-appreciated, then all of these things are more important to me than the figure on the paycheck.

No, I'm not going to go there; I'll just say that I'm not feeling under-appreciated.

I'm not naturally an adventurous person. I spent a long time agonising over whether to post that initial article, but I'm so glad I did. Not only because of the job that has come out of it, but because of all the people I've spoken to as a result. It has been a delightful reassurance that I'm not crazy, that I'm not alone, and that it's possible to do the sort of work I want to do without compromising on all the other things I want out of life.

It feels like I now have a lot to prove, but I'm certain I am up to the challenge.