December is the time for many festive activities BUT there is one that is clearly the best 😉
I’m here today to tell you about Advent Of Code. A yearly coding tradition – best of all, in pure community spirit it is completely free! (also this is not sponsored or anything, I just enjoy it and wanted to share)
Table of Contents
- What is Advent Of Code?
- Reason 1: There is a growing community sharing tips, solutions and just good vibes
- Reason 2: You can participate in any language you want
- Reason 3: It’s harder than following a tutorial but easier than building your own big project, Advent of Code is ideal for improving your skills without getting overwhelmed
- Reason 4: If you’re up for a challenge, there is a daily leaderboard as well.
- Reason 5: Advent Of Code is less stressful than other Code Challenge websites
- Reason 6: You can go at your own pace! You don’t have to participate daily.
- Reason 7: The challenges have a cute story!
What is Advent Of Code?
The website: https://adventofcode.com/2022/about
- Daily coding challenges from December 1st to December 25th
- every year since 2015!
- Free to participate, you can log in with GitHub (among other options) credentials to save your progress
- Increasing difficulty over the month, ideal for beginners and more experienced coders as well
- You get an input file and have to produce a certain output based on that and a task description with examples
Reason 1: There is a growing community sharing tips, solutions and just good vibes
You get stuck somewhere? Don’t worry, there are many places you can go to for tips and tricks!
First of all, of course there is a subreddit: https://www.reddit.com/r/adventofcode/
The subreddit is somewhat active year round, but December is when all the fun happens all at once. You can ask for advice and tips, see how other people are solving the challenge (ideally after you already tried your best, don’t spoil it for yourself), and learn new tricks by observing others.
There are also blog posts, a Twitter Hashtag, YouTube videos and even live streams happening.
Reason 2: You can participate in any language you want
Do you have your eyes on a new language that you wanted to check out for a while but you can’t use it in your job or university assignments? Personally, I’ve had my eyes on Scala ever since I started working with (Py)Spark last month.
Many participants choose to challenge themselves and use a new (to them) or unusual programming language for Advent of Code. Like this person here, who wants to participate this year by running all the code on an original Game Boy from 1989?!
But don’t worry, I can assure you the basics like Python, Java(script) or whatever you already know, work perfectly fine too 🙂 In fact, here you can find some of my solutions for Advent of Code 2021 using Python 🙂
Reason 3: It’s harder than following a tutorial but easier than building your own big project, Advent of Code is ideal for improving your skills without getting overwhelmed
Over on my Instagram, I often see people asking how they should practice coding. Let’s say you know at least the basics of coding in whatever language you want, but now you are stuck in that zone where you know enough that tutorials are kind of boring, but you are not comfortable starting a huge project on your own.
The daily challenges will fit directly in the middle of this. They start off quite easy in the first days, which is suitable for beginners (though you do need some tutorials under your belt to read in the input etc.), but I’ve heard they can get quite challenging towards the end (except Christmas day itself, that is easier again, so you can spend time with your family).
Personally, I have only solved them up to Day 11, because I put too many things on my to do list, but this year I want to see how far I can get…
Reason 4: If you’re up for a challenge, there is a daily leaderboard as well.
Ever heard of competitive programming? These are timed challenges, where it’s important how fast you code a solution to a problem. Every day when the daily puzzle gets released (midnight EST/UTC-5) the leaderboard opens on the Advent Of Code website and if you are fast enough you can secure a spot. Typically it fills up after 2 minutes to one hour depending on the day, so you do have to be quick.
Please note: this is for very advanced coders. If you are nowhere that fast, do not worry, I don’t think I would make it on any leaderboard either.
Reason 5: Advent Of Code is less stressful than other Code Challenge websites
Many of you have probably heard of LeetCode, which is excellent for preparing for job interviews, especially big international companies. But sites like this are focused on interview prep and not everything related to coding has to be about jumping through increasingly ridiculous interview hoops.
Advent of Code gives you a festive environment to just practice a skill. Just for the sake of improving your data structures and algorithm skills and having fun with a hobby.
Reason 6: You can go at your own pace! You don’t have to participate daily.
Not everyone has up to multiple hours a day to devote to coding every day in December. And that is no issue. Unless you’re determined to make it onto the leaderboard, you are free to go at your own pace. You can catch up on challenges and go back whenever you feel like it – for years to come. You can also skip challenges, if some are just not working for you that day.
Reason 7: The challenges have a cute story!
Each year the challenges follow a theme and a story – you have to save Christmas! Last year, the sleigh keys got lost. Your job was to help the elves’ submarine by collecting two stars every day. This means the challenges all had a deep sea theme to them: from under water geysers to crabs and sonar equipment.