I started working on Twitter in January of 2007, just a few months after the site launched. I honestly didn’t think I’d still be working on it almost three years later. I moved to San Francisco in May of that year to work for Obvious Corp, which was intended as an incubator for web product ideas: work on a bunch of stuff, see what sticks, run with it. It just so happened to be that Obvious’ first endeavor stuck in a big way.
My first several months at Twitter were spent all over the map: tweaking user-facing features one day, working on our first attempts at caching the next. Taking a breather from code one afternoon, I decided to document and flesh out our nascent API. Back then, we had little more than a page that said, more or less, “poke at some URLs and see what works”.
Amazingly, creative developers had already started building things with nothing more than that nudge in the right direction. Still, I thought it couldn’t hurt to give the fledgling Twitter API a little love. I started actively participating in a Google Group for the API that someone had set up and forgotten about. Pretty soon, that discussion group became a thriving community where developers helped us shape a suite of APIs to meet the needs of all sorts of different applications.
At that time, I lived, ate, breathed, and (rarely) slept the Twitter API. Developers were pleasantly surprised to get a near-instant response to questions at 2AM on a Sunday night. We had the agility and freedom to take new API methods and features live within mere hours of a developer saying, “this would help me out”. Sometimes, this meant launching things that weren’t fully baked and having to pull them back in. Still, it was an exciting time. I was able to help something special grow and evolve.
Fast-forward to today. Developers have built tens of thousands of applications that talk to what has now become the Twitter Platform, a suite of APIs that encompasses everything users can do on the Twitter site and much, much more. The diversity of the Twitter ecosystem is fantastic. Developers have built Twitter apps on every mobile, desktop, and web platform and written client libraries in just about any programming language you can name. They’ve leveraged our Search and Streaming APIs for data mining and research. People have helped to coordinate disaster relief efforts and supported charitable causes with the Twitter API. And, increasingly, the great ideas that third-party Twitter developers come up with are turning into well-funded and successful commercial businesses.
The team behind the Twitter Platform is also in a great place. Ryan Sarver, product manager for the Platform, is doing an incredible job working through our ambitious roadmap, exploring partnerships, and more. Talented engineers like Marcel Molina and Raffi Krikorian are cranking out fixes and new methods left and right, and we have more engineers joining the team soon. The team is committed to building a world class third-party developer support organization, and is keeping abreast of upcoming standards and how they fit into our technologies.
Working on the Twitter Platform has been incredibly fulfilling, and the APIs and the community around them are only going to get better. Now, while staying on at Twitter, it’s time for me to work on something new.
Starting in a week or so, I’m going to be working on new layers of Twitter’s infrastructure alongside the brilliant folks on our Application Services and Infrastructure teams. It’s an opportunity to get back into nitty-gritty programming, to learn from top-notch engineers, and to put more of what I learned while writing Programming Scala into practice.
I’m excited to take on a new challenge, to be working with great people, and to be at a company that gives its employees the freedom to pursue what’s interesting to them. If that sounds like a place you’d like to be, consider applying. We have lots of exciting work ahead of us at Twitter.