Last week, Facebook sponsored the TopCoder world finals in Las Vegas. I was lucky enough to go and hang out for a few days with some of the world’s best coders, and it was a fantastic experience. Sadly, I didn’t bring a camera, so I’m linking to these pics from the Flickr photostream.
TopCoder is the world’s premier online coding competition. Before this trip, I was of course familiar with the algorithm competitions, but I didn’t know that they have a wide variety of events including lightning bug fixing and
grueling eight-hour marathon matches. For the more right brained geeks out there, they have also branched out to a design competition in which Photoshop wizards make pretty looking mocks.
For the contest, the competitors sat up on a raised platform like the one below. Their screens were mirrored on a bank of monitors off to the side, so spectators could cluster around and watch them.
I was surprised by how much strategy went into it. For example, there is a challenge round, where your competitors can look at your code and try to find bugs. If they see one, they can suggest an input that would expose the bug – if they are right, then the author loses the round and they get points. But if they are wrong, then the challenger loses points. Some folks try to put extra whitespace or obfuscate their code to lure potential bug finders in, and then they catch the edge case somewhere else just to nail them. It’s exactly the opposite of the purely collaborative environment in which I usually code.
Facebook did some recruiting:
Most of the top folks were not from the United States. Many were from Argentina (including another Lucas, with whom I practiced my Spanish), Russia, Ukraine, China. Makes me wonder what the spooks were doing there:
An ongoing obsession with many of the engineers was the economic game The Settlers of Catan. It was constantly being played as far as I can tell throughout the whole competition. Jack and I played a game with jdmetzand others. While I was strategizing in general terms like “Wood is now expensive”, I could tell that some of the math wizards at the table were calculating precise economic values for various commodities, and card counting to keep track of what everyone had in their hands.
Reminds me of my own high school days playing Risk. Of course, who’s to say I’m not still playing?
Anyway, on the second night I gave a talk about some of the technical details of Facebook Connect. Some of the more technically inclined may find it interesting.