cover

Are you looking for a fun and challenging way to sharpen your coding skills or learn something new? This article is about leveraging Advent of Code, a popular annual programming event, to begin on the journey of learning a new programming language.


Learning is crucial for everyone in the IT world. Development is no exception to this rule. Every line of code we write and every error we debug helps us improve, yet there’s always more to learn—and that’s what makes this process so rewarding.

Last year I mastered Golang, this year, I decided to learn Java. There’s something exciting about diving into something new, and discovering what a language has to offer. But where to start? In my opinion the best way is to start with the Advent of Code.

If you’ve never heard of Advent of Code, let me introduce you to one of the most engaging ways to level up your coding skills. Advent of Code is a series of daily programming puzzles that run from December 1st to December 25th. Each day unlocks a new challenge, and trust me, they’re as fun as they are amazing. These puzzles are designed for everyone — from beginners learning their first loops to seasoned engineers looking to flex their problem-solving muscles. Learn more about it here.

I'm writing this article on 2nd of December, just completed first challenge of Advent of Code 2024. If you are interested it is a high time to start your journey. To start your challenge visit the Day 1 page.

The beauty of Advent of Code is that it meets you where you are. Want to learn a new language? Great! Want to focus on optimization, algorithm design, or just have some festive fun with code? It’s perfect for that too.

Some personal tips for those who are just starting their journey with Advent of Code:

  • Don't use AI to solve puzzles. Cheating leads to nothing.
  • Do not google the solution. It is better to spend a couple of hours solving the puzzle than to copy the solution. And again, cheating leads to nothing.
  • Reserve a couple of hours each day to solve the puzzle.
  • Google basic things about the syntax or read the official documentation if you stuck.
  • It is ok, if you can't solve the puzzle. The main goal is to learn something new. You can always come back to the puzzle later.

So, here’s my plan: 25 days, 25 puzzles, and 25 chances to improve my Java skills. Let’s see how much I grow by the time Christmas arrives. If you’re participating too, I’ll see you on the leaderboards. Let’s make this December a month of learning, one puzzle at a time!

🌟 Let’s code 💻, let’s learn 📚, and let’s grow 🌱. 🚀

References: