Moving On

Sep 05, 2012

Almost four years ago, I was speaking at a software engineering conference in Montreal. At the speakers lunches, I met up with one of the founders of the conference, and we immediately hit it off. He told me about his growing company, and a month later, the consulting firm I'd been running was closed, our office vacant, and I had joined BitLove (the company that runs FetLife — which was then known as Protose) as CTO. It's bittersweet to announce that as of a few weeks ago, I've decided to move on.

Over the last four years, I played a huge role in every part of running FetLife. In addition to being responsible for our technology, I made business and product decisions, helped design features, wrote copy, communicated with the community, worked on support stuff, and more. I've always had an interest in — and read about — all this stuff, but actually having the opportunity to participate in it, make real mistakes, and have real successes was incredible.

As a technologist, it's hard to imagine somewhere I could've grown more quickly. When I joined, I knew a few things about writing Rails apps. While I was there, I got the opportunity to do everything with every part of the stack. I learned how to make it all run in production for a big user base and a lot of traffic, with a tiny team.

When I joined, we had ~100k users (I got user ID 129315) and Rails was serving around 50 million requests a month. Since then, our user base grew to over 1.5 million users — our traffic to almost 500 million pageviews a month and over 1 billion Rails requests (not to mention requests to other services like chat). We did it with an engineering team that hovered around 2 people (including me).

I'm really proud of the engineering work I did at BitLove. We operated an extremely high throughput MySQL installation, and I was able to solve various InnoDB scalability limitations that we encountered. I implemented a web-based IM system (similar to Facebook Chat) that hundreds of thousands of people use to send tens of millions of messages every month. I built everything from the presence and routing implementation in Erlang to the UI in Javascript. I also designed and built an extremely stable and fast activity stream architecture, almost single-handedly ran operations for the ~40 machine cluster in around 2 hours a week, and perhaps most importantly, I dramatically improved my health in the process.

The work I did at BitLove certainly represents the biggest challenges and accomplishments of my life and career to date. It was a wild ride with many ups and downs — everything they promised a startup would be. So it was incredibly difficult to leave a growing and successful company that I had a big hand in building. But it's time for new challenges.

So what's next?

I've got a couple of really amazing opportunities on the table right now that I'm super excited about. Because I get so heavily invested in my work and like to stick around companies for many years, this is a very big decision, and I'm not taking it lightly. I'm certainly open to hearing about any opportunities you think I might be a fit for, so do get in touch!


In the meantime, I'm available for consulting work. If your company needs help with any of the kinds of things I discussed above — especially performance and scalability stuff, we should chat. Email me.