Every couple of months, a few hundred of our engineers unleash their talents in epic, all-night coding sessions, and often end up with products that hit the internal and external versions of the site within weeks. These are Facebook hackathons, and since the first "official" hackathon in 2007, they've remained one of the most exciting opportunities people here have to make a major impact in short period of time.
Hackathons are a chance for engineers, and anyone else in the company, to transform the spark of an idea into a working prototype and get other people excited about its potential. We’re a culture of builders, and hackathons are our time to take any idea—big or small, sane or crazy—and build it into something real for people to react to. Instead of worrying if their idea will scale for more than 900 million people, people are able to focus on getting their basic project up and running so the broader team can quickly iterate to make it better.
Here's a quick look back at hackathons over the years: how they started, why we do them, and the major products they catalyzed.
In the beginning
In Facebook's early days, a lot of ordinary nights were like hackathons—when someone decided they wanted to stay up all night to build a prototype, they just did it. But as Facebook grew, people started organizing hackathons as a way to collaborate with colleagues from different parts of the team to get their ideas working fast. I had heard a lot about hackathons before I came to Facebook, and about a month after I joined in 2007, I asked another engineer when the next hackathon would be. He just said, “Whenever someone wants to organize it.” I immediately went to my desk and emailed the company that I was going to hack the following night and, if anyone else wanted to join me, I would get food and drinks. The following night, we had a great hackathon that generated lots of innovative projects and ideas. Zuck came to my desk the next day and told me how awesome the hackathon had been, and from then on I've been spreading the word.
It's still up to anyone in the company to decide when we're going to have our next hackathon, but if all else fails, Roddy Lindsay, Blaise DiPersia, Bubba, and I will announce one every six weeks or so through a Facebook Event. Before every hackathon, we create an internal wiki where people can start brainstorming, plug their hackathon ideas, and find teams to help them execute. Hackathon projects are usually driven by cross-functional teams, with everyone from engineers to lawyers to UX researchers, so the wiki and event wall are usually filled with comments like, "Anyone want to code with me?" or "I can code but my design judo is weak, want to design project X?" A lot of people also use hackathons as a time to hone a new skill or work on projects where they can be exposed to unfamiliar technologies. Everyone, regardless of team or skill level, is free to check out what projects are happening and jump in.
At around 7:00 pm on the day of the hackathon, everyone gathers around the crane from our old 1601 California office— the kickoff place for over half of our hackathons—and Roddy, Blaise, Bubba, and I get up to give the official charge. There are only two rules: you have to work on something outside your day job, and if it's your first hackathon, you have to hack.
From there, everyone gets together with their group and starts hacking. Around 10:00 pm, the group gets back together to eat the traditional hackathon Chinese food feast from Jing Jings, a small place we've been getting food from since we were in our first offices in downtown Palo Alto. Then everyone keeps working until around 6:00 am or when they pass out—whichever comes first.
After each hackathon, we keep the momentum going by holding a prototype forum where everyone who built a project can present it to the company. Prototype forum usually happens a week after the hackathon, so it gives people a chance to fine-tune their projects and prepare them for live demos. Everyone gets the same amount of time at the forum—two minutes—to convince their peers that their idea should ship.
Some of our most-loved products started at hackathons, got props at prototype forum, and made it to your computers and phones, including Video, the Like button, Chat, Hip Hop for PHP, and even Timeline. But just because a project doesn't become a huge product doesn't mean it doesn't have a huge impact. Several years ago, an intern built the "tagging in comments" functionality at a hackathon. When he presented it at the forum, everyone's reaction was the same—we couldn't believe that someone hadn't built this yet. It shipped to 100% of users within two weeks.
Hackathons are so valuable because they are a time when we're able to think past the next day or week and just build without constraints. Taking this time to think differently pays off with new ideas and cool things that get shipped. Even as we grow, the impact of hackathons remains massive: 60% of the projects from the hacks we held in December of last year and February and March of this year have already shipped either internally or to people using Facebook. These projects include full-screen photos, photo filters for Facebook for Every Phone, our rooftop QR code, and a fun, internal timeline app that rewards engineers with a Pokemon each time they fix a bug. Of course, not everything we build at hackathons will ship, but the really good ideas get implemented quickly and influence how we think about building moving forward.
We've also expanded hackathons beyond Facebook offices. In 2010 we started Campus Hackathons, where a few of our engineers head out to college campuses across the country like Harvard, University of Michigan, and UCLA to host competitive, all-night hackathons. The winners of each campus hack are then flown out, all expenses paid, to Facebook HQ to compete against each other and present their final prototypes to Facebook engineers.
At my first hackathon in 2007, about 20 people showed up. At our most recent hack, last Thursday night, more than 500 employees came together to hack on apps for non-profits, new internal tools, and major upcoming features. The camaraderie, productivity, and occasional insanity of hackathons have helped make Facebook what it is, and I have no doubt that they'll stay core to how we build for years to come.