Codingame - Fun little challenges and exercises

Codingame - Fun little challenges and exercises
Photo by John Cameron on Unsplash

Lately, I began preparing for a job interview as a Senior Fullstack Developer. The twist? The backend language is PHP, which I haven't touched in about 8 years. Ready to tackle the challenge, I cracked my knuckles and dove back into PHP coding with 'Codingame.'

"Clash of Code"

One of the challenges on Codingame is "Clash of Code," a multiplayer battle to solve small puzzles either the fastest or in the least lines of code, depending on the mode. Each clash lasts only 5-15 minutes, making it easy to fit into your schedule. Most quests are straightforward and come with unit tests to quickly verify your solutions. There's a wide variety, so it never gets boring. The best part? You can use any programming language you like, and all you need is a web browser.

Codingame offers a robust Web-IDE with all the necessary tools. After finishing a quest, you can share your code with other participants and review theirs, which is quite enlightening.

Advanced puzzles

There are also more advanced puzzles that take a bit longer to solve. To keep you engaged, these puzzles come with a story, graphics, and animations, and you can earn badges upon completion. Sometimes, there are "coding contests," which are like tournaments. For a limited time, coders can join and compete for rankings and leagues. Just as I began preparing for my interview, the "Summer challenge 2024 by Fiverr" started. I enrolled, competed, and even made it to the gold league!

Next time, I'll try to record my battle on YouTube. It was so much fun coding, and I think it would be fun to watch as well. Unfortunately, I forgot to back up the code—once the contest is over, you cannot access it anymore.

"Language is only the flavor"

In the interview, I was asked if I really wanted to go back to PHP. If you had asked me that a few years ago, my response would have been a definitive "no, never." Early in my career, I always strived for perfection: the best language, the best IDE, the best versioning system, etc. And yes, PHP has its flaws (just like any other language).

I've switched languages a lot over the years: starting with QBasic at 13, then moving through Pascal, some C, assembly, C++, Delphi, Perl, PHP, JavaScript, TypeScript, C#, Rust, and Golang. And I'm not done yet! There are still more languages I want to try, and new ones will undoubtedly emerge. But here's what I've learned on this journey: the programming language is not what's most important.
What truly matters is knowing how to code and how to solve problems. The language is merely a tool—a "flavor" to the meal you create. Sure, some languages might be better suited for certain problems, but if the language itself becomes the problem, you're doing it wrong.

And that's something you can truly experience in Codingame. You can beat anyone in any language - you can solve the same puzzle in any language - it doesn't matter. It's the algorithm that's important. There's no language that always wins the battles, there's no language that's "better". You can beat C++ with PHP, you can beat assembly with basic. It's all about the algorithm. And if you check the solutions in the different languages, they often look almost identical apart from some language specific syntaxes or commands.

Conclusion

Codingame is a fantastic way to reacquaint yourself with a language or try out a new one. It's great preparation for coding assessments and offers a refreshing break from more boring coding tasks.
I'll definitely keep using it :) If you give it a shot come visit my profile - maybe see you there in a clash or contest (next starts on July 1st)?!