On February 22, 2023 Google announced the sunset of Coding Competitions. This marks the end of the road for Hash Code , a team programming competition I co-created @ Google France in 2014 and led through 9 annual editions.
What was Hash Code?
Hash Code was a team programming competitions organized by Google, with local hubs independently organized by universities and developer groups around the world.
The KU Leuven #hashcode hub is ready to participate with a full house tonight! Good luck to all teams! #kuleuven #hype pic.twitter.com/avVYxZ8nfC
— Thomas De Backer (@mosterdt) March 1, 2018
The problems were inspired by actual challenges faced by Software Engineers at the company. For example, the very first Hash Code problem was optimizing the routes of Street View cars capturing imagery of a city: it was something my colleagues at Google France were indeed working on at a time.
I think people liked it (and we the organizers liked running it), because of the community-building experience it was providing.
This was happening at three levels:
- the contestants worked in teams of 2-4 people. It feels good to work together, and each Hash Code edition gave the participants an opportunity to practice teamwork.
- the teams gathered in hubs, which were self-organized local meetups (in-person or virtual), typically run at a university or a developer group. This created a feeling of representing a local community together, and allowed everyone to meet like-minded people from their area or school.
- we only had one big online round each year, and everyone was working on the same problem at the same time. So beyond teamwork in one team, beyond the local vibe of a hub, there was also a sense of participating in a global event at the same time as thousands of other developers around the world
Quick pizza break and back to hacking @Andela_Kenya @Andela #hashcode2016 pic.twitter.com/LZpnzQRqnK
— Anthony Nandaa (@ProfNandaa) February 11, 2016
My favorite ranking of each Hash Code was the ranking of hubs by total score. Adding the score of all the hub participants together wasn’t of course a very fair metric (as it favored bigger hubs). But it was a quintessential Hash Code thing, we were looking at the total and not the average, because this way every single participating team always helped their hub standing, even if they only earned 1 point.
The last few competitions had over 100k participants each, and were probably the biggest programming event of this type in the world đź’«.
Problem archive
We set up a problem archive on GitHub. For my personal favorites, check out these three:
- Street View routing (Hash Code 2014): the very first Hash Code problem, which defined the competition formula we followed for all the years to come. The problem statement was directly inspired by a real optimization problem our colleagues at Google France were working on at the moment.
- Data center reliability (Hash Code 2015): neat problem that captures fundamental concerns of building reliable systems from unreliable components: maximizing overall performance while planning for the inevitable failure of some components.
- Photo slideshow (Hash Code 2019): one of the shortest Hash Code problem statements, and a lot of its beauty is in this simplicity. All that the problem statement asks for is to arrange a set of photos into a sequence, and the problem is already NP-hard.
Competition history
I wrote a separate long-form post about the history of the competition.