Enjoy coding? Mathematics? Algorithms?
If you do, and maybe you are also a sucker for games like Factorio (I spent over 300hrs on that one) or the coding puzzle games from Zachtronics, you might be interested in this year’s Advent of Code. It’ll be cool.
Advent of Code is an annual set of Christmas-themed computer programming challenges that follow an Advent calendar and can be solved using any programming language. Each puzzle comes out at midnight in Eastern Standard Time and consists of two parts that must be solved in order.
The challenges suit a variety of skill sets and skill levels and attracts a wide range of people from professional developers to beginners wanting to learn a new language and everything in between. Aside from the event itself, people use the puzzles as a speed contest, interview prep, company training, university coursework, practice problems, or just to challenge each other.
You don't need a computer science background to participate - just a little programming knowledge and some problem-solving skills will get you far. Nor do you need a fancy computer; every problem has a solution that completes in at most 15 seconds on ten-year-old hardware.
Each year there is a leader board where the people who solve the problems fastest can demonstrate their prowess. See the top 20 from 2020 in the image below.
Road to 300
Each puzzle has two parts, and you’ll gain a silver star (1 point) for the first part, and a gold star (2 points) for successfully solving both parts of a puzzle. There are 25 puzzles each year and the event has been running for 6 years so far. If you get into it, the road to 300 is achieving all 300 stars (you can still get stars from previous events but of course you won’t feature on the leader board). This is real skill building – and furthermore it’s free.
I’m entering this year for the first time. I want to see if I can get all 50 stars, which <10% of entrants achieve (see chart below), and it’s a terrific opportunity to improve my Python. A friend of mine often said “give yourself no excuse to fail”. I’m putting my plan out there because by not telling anyone there’s no one to hold you to account. Get it?
Thanks to Alex W for inspiring me to enter this year’s event. I’m not planning to be fast, just enjoy the process and learn some things along the way. Alex is our resident security researcher, penetration tester, and part of our dev team. It’s great to have him on board and I’m sure he’ll solve these problems 10x faster than I will!