. . . + . . .
. . . # . .
. . ### . . .
. . "#:. .:##"##:. .:#" . .
. . "####"###"####" .
. "#:. .:#"###"#:. .:#" . . .
. "#########"#########" . .
. "#:. "####"###"####" .:#" . .
. . "#######""##"##""#######" .
."##"#####"#####"##" . .
. "#:. ... .:##"###"###"##:. ... .:#" .
. "#######"##"#####"##"#######" . .
. . "#####""#######""#####" . .
. " 000 " . .
. . . 000 . . .
.. .. ..................O000O........................ We’re once again in this magical time of year, when all we have in mind is holiday preparation, long-awaited quality time with family, stocking up on gifts or gingerbread, and consuming obnoxious amounts of hot chocolate (please tell me it’s not just me!). But we engineers also have one more thing to do…
To save Christmas.
Save Christmas, you may ask? Yes!
But how?! Most of you probably already know: by solving Advent of Code puzzles!
Well, actually, some of us have been “saving Christmas” for the past few days already (it’s 08 December as I’m writing this), and I just finished solving today’s puzzle.
If you are not aware of what Advent of Code is, its website beautifully encapsulates the core idea of its existence:
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. People use them as interview prep, company training, university coursework, practice problems, a speed contest, or 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 pretty far. Nor do you need a fancy computer; every problem has a solution that can be completed in at most 15 seconds on ten-year-old hardware.
- about section of adventofcode.com
The only difference we have this year (2025) is that there are 12 puzzles instead of the usual 25. The puzzles consist of 2 parts (the second part is usually a twist on the first one) that unlock every day at midnight EST/UTC-5 (so 6 a.m. in Poland!). But what makes them different from your usual HackerRank / LeetCode problems? They have amazing stories, with many easter eggs and, as with everything in the holiday season… they’re too unsurprisingly… holiday-themed, and it’s not really about the most efficient solution, first get it right, and then the magic comes from checking how the others tackled the same problem.
Why? For us, it’s a chance to play around with languages we might want to explore further (some of us are doing the puzzles in Rust or OCaml - hello, Jane Street!), and some of us want to get better at existing stacks and try to do code golf in Python or Kotlin. Or maybe you always wanted to try TDD, there really isn’t a single rule for how to solve Advent of Code puzzles.
So… grab your colleagues for team play (for us at Appunite, an async Slack channel where we post solutions for each day and have regular conversations in a thread has worked best). Think hard about the problems, try, try, try, rinse, and repeat. If you are stuck, there is an Advent of Code subreddit where people typically share solutions for each day, as well as numerous YouTube videos that walk through the puzzles (or attempt to speedrun the entire challenge).
Bonus:
If you feel tempted to use an LLM, never use it to get the full answer or one-shot the whole thing, please do not outsource your thinking; Use it as a read-only rubber duck: explain your thoughts process and prompt it to give you a hint, use it as a way of exploring some concept that is not well understood (a.k.a. ask your “stupid” questions).
Happy Holidays! 🎄✨
References / Useful stuff: