On leaving Yahoo!

Today is my last day at Yahoo!. It's been four years -- more than twice as long as I've held any other job.

I remember very clearly, when I was fifteen and had had Internet access for only a few weeks, building my first web page and thinking "wow! This is fun! I wish I could get a job doing this!" Then I tried to think of big, web companies I'd really want to work for, and the first one was Yahoo!. "But they've already built their website", I thought to myself, "They don't need another web developer. Plus, I don't know Perl."

So nine years later, when Yahoo! contacted me and offered me a job in the London office, it was a dream come true. I sent excited emails to friends and family, I printed out a huge "I WORK FOR YAHOO" banner above my desk at home (in a stolen copy of the Yahoo! font). I know it sounds terribly cheesy, but I really did.

Joining Yahoo! was amazing. We're so *big*! We have our own fork of Apache, our own version of PHP, dozens and dozens of our own specialized products and plugins (I love yinst!). In my very first week, I was already making changes to websites seen by millions of people (the FIFA world cup site). And the resources we can draw on! The devel-frontend list taught me volumes about CSS and Javascript, as did internal training for YUI.

For a young web developer, there is absolutely no better place to work than here. I got to build not just big sites but great sites, working with people who are absolutely at the top of their game in every department -- design, engineering, ops, and QA. Plus there are hack days -- I love hack days! You get to build the coolest thing you can think of, as fast as you can, and show it off to hundreds of appreciative engineers. There's very few places in the world where you can do that.

Yahoo! has made me a better web developer, a better engineer, and a better teammate. I have learned so much from this company, and for that I am deeply, truly grateful. Being a Yahoo has been a big part of my life -- and I know, from seeing it in others, that you never really stop being a Yahoo, even when you're working somewhere else.

So then, why am I leaving? Because I have grown as much as I can. In my first year I grew as a web developer, in JS and CSS. In my second I grew as an engineer, architecting a whole website from scratch. In my third I grew as a database developer -- I became "the database guy" to some of you, which I still think is funny. I'm a web guy! But in this last year I have mostly grown frustrated. I'm not saying I have nothing more to learn, but I need to go somewhere else to learn it.