CodeX 2015: Unleashing 50x Teams

May 21, 2015 marked the three year anniversary of ThoughtSpot. We’ve come a long way since 2012 - 1.2 million lines of code, to be exact - and wanted to celebrate how much the team has produced in a relatively short period of time. What did we do? Gave the gift to code more!

Let me explain. At ThoughtSpot, I work with the best engineering team that I’ve ever seen (and I’ve been around some really awesome folks). For roughly five years, I led a team at Google that was responsible for adding 9 figure numbers to Google’s bottom line every quarter by improving machine learning algorithms. Before that, I helped build the infrastructure at Bing from scratch for web graph analysis for ranking and spam, where I had the pleasure of working with many brilliant engineers, including a Turing award winner. But the joy of working with this team beats even that.

So what’s so special about this team? Let me quote Archimedes: “Dos moi pa sto, kai tan gan kinaso.” Give me a place to stand, and I’ll move the Earth. Archimedes was talking about leverage. Leverage, the force multiplier, allows us take a relatively small force and magnify it 50x or 100x. At ThoughtSpot, the engineering team is the force multiplier. You can come in each day with an idea, discuss with three other team members, and suddenly a moment of spark has been transformed into a well-formed idea. You can throw your wierdest, ill-conceived product idea at the team, and they’ll spend an entire evening polishing it and another week building it.

While this is all well and good for nurturing creativity, we do run a pretty tight ship. In a short 2.5 years of coding, we’ve built a distributed in-memory database, a relational search engine, a business intelligence server and client, and a distributed cluster manager. All from scratch. Clearly, we have an ambitious product vision. We’ve been executing relentlessly towards it, which leaves little bandwidth for exciting, additional side projects.

Hence, CodeX.

We went into the hackathon with high expectations given the caliber of our team. But what these guys built in 72 hours was nothing short of magic. We had seven engineers teach themselves Swift and build an iOS app for our product, a project we expected to take six months to develop. Another group built a product interface that resembles what Tom Cruise used in Minority Report. Yet another group coded a video game to be used at future marketing events.

Before we dive into some individual projects, I thought I’d take a step back and look at what made this hackathon so successful. There are a few things that are broadly applicable prerequisites, like having a high caliber engineering team and having a culture of excellence and a culture of collaboration.

Once you’ve got those in place (easier said than done!), here are a few quick tips for organizing an awesome hackathon:

  1. Set some goals. We approached the event with a completely unique mindset. The goal of our hackathon was not to produce demos, but to express our passions. For some, this meant creating something that they’ve always wanted to build, while for others it meant learning something new, and others were just in it for the fun and joy of coding.

  2. Give enough lead time. We announced the event a month in advance and actively encouraged everyone in the company to join a team - even sales people in the field. We put up sample project proposals, asked each team to write their own. This encouraged everyone to hit the ground running on Day 1 of the hackathon.

  3. Don’t cut it short. I have seen many hackathons that run for a day, but a day is just not enough to build a real system of value. You end up with fragile demos and little success. Three days turned out to be the ideal duration - not so long that you lose steam, but long enough that you can build something substantial.

  4. Get out of the office. A change of environment can work miracles for your creativity and motivation. Instead of hosting CodeX at our offices (where our engineers spend far too many hours, anyway), we chose to rent out a large house stocked with games, comfort foods, treats, and drinks. This made a world of difference in how we experienced the event.

  5. Don’t forget the fun stuff. Nothing is more inviting for a geek than a new shiny gadget to play with. We supplied teams with Leap Motion devices, Mio bands, dev iPads and iPhones - pretty much any device that anyone wanted. The result, of course, was unbridled, geeky excitement. We also had some pretty awesome prizes for the winning teams (an opportunity to drive Ferraris and Lamborghinis for the top team!). (Let’s be honest, no one works their ass off at this level just for prizes, but when you up your game as an organizer, it certainly inspires the participants to do the same). 

Stay tuned for a detailed breakdown of some of our winning projects. But for now, having read this post, you have two choices: You can take the blue pill and file this as a fun read, or take the red pill and apply here.