Encourage learning in your dev team this Christmas with #adventofcode
If like me, you have followed the path from developer to management/business owner, and not completely forgotten how much fun it was to spend your days coding, you know how important it is for developers to be continually learning and honing their craft. Learning how to write high quality, maintainable and performant code doesn’t happen by accident and rarely happens during your normal day-to-day projects. So how can you encourage your development team to improve their skills?
Over the last 13 years at earthware, we have tried a vast array of learning opportunities. These range from reading books (cheap but dull), attending courses (fun but expensive), hackathons (brilliant but time intensive), video courses (cost effective but also sometimes sooo sloooow). These all have their place but I have found that different developers learn in different ways and it’s best to help them discover the best way for them rather than force “my way” upon them.
What I have found is that shared learning experiences seem to deliver a much higher return in investment, whether that be value for money, or quality of learning experience. For me that means my two favourite ways to encourage the development team at earthware to learn something new is Hackathons, like the excellent Sync the City that we attend every year, and today’s focus Advent of Code that we have been taking part in for the last 5 years.
So what is #adventofcode? Every day between December 1st and Christmas day you and thousands of developers across the world get an exciting new coding problem to solve in any language and approach you like, our CEO Neil has even solved one using Excel! When you solve the days problem and submit your correct answer online, you earn points on the leaderboard. There is a fun (and sometimes bizarre) Christmas story linking each day’s challenges together and they get increasingly difficult every day.
So why do I think this is such a good learning opportunity? There are so many reasons but here are my top 5:
It’s competitive, you can create your own private team leaderboards and believe me when I say there is a race every day to be the earliest riser to solve the day's problem!
It’s collaborative, seeing how your team solved the same problem in different ways teaches you so much, especially when more experienced developers mentor juniors. It also teaches your team the skills they need to collaborate better, listening to others and helping where they need a hand.
It’s challenging, the problems start easy but get increasingly more difficult so there is something for everyone with the most experienced trying to keep up all the way to Christmas.
It’s different, you get to tackle problems you might not come across in your everyday work preparing you better for the day when you face a similar problem.
It’s FUN, there is nothing better than learning that is fun and from how addicted the earthware team get every year I can only assume they enjoy taking part as much as I do.
So if you have read this far and not already checked it out I highly encourage you to visit https://adventofcode.com/2019/about and if you take part join in the conversation with the earthware team at https://gitter.im/earthware/adventofcode and on twitter using #adventatearthware.