Yes I am doing Advent of Code
A (negligibly older) friend of mine who is a dev and blogger publicly answered my question, “Hey, are you doing Advent of Code this year?” In his article, he offered some strong opinions on why one should or shouldn’t participate in the advent of code. The following are my thoughts on the matter.
Front Matter
You, the reader, are either him and there in have the context of the article or not him and are free to go read his article. He has two main points that I wish to contend with.
First, it is preferable to do “real work” the Advent of Code:
But the question is what are putting in your time on? When I was the same age as one of my (much younger) friends, I poured all of my time into building a web site—that I’m still using every single day a quarter of a century later.
Second, the Advent of Code is akin to empty calories:
I also wonder who came up with the advent of code? All of the time that people spend every day working on these arbitrary examples is good training, I guess. But training for what? Job interviews? It’s all time that they’re not spending on other creative projects or spending on open-source projects. I’m not trying to knock it at all—becoming a good programmer means just putting in the time.
Why I do Advent of Code
In discussing my reasons for doing the Advent of Code, I hope to show dissent for these notions. However, let me first qualify that they are good points. Having a well flushed out portfolio is way better than 1000 hours in Leetcode. By the same sword, these little puzzles won’t sharpen your claws, so using them for training is a bit of a fools errand. So, why do I do these things if it isn’t helping me become an elite 10x software engineer?
Have you heard of Inktober? In short, it’s a drawing challenge where you draw in ink based on a prompt every day of October. You don’t win anything. There’s no cool badge. It’s just fun and a challenge (try to draw something subverting 31 days in a row). I really enjoy to break out my pen and pad and render some ideas.
I do Advent of Code for the same reason. It’s not to prove I can do these problems. Not to diminish anyone’s struggle, but they really aren’t that hard. They can all be brute forced pretty easily (last year I let one run for 5 minutes instead of optimizing).
But I get to write a fun program everyday. I love to program. The proverbial Leibniz to my Clark sent me a comic. It likes the death of programming at the hands of LLMs to the plight of poets. Poetry is a noble pursuit but to very murky and debatably meaningful ends.
When LLMs hit the scene, I was really afraid that something that I loved what going to be relegated into a skill like wood carving.
As we’ve seen, I was half right; programming is down, but software engineering is still very needed.
On the one hand, I still have my job – that’s cool.
On the other hand, I’m less incentivized to really whip around my text editor all day, because my app running is a <Tab>
away.
That said, it’s all for naught anyway man. My drawings for Inktober go no where, but it makes me feel good to do them. The poems write never see the light of the day but it’s nice to have expressed. Moreover, if this blog post is meant to provide value to the world – it will fail. This post is for me to work out my thoughts into something concise, not for mass outreach.
I love to program. Software engineering is fun too. But stitching syntax into ideas and welding the winds. Weaving a new world that will live to hold my ideas. That’s why I got into this crap. Advent of Code isn’t working on my personal code projects that I want to get done, nor is it really proving my mettle. It’s just fun – that’s enough.