Personally, one of the most fascinating things I find about the Advent of Code is when you hit your particular “wall”. When you think you can’t possibly go any further and you get frustrated and start to doubt yourself… if you’re participating, did that happen to you yet?
So, the puzzles start off reasonably straightforward. They do, however, get much, much harder. No matter what your knowledge and years of experience, AOC is wonderful for personal development and learning point of view but it can also get quite intimidating.
This Reddit comment for puzzle 20 (AOC 2022 is destroying my self-confidence) really caught my eye:
The last AOC I did was in 2017. I remember having a really tough time. Now, five years later, I thought I would try again. Surely I’m a better programmer now? Seems I’m not.
After Day 14 I’ve had nothing but trouble. As soon as any math gets involved or it’s not easy to visualize each step and check it by hand (like today, Day 20, with the real puzzle input) I break down, and I just cannot reason about it.
The post goes on:
This is such a hit to my self-confidence.
Obviously this is not the intention of the AOC. The community is however very supportive and shares their thoughts and suggestions.
Why Do We Push Ourselves?
But for me, this response really hit home in two ways.
1. Why do we push ourselves hard or get to feel like failures with what is only supposed to be a bit of fun?
2. How often do we (as programmers) feel like this in our day jobs? And what is the result in the code?
Expanding slightly on point 2 – how does working at the limits of our abilities (or when we are constrained) affect the quality and supportability of the code we write?
There is plenty of food for thought here to expand upon in 2023.
For the moment though, I’m carrying on pushing the boundaries of my algorithmic knowledge (I’m stuck on 9 and 20) and look forward to the holiday season.
BTW if you’ve not filled out the Advent of Code survey – you’ve got 24 hours left!