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 helped to create @ Google France in 2014 and I’ve been helping to run since then. It’s not easy to say goodbye to Hash Code, and yet a goodbye note is in order, so there we go.
The sunset of Coding Competitions
Coding Competitions was a set of three annual programming contests run by Google, each with a different format: Code Jam (algorithmic challenges), Kick Start (designed for beginners) and Hash Code (team competition focused on problems without known optimal solution). The three competitions started off independently (Hash Code in France, Kick Start in APAC, only Code Jam was global from the first edition) and as they grew they were eventually combined under one global program, running in a unified competition system.
The sunset. As announced in the Google Developers blog post and explained in the website FAQ , Coding Competitions are sunset: there will be no in-person events, and no prizes, in 2023 and beyond. This applies to each of the individual competitions (Code Jam, Kick Start, Hash Code) and to the overall Coding Competitions program. The website hosting the competitions, scoreboards and certificates is also shutting down and will only be available until July 1st, 2023.
Farewell competition. For one last Coding Competitions experience, register for the farewell competition on April 15, 2023. This will include Code Jam/Kick Start-style problems (no Hash Code-style problems and no team forming) organized in four concurrent rounds at different levels of difficulty .
As the Coding Competitions website which hosts the competition problem archive is shutting down, we set up a new problem archive on GitHub . It already contains all Hash Code problems (2014–2022) and will eventually also contain Code Jam and Kick Start problems. For my personal favorites, check out the problems below.
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: how to optimize routes for a fleet of Street View cars taking imagery of Paris, so that all streets are photographed as early as possible.
Data center reliability (Hash Code 2015 Online Qualifications): 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 Online Qualifications): 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. (proof left as an exercise to the reader ;))
Thank you to everyone who made Hash Code possible, helping it grow and thrive over the years!
The event started off in 2014 as a local pizza-and-coding meetup @ Google France with 200 participants in attendance. There was something about the formula that worked well, because we kept organizing it, and the students kept coming, and by the 2022 edition we had ~124 000 registered participants globally. I don’t know the participation numbers for other similar events, but I’m pretty sure that at this point Hash Code was one of the biggest programming competitions worldwide :). (More on the history of Hash Code in this long-form post )
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
What made Hash Code work? I think people liked it (and we the organizers liked running it), because of the collaborative, 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.
I will miss Hash Code and miss interacting with you all. I have no doubt though that the energy behind the competition will be put to great use in other endeavors. Have fun, take care and see you around in this small world!
PS If you have a personal Hash Code story you’d like to share don’t hesitate to drop me an email, happy to hear from you!