Advent of Code - 2025
This is the second year I’ve participated in Advent of Code, and I cannot recommend this exercise enough. It’s a great way to encounter interesting software engineering puzzles that are very different from my day-to-day work.
For those unfamiliar with Advent of Code, here’s a description from the website:
Advent of Code is an Advent calendar of small programming puzzles for a variety of skill levels that can be solved in any programming language you like.
One thing that stood out to me this year was the number of problems involving grids; whether it was finding the shortest path, moving boxes around, or taking shortcuts on a racetrack.
That said, most of the puzzles this year were pretty straightforward. It helped a lot that last year I learned about Dijkstra’s Algorithm and the effective memoization of recursive function calls.
The most interesting puzzle for me was Day 24. It introduced me to “low-level” logic gates and reminded me that you don’t always need a closed-form solution. Sometimes you can figure out the answer by inspecting the output for a known input and applying some innovative logging.
If you’re interested, here is the Advent of Code GitHub repo I’ve been using for my solutions over the past two years.