I enjoyed the Advent of Code this past December, a lot, especially since I was doing it with some of my teammates. There were some great lessons learned, and who doesn’t love to learn? We were discussing the benefits of a coding challenge like this and decided to think up our own!
Our coding challenge is simpler than AoC’s but more functional. AoC was very data driven, running routines on provided data sets. We wanted to create functional, interactive-esk, apps, like a calculator or vending machine interface.
At the start of April we kicked off our own coding challenge in Slalom Boston! I’d like to share some thoughts about a coding challenge like this, and what you will see in the coming months from me.
Our goal for the coding challenge
We had two goals: self-improvement and team building. I think that’s pretty self-explanatory. As I mentioned above, who doesn’t love to learn? If we’re not learning and growing then we’re stagnant, or worse, deprecating our skills, dying out.
Team building is also just as important. During this pandemic, like you, our team has been fully remote, and team building and collaboration have been difficult. Through this challenge, we want to promote collaboration among our people to help provide another connection point with one another. We thoroughly enjoyed working on AoC challenges on our own, with each other.
Self-improvement your way: technology agnostic
We made sure our challenges could be completed using a pure front-end approach, back-end only, or as a command-line interface (CLI). The requirement isn’t to create user interfaces, the requirement is to make it function. If someone was to create a calculator as a CLI, then it has to interact with the user. The same goes for a REST API. Obviously, with no UI it’s not user-friendly, but it is functional.
I will be focusing on Java Spring Boot, creating RESTful APIs. I have been working on them a lot lately, and I know enough to troubleshoot existing APIs, but not enough to create them from scratch. That’s going to change 😁 .
We have roughly 25 people signed up for this challenge, which is exciting for our first iteration of this challenge. Trying to meet and connect with this many people at any given time is difficult, especially remotely. We decided to create cohorts of about 5-6 people each. This will help those few people to connect and share what they’re working on, ask questions on how to do certain things, and help others get through their challenges. We aim to shake up these cohorts periodically to allow us to connect with new people within our team.
One little side benefit as well: we have a few people from outside of our practice joining the challenge too! Not only are we collaborating and building our practice team, but also collaborating with others in the Boston office!
We also created a Kudos Board, a fun way for members of a cohort to give each other kudos for their work through 6 fun shout-outs:
⭐️ you completed the challenge
👍. you made progress but didn’t complete
😎. you have a cool approach to the challenge
🤓 you have a nerdy approach to the challenge
🍎. you helped me out with my challenge
✏️. you learned on this challenge
Our goal is to share these at our bi-weekly practice meetings to continue to share how awesome our team is.
Some other minor details
This is a challenge we’re doing at work, and we’re all busy with our respective projects and client work. As a result, we decided to do one challenge every 2 weeks for a quarter (April to June). If my math is right, this should be about 6 challenges. We feel this will give our members time to work through them without feeling too much pressure. There is no obligation to do all of the challenges. Our work fluctuates, and some weeks can be much busier than others. Our goals are important, completing every challenge is not one of our goals.
Want to learn more about the challenge itself? Throw a comment below or hit me up on Twitter and I can share more details.
Follow along! Join me in the challenge!
I will be sharing each challenge and my approach as we go. I created a repo on GitHub, feel free to follow there as well. As I mentioned, I will be learning Java Spring. My code is completely available on GitHub, but I hope to also share what/how I learned as I go.
Join me! Learn Spring with me, or dive into your own learning path. On each challenge, leave a comment with a link to your code! I’d love to see what you’re doing. Also, if you see my code and think I can improve it, please do tell me. I’m here to learn.
I’ve started already…
Before I started the challenge, I got familiar with Spring through their website. They have some great learning guides there. Whatever you may be learning, you should be able to find easy, free, learning resources on their site. Consider FreeCodeCamp for some excellent learning resources, too.
First challenge is here, let’s calculate!
Follow along in your inbox, subscribe below!