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

Miles Watson

Posted on • Edited on

Why You Should Be Doing Advent of Code (it's not too late to start) (3) Why You Should Be Doing Advent of Code (it's not too late to start) (4) Why You Should Be Doing Advent of Code (it's not too late to start) (5) Why You Should Be Doing Advent of Code (it's not too late to start) (6) Why You Should Be Doing Advent of Code (it's not too late to start) (7)

#adventofcode #algorithms

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)

Subscribe

Alex Booker

Alex Booker

  • Location

    London, United Kingdom

  • Education

    None

  • Pronouns

    he/him

  • Work

    Content creator who codes @ Clerk | Host of the Scrimba Podcast

  • Joined

Dec 3 '20 • Edited on Dec 3 • Edited

  • Copy link

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 💵

Miles Watson

Miles Watson

Hi! I'm an aspiring computer scientist with interests in quantum computing and distributed systems. In this blog, I write about the useful things I've learned during my programming journey.

  • Location

    Wiltshire, UK

  • Education

    Student at University of Cambridge

  • Work

    Software Developer

  • Joined

Dec 5 '20

  • Copy link

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

Anna

Anna

A fraction of me is irrational.

  • Education

    Master's degrees in CS and math, University of Warsaw

  • Work

    Lead Frontend Developer

  • Joined

Dec 3 '20

  • Copy link

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

Miles Watson

Miles Watson

Hi! I'm an aspiring computer scientist with interests in quantum computing and distributed systems. In this blog, I write about the useful things I've learned during my programming journey.

  • Location

    Wiltshire, UK

  • Education

    Student at University of Cambridge

  • Work

    Software Developer

  • Joined

Dec 5 '20

  • Copy link

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

Anna

Anna

A fraction of me is irrational.

  • Education

    Master's degrees in CS and math, University of Warsaw

  • Work

    Lead Frontend Developer

  • Joined

Dec 5 '20

  • Copy link

Miles Watson

Miles Watson

Hi! I'm an aspiring computer scientist with interests in quantum computing and distributed systems. In this blog, I write about the useful things I've learned during my programming journey.

  • Location

    Wiltshire, UK

  • Education

    Student at University of Cambridge

  • Work

    Software Developer

  • Joined

Dec 2 '20

  • Copy link

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

ItsASine (Kayla)

ItsASine (Kayla)

Azure DevOps and git admin with a weird interest in résumés and portfolios 🎉Lawful Neutral

  • Email

    dev@itsasine.dev

  • Education

    Master's in Applied Mathematics

  • Work

    DevOps | CI/CD | Release Engineer

  • Joined

Dec 4 '20

  • Copy link

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

Christopher Wray

Christopher Wray

  • Email

    chris@sol.company

  • Location

    Pasco, WA

  • Education

    Western Governors University

  • Work

    Senior Software Engineer at Soltech

  • Joined

Dec 4 '20

  • Copy link

So cool and such a fun idea!

Miles Watson

Miles Watson

Hi! I'm an aspiring computer scientist with interests in quantum computing and distributed systems. In this blog, I write about the useful things I've learned during my programming journey.

  • Location

    Wiltshire, UK

  • Education

    Student at University of Cambridge

  • Work

    Software Developer

  • Joined

Dec 5 '20

  • Copy link

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

For further actions, you may consider blocking this person and/or reporting abuse

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

References

Top Articles
Latest Posts
Recommended Articles
Article information

Author: Melvina Ondricka

Last Updated:

Views: 6331

Rating: 4.8 / 5 (68 voted)

Reviews: 83% of readers found this page helpful

Author information

Name: Melvina Ondricka

Birthday: 2000-12-23

Address: Suite 382 139 Shaniqua Locks, Paulaborough, UT 90498

Phone: +636383657021

Job: Dynamic Government Specialist

Hobby: Kite flying, Watching movies, Knitting, Model building, Reading, Wood carving, Paintball

Introduction: My name is Melvina Ondricka, I am a helpful, fancy, friendly, innocent, outstanding, courageous, thoughtful person who loves writing and wants to share my knowledge and understanding with you.