DEV Community

Cover image for Why You Should Be Doing Advent of Code (it's not too late to start)
Miles Watson
Miles Watson

Posted on • Edited on

Why You Should Be Doing Advent of Code (it's not too late to start)

You may have recently heard some talk about Advent of Code - every developer's favourite advent calendar. In this article, I'm going to try and explain why everyone can get something out of it.

What is Advent of Code?

Advent of Code is a website that sets daily challenges for each day of advent. The context for each challenge tells part of a story that spans the full 25 days.

Each day, you are presented with two problems that are designed to be challenging whilst remaining accessible to those without much programming experience.

Solving a problem rewards a gold star - to complete the challenge, you need to collect all 50 of them. Whilst this sounds simple, the challenges vary in difficulty (with an upwards trend as the event progresses).

What languages can I use?

You can use any language! None of the problems involve uploading your own code - you can solve all of them locally, and then copy/paste the answer into the submission box. You can even solve them with an esolang if you want a challenge!

Why should I be taking part?

Almost everyone has a reason to take part in this competition! However, the most compelling reason depends on where you are in your programming journey.

If you are just starting out

This is an opportunity for you to start using some of the basic skills you may have been learning. If your programming experience is limited to online courses or video tutorials, then AoC is a great way to practice applying your knowledge to solve problems by yourself. The story is a nice touch too!

If have been programming for a bit

Advent of Code is a great way to practice your problem solving skills. It can be used as an introduction to competitive programming - perhaps you might get a hobby out of it! At the very least, you can expect to improve your interview skills.

I would recommend timing yourself to see how quick you can solve the problems, and then try and compete with your friends / colleagues.

If are an experienced programmer

As you might have some competitive programming experience, you can take this challenge a little more seriously. If you are fast enough at completing them from when the challenge launches, you might even be able to make it onto the leaderboard!

Alternatively, you can take AoC as an opportunity to try and get some experience with that new programming language you have been eyeing for a while. I personally have chosen Go, because I want to be familiar with the syntax before experimenting with the various web frameworks that it offers.

Conclusion

Advent of Code is a great idea that can really get you thinking. It is on its sixth year now, and is continuing to grow. In fact, there was so much traffic on the first day this year that it brought down the servers!

You can get started at the following link: https://adventofcode.com/

Footnote

If you enjoyed reading this, then consider dropping a like or following me:

I'm just starting out, so the support is greatly appreciated!

Disclaimer - I'm a (mostly) self-taught programmer, and I use my blog to share things that I've learnt on my journey to becoming a better developer. Because of this, I apologise in advance for any inaccuracies I might have made - criticism and corrections are welcome!

Top comments (9)

Collapse
 
bookercodes profile image
Alex Booker • Edited

You should also check out 24 days of #JavaScriptmas by Scrimba if you’re looking for something more JavaScript and front-end oriented.

Side note: each day, we’re giving away annual Scrimba membership to a random participant from that day then, on Christmas eve, we’ll pick a random submission/Tweet with #JavaScriptmas hashtag to win $1,000 cash. In other words, the more solutions you submit, the greater your chance to win 💵

Collapse
 
mileswatson profile image
Miles Watson

Sounds like a cool idea! I'll check it out.

Collapse
 
galoisgirl profile image
Anna

100% agree. I'm on the more experienced side, so I'm stretching my brain a bit by doing it in COBOL. 😉

Collapse
 
mileswatson profile image
Miles Watson

Wow, that seems painful. How's it going so far?

Collapse
 
galoisgirl profile image
Anna
Collapse
 
mileswatson profile image
Miles Watson

What languages are you using to complete the Advent of Code challenges? I've found Go to be quite verbose, but satisfying overall.

Collapse
 
itsasine profile image
ItsASine (Kayla)

I love the people on the subreddit who do every year in Excel and other off the wall languages haha

Collapse
 
cwraytech profile image
Christopher Wray

So cool and such a fun idea!

Collapse
 
mileswatson profile image
Miles Watson

Yeah, I'm surprised I hadn't heard of it before this year!