Facebook is somewhat infamous on the college software developer scene for its ‘hackathons’. What exactly is a hackathon?
“At Facebook, we believe that every engineer has a great idea within them. We had a Hackathon last week, and it was a chance for each engineer to surface this idea and spend a night cranking away on it.”
In other words, organized, unpaid overtime in which developers stay up all night to work on projects outside of their usual work just because they feel like it. And then go to work the next morning. Yes, this is totally awesome. It reminds me of MIT. It also makes a lot of sense because it’s far easier to code something interesting in one nonstop 20-hour spurt than in 40 hours of punctuated work time. You’ll understand what I mean if you ever become course 6.
In the spirit of hacking, the office is bedecked with a variety of posters inscribed with witticisms like the following:
This summer, the interns have been running unofficial hackathons on Thursdays. ‘Summer’ is only five weeks old for me, but the least fresh interns have been here for over two months. One unwavering constant about software internships is that interns from the University of Waterloo, whose academic program alternates four-month periods of school with four-month co-ops, always start working a few weeks before everyone else and initialize the intern culture. Us late bloomers, still bleary-eyed from finals, end up grafting ourselves onto their social branches. It’s sort of like a retrograde exchange program, where they use their extra month of expertise to guide us through pitfalls when we inevitably break the code, and we exchange small cultural hilarities (“What’s wrong with American university schedules, eh?” “No, what’s wrong with Canadian schedules?”).
Another weird quirk about software culture is that people usually meet on IRC (chat) before IRL (in real life), so their Unix names nontrivially affect the names they’ll be known by. Many interns end up with their last names permanently attached to their first names for this reason. A few lucky ones have unusual enough names that they can blend their real identities with their Unix ones. (Looking at you, Yuzhi and Fravic. Carlos: WTF?)
So, back to hackathons. A lot of relatively high-profile Facebook features have apparently been birthed from hackathons — video wall posts, and the ‘like’ button, to name a couple of things you probably have difficulty imagining your online life without.
Many hacks are internal, which is probably utterly uninteresting to you but useful for me — for example, an IRC bot that broadcasts shuttle schedules, lunch menus, and graphs activity in the interns’ channel, or a script that texts your phone once your machine is done running a job. Last week, a few of us hacked on tags so that they would support employees’ unix names, although I’m not sure if this is going to fly with upper management. However, since we’ve just been having unofficial hackathons so far, Thursday nights will often devolve in the following manner for the less inspired among us.
After being nearly trampled in the mass of hundreds of engineers and interns champing at nonexistent bits and Chinese takeout, ready to hack singlemindedly toward the frugal reward of a warm fuzzy feeling of accomplishment and a free T-shirt at 5AM, we retreated to the war rooms and delved into the massive codebase mutating before us.
Then, someone burst into the room telling us to come play with Zuck’s puppy. No, that is not a euphemism.
After generally giggling like idiots at Beast’s persistent attempts to break the codebase by cuddling with one engineer’s keyboard, we re-retreated to our retreat. While one of my friends apparently pushed out 5000 lines of code that will add something useful to your profile in the near future, I experimented with an incredibly cool feature that you may find out about in several months, only to discover at 5AM that my development sandbox had ingloriously broken. Crushed, I sank into the oblivion of free T-shirts and sweet sleep, awakening five hours later with an full beard and a splitting headache to the tireless clacking of keys and another day in software engineering heaven on earth.