Advent of Code 2021 or Why Did Memgraph Engineers and CEO Wake Up at 5 AM to Solve Coding Puzzles?
It’s been a month since it finished, but it is never a bad time to share what our engineers were up to and how they kept their coding skills sharp during the Advent period. Dive in to find out more!
Advent of Code is an annual set of Christmas-themed computer programming challenges. It has been running since 2015 with tens of thousands of software engineers participating. The programming puzzles cover a variety of skill sets and coders use them as a speed contest, interview prep, company training, university coursework, practice problems, or to challenge each other.
In Memgraph, eight mighty engineers from various teams participated in the Advent of Code 2021. That meant waking up as early as possible to solve the problem before everyone else, share the hints and chat about solutions in the dedicated company Slack channel.
Learn more and challenge yourself
The biggest motivation for everyone was to be challenged and to learn and code (even) more. Learning a new language and sharpening your algorithm skills by applying them to complex problems were the main initial reasons engineers participated.
In a lot of instances, coders wanted to put graph algorithms to practice but couldn’t. Even though some coded in Rust and Go, the majority chose Python as it came quite natural (khm GQLAlchemy khm).
Puzzles were super fun and they followed an interesting storyline. However, some were more complex than others. There were two puzzles that were super interesting and almost their favourite: puzzle 18 and puzzle 19. On them, coders spent more time planning and thinking through the solution than actually implementing and coding it.
Puzzle 19 was particularly tricky as it encompassed a lot of aspects of software engineering - feasibility thinking, coding carefully and optimising code to run in a reasonable time.
Bond with colleagues, have fun and win!
It is safe to say that our engineers are competitive. Super competitive. It was exciting to observe the leaderboard and the daily changes on it. Each challenge gets released at midnight EST, so the idea is to start coding before anyone else. Most of our coders coded before kicking off work in the morning and some went to extremes and woke up at 5 or 6 am. Coding and problem solving would be usually done alone, while in the flow and in the zone.
This is the routine: wake up, morning hygiene done, get in front of the laptop, wish good luck to anyone awake and go for it. Folks would be done with it by 7 am to get on with their day. Later, around 10 am, others would ask for hints and reviews and report their results. Waking up at 6 am to solve a puzzle can sound silly, but having a chat with a colleague before anyone else about the solution at 7 am is priceless.
Apart from winning, the favourite part of the competition was hanging out with colleagues and friends. After each challenge, folks would get together and talk about tasks, review each others code and suggest corrections. Everyone would learn and bond. On top of that, the community outside Memgraph on Reddit was spectacular, with memes, jokes, banter and solutions.
All in all, everyone had a good time, enjoyed it and encouraged each other which was wonderful to see!
If you want to see what else we do and how we work hard and play hard, check out some of the other posts on the blog! :)