Hash Code 2022: “Make love, not war” wins qualifications
About last Thursday...
On Thursday, 24 February, we ran the online Qualification Round for the 9th
edition of Hash Code – the team-based coding competition organized by Google.
I’m a Software Engineering Manager @ Google France, and as a volunteer I helped
to organize the event. In this post I share personal thoughts on the
Not a regular day
On the morning of the Qualification Round, we woke up to the terrifying news of
the ongoing invasion in Ukraine. The crisis inevitably affects, directly or
indirectly, many Hash Code participants and contributors. It’s heartbreaking to
see. My thoughts are with everyone suffering due to the war, including the
community of Hash Code participants and hub organizers in 🇺🇦 Ukraine.
As hard as it was to stay focused on this day, it was our role to run the best
Hash Code round we could. Events such as Hash Code bring together thousands of
people from around the world for a friendly coding challenge – I believe it’s
important to keep it up even when, or especially when, the events in the world
Unified competition system
This Qualification Round was the first one to run entirely within the Coding
, which also
runs the other two flagship coding events by Google: Code Jam and Kick Start.
The new competition system has a few advantages: most importantly, it offers a
more integrated experience for the participants, who no longer need to switch
between two websites (one for registration and another to compete).
Internally, the unified system reduces duplicate work: the Coding Competitions
infrastructure has a small but excellent team of engineers dedicated to
developing the system. Meanwhile, the Hash Code volunteers can work less on
developing custom infrastructure, and more on preparing the competition problems
and improving the competition experience.
This marks the end of our previous-generation Judge System, built for the 2016
by engineering volunteers. It has
served us well, allowing Hash Code to scale from 1538 contestants in 2015 all
the way to 128 410 participants in 2021. I will remember it warmly. By early
2022 this system was around 27 000 lines of code (including both the server side
and the client side), which we were able to delete this week.
Competition problem: mentorship and teamwork
The competition problem
for the round was about teamwork and project planning: given a description of
contributors with different skills, and projects with roles requiring specific
skills, assign contributors to roles so that projects are successful.
To make things more interesting, contributors can mentor each other, allowing a
colleague to succeed in a role they wouldn’t otherwise be able to take on.
Contributors also learn from experience and improve their skills by finishing
This problem idea is rooted in the everyday realities of software engineering
work: for teams to succeed they need the right combination of different skills;
good teams have strong support for junior contributors (mentoring); and the best
way to learn is to work on something on the edge of our capabilities.
If you participated in the round, consider sharing your thoughts (and
competition solution?) on your preferred social media. If you’d like to read
more about the competition, check out
. Thank you for being part of Hash
Next step for this edition: 🏆 World Finals on April 30.
Stay in touch! ✉️
Want to hear about new posts? Sign up below for a monthly update on what I've
been learning, enjoying and struggling with. Sent with appreciation straight to
your inbox :).