If you want to improve your skills in an existing or a new programming language, one of the best ways to do it is through coding challenges.
A lot of platforms and websites have become available over the years, providing exciting challenges for coders of all levels. Whether it’s a new language you’re trying to learn, or wish to test your wits in stressful situations — coding challenges can be both fun and a test at the same time.
The benefits, apart from the obvious, with working on these challenges include better problem-solving skills, in-depth language understanding, and the joy of learning new algorithms. As you know, algorithms aren’t uncommon during the hiring process — so having some teeth in the game might give you an upper hand.
This post covers some of the best coding challenge websites and platforms that there are. Some are beginner-friendly, while others cater to a more experienced audience. We’re also adding some stuff that you can show your kids since children-friendly coding has also become quite popular.
Coderbyte is a unique app-based on modern programming practices. Its core feature is coding challenges, which have helped millions of people across the globe to become better developers. Unlike similar apps on the market, Coderbyte is dedicated to helping people tackle industry-level issues.
One of the perks of using this platform is that it is working together with some of the leading software brands. E.g., Google, LogMeIn, HBO, PWC, and many others. If you ever wish to land a job at such companies, then rest assured that Coderbyte can give you the required challenges to test your skills.
Once you register, you can choose from challenges and algorithms. There are hundreds of thousands of user-submitted solutions, which can help you get a much broader understanding of specific programming topics.
Organizations can sign up and manage their screening process. By becoming a registered organization, you gain access to additional tools that can help screen each developer individually.
The beauty of consistent coding practice is that you’re always coming up with new ways to solve problems. Codewars is capitalizing on this idea. Based on ‘katas,’ the platform provides exercises and challenges in a large variety of languages.
As you complete the said exercises, you can score points but also check how other programmers solved a specific problem.
If you’ve meant to practice a new language, then Codewars is an exceptional site to add to your bookmarks.
Here are some of the supported languages:
And a lot of other languages are in the BETA program; available but with potential bottlenecks.
The easiest way to learn new things is to have consistent interaction with the thing you’re trying to learn. Such is the case of programming, too. Reading the best books will give you zero knowledge unless you put the written word in practice.
Edabit is an established platform that offers bite-sized coding challenges, which can quickly improve your coding abilities.
Fundamentally, Edabit wants to provide a platform that can bridge the gap between beginners and advanced coders. You can check out the Roadmap to see the full feature list.
Games as learning platforms aren’t an entirely new thing, but there seem to be a lot more players in the field now. CodinGame is just one of many platforms that provides programming challenges through a gamified experience. Rather than writing point-blank code, you’re building a game environment instead. All the code you write, in some ways, is affecting the way that the ‘game’ is going.
Hindsight, platforms like CodinGame can help tech developers a lot about cause and effect. And how certain decisions lead to specific outcomes.
HackerEarth is a well-known platform that runs hackathons, coding challenges, and different kinds of competitions.
It’s also a place where you can pick up some interesting knowledge on the hiring process in modern companies. Not all, but a good amount of the challenges found in HackerEarth’s database can end up being asked in any of your future job interviews.
And how is that possible? Well, mostly because HackerEarth’s real hustle is to provide recruitment solutions to top-notch tech companies. If you want to be considered the best, you have to hang out with the best. It’s a win-win situation for you.
Programmr is a dynamic digital lab for all levels of developers. With Programmr, you can write code, compile it, and execute projects directly from your browser. The platform supports all major languages used today. Whether it’s a mobile app or a database structure you want to run — Programmr has the guts to support it.
On the challenges side, Programmr has a custom set of challenges for Java, C++, PHP, C#, Ruby, Python, and iOS. Each set includes 100+ challenges, which can be sorted by popularity (based on user votes) and other factors.
What sets these guys apart from others is that you can use your newfound experiences to get instant feedback whether it’s a certificate for a specific language, or merely feedback from existing users.
HackerRank is a startup focusing on providing coding challenges for individuals and organizations alike. Depending on the challenge, you’re most often given instructions for a project that needs to be completed, and how you complete it is up to you.
Whenever you submit your solutions, the platform automatically scores your submission based on factors like accuracy. Afterward, you’re placed in the global leaderboard, while cultivating achievements (badges) along the way. There’s also ‘sprints,’ which is another term for platform-hosted contests.
House of Codes wrote an exciting piece depicting the top 50 challenges found in Hacker Rank. If you’ve got the curiosity for it, it’s a worthwhile read; with a ton of examples and material.
The Coding Train
Daniel Shiffman is a self-made one-person army, creating and producing great material on programming. The Coding Train is Daniels’ personal YouTube platform where he shared exciting and helpful videos for tackling programming-related issues.
But, he has this interesting approach. Rather than hosting everything on his website, he’s using YouTube as the platform for the challenge, and his website as the platform for the solution.
Wolfram is one of the best-known companies in the world operating underneath the computer science branch. Their platform has left many speechless by its possibilities.
Though our focus is not on Wolfram Alpha, a new frontier introduced in early 2018 — Wolfram Challenges.
There are plenty of examples of Challenges one can imagine that involve finding “the lowest-cost solution”, or the “best fit”. And it’s a similar setup with typical machine learning tasks: find a function (say based on a neural network) that performs best on classifying a certain test set, etc.
In comparison to other websites/platforms in this roundup, Wolfram covers a broad area of challenges and not just coding. All in all, if you want to sharpen your critical thinking — this is going to be the platform to do it!
LeetCode is a product, meaning, it’s not just a site hosting random challenges. Instead, LeetCode is a way to prepare yourself for future possibilities.
The platform provides modern learning, intricate challenges, and a superb dashboard to get it all done from.
There’s also articles, discussion boards, and other community aspects to encourage a seamless experience. Many LeetCode users have ‘graduated’ to work at companies like Uber, Amazon, Stripe, and others.
Codeforces is for all the hardcore and dedicated coders out there. Think software engineers, pentesters, A.I. enthusiasts, and machine learning junkies! As a platform for advanced programmers, Codeforces is known for its notorious leaderboard and competitive spirit.
And getting started is easier than you think.
It’s great to see the initiatives behind many coding challenge platforms.
And Exercism is no exception. Katrina Owen, the founder, says that her goal is to, “help people learn enough coding [using Exercism] so that they can find a job in development.”.
At the time of writing this, there are more than 2,600 exercises in 48 languages — all free of charge! Have you meant to learn Kotlin, or perhaps get more oriented in Vim? Now is your chance to learn some new skills through interesting challenges!
As surprising as it may be to some of you, there is still coding happening in front-end development, too!
The challenges here are mostly pooled together by users. E.g., Someone might publish a ‘Material Design Card’ and challenge you to make it better or create a similar variation.
The result is your ability to get some creative ideas going. And it’s nice to see how others tackle similar problems in real-time as well. You can always reuse the code submitted by others in your projects.
Speaking of front-end, how’s your Flexbox understanding coming along? It’s always nice to get a little memory refresher to keep yourself sharp and on-point!
Flexbox Froggy is a nice little game that takes you through 28 steps of different Flexbox uses and alignments. Perhaps it’s less of a challenge than it is a reminder, but can you do all of the levels without looking for answers?
Grid Garden is a very similar game; the only difference is that you’re working with the Grid function and not Flex.
Python is widely accepted as the most straightforward language to learn. And is often recommended for new programmers to explore first. But, don’t let that discourage you from believing in Python’s capacity.
PyBites gets you up to speed with the latest happenings. Articles, coding challenges, and other critical tidbits to help you sharpen your wits. Each challenge includes a follow-up as a review, where you can compare your code and explore the correct way of solving a problem.
CodeCombat is yet another coding game providing a dynamic and challenging coding environment. The difference between a product like CodinGame is that CodeCombat focuses on teachers. As a result, you can use this platform to teach programming and problem-solving at a school level.
There’s tools, materials, and other resources tailored specifically for this purpose. And it’s a lot of fun, too. The CodeCombat games that you build are both interesting, but also visually stunning. And gaming is so popular among kids already. Giving kids the challenge to develop their virtual environment can inspire them to build something amazing in the future!
As briefly mentioned in the intro, we got something for all you parents out there. Tynker is a fun little platform that helps teach coding to kids. It’s based on a very simple drag and drop interface where kids can shuffle between choices and hopefully solve the presented problems.
Closing words: Challenge yourself!
In total, there’s probably 10,000’s of unique code challenges across all the sites and platforms we listed. It’s impossible to get through them all just like that.
Instead, my recommendation is to find a platform that you feel best fits your needs and focus on that one platform only. You can build friendships, learn new things, and who knows — you might learn enough to land a new job at a top-paying company!