9th February 2017
Let the games begin! Improve your coding skills with CodinGame
2016 was the year of CodinGame and while it has been around since 2012, it wasn't until last year that it started to show up on our radar at the Cargo office. What makes CodinGame different from most programming tutorials is it turns code into a game and lets you compete against other coders as you work your way up the leaderboard.
CodinGame has said their goal “is to let programmers keep on improving their coding skills by solving the World’s most challenging problems, learn new concepts, and get inspired by the best developers.” The games are available in over 20 languages including C++, Java, PHP, Python and Ruby. We let our developers Adam and Rich loose on the CodinGame website to see what their perspective was on the platform.
Adam’s take
I encounter gamification everyday, from my gym membership to trying to get help with code I write. The more you exercise/answer questions the more points you accrue, some can be claimed in real life, some are just points for points sake.
I’m still trying to work out CodinGame’s take on it. Is it gamification? It has “XP” points that you gain as you progress through the game, but I don’t know what these do or if they have any value. I’m far more interested in moving through the levels of the games themselves. It feels like a traditional game in that level progression is based on how well you do and participation itself isn’t enough, but it uses gamification as well.
I feel like I can do ok at CodinGame but question its long term value. I can progress through a couple of levels but when I reach the ceiling of my abilities I’m not sure where to go to try and improve – so I question its longevity as a tool for learning.
Co-founder and CMO Aude Barral describes it as “When people code, they like the fact that they have a challenge to solve,” she said. In other words, coding itself is already a game, so making a visual representation of your code that looks like a game made sense.
So a game within a game, with gamification on the side. Easy!
Rich’s take
Although I keep failing miserably at solving the puzzles put forth by CodinGame, I can’t help but be amazed at how much has been packed into the website. Not only do they have ‘single player’ content to help you improve as a programmer, you can also pit yourself against other humans in code battles. Each interaction culminates with a leaderboard to show you how you stack up against the other people pushing for that number one spot with the aim to beat the boss and progress to the next league. Gamification at its best!
I’ve opted for Javascript as my language of choice.
At first, I didn’t have a clue what was going on. At all. After completing the initial challenge, spending a little bit of time actually reading the instructions and requesting more than a little help from Adam, I was up and running in the Coders Strike Back racing game. As an avid gamer, and romanticising working in the gaming industry, being able to tweak some minor JS values to affect how my speeder performed made me feel like a programming god, despite finishing close to the bottom of the league. A few tweaks and changes later I got promoted to the next league and had a decent grasp on a strategy to win. CodinGame has a really great setup to make you feel like you’re progressing as a programmer (which is really important when you’re learning) by awarding you ranks and awards from completing certain scenarios throughout each game.
It’s these rewards that make you want to keep playing and, therefore, learning.
My Javascript knowledge is pretty basic. I mean, for what I do I don’t really need to know how to move a speeder between points A, B and C, so at first I questioned what I’d actually learn from the games. I think there may be a ceiling on what you can learn from playing through the different tasks, depending on your existing knowledge, but that ceiling is pretty darn high. Getting a grasp of what is required to complete the task in the game is just the start, refining and optimising your code is how you progress through the ranks.
Guess what: Optimising your website or app is incredibly important for performance and user experience. Who’d’ve thought!?
CodinGame has a pretty steep learning curve and the entry level is relatively high too. I think that comes with programming in general, but there are other tools out there which gamify coding languages in a simpler way if you’re looking to improve your CSS knowledge, for example. My favourites for front end coding are Flexbox Froggy and Flexbox Defence. Really great tools for getting a grasp of Flexbox and how it can be used to affect layout where the barrier to entry is much lower.
Conclusion
While CodinGame offers an exciting, challenging platform for levelling up your skills, it’s not the greatest starting point for beginners based on our experience. However, at the start of the 2017, CodinGame made an announcement that they are adding open source tutorials to their platform to make their games more accessible to programmers of all levels. We’ve yet to try the tutorials but based on the quality of the current games, we’re sure that it will be natural fit for the platform and make it an even more valuable resource for programmers. So if you’re into both games and code, this could really be the ideal place for you!