Coding challenges are a fun way to improve your coding quickly.
When I started to learn coding in school, coding challenges were the furthest thing from my mind. In fact, I was struck with one particular issue: I didn’t really want to learn to code. I didn’t care enough about coding. I didn’t care about the language. I wanted to get a decent grade and get out.
Like a lot of other coders, I’m competitive by nature, but only when it suits me. I need a reason to care. That’s why one of my earliest coding successes was a personal coding challenge. Could I get a python bot up and running? If so, the reward was more Instagram followers for my cats.
Suddenly, I was motivated to trawl through error code explanations, figure out the best libraries, and read through dozens of stackoverflow answers.
Language-Specific Coding Challenges 🔗
Before you dive into these sixteen challenges, it’s worth thinking about what the purpose. If you want to secure a specific job, language challenges like these below will be helpful, but not the end-all-be-all – you’d be better off doing a more holistic challenge.
But if you’re just keen to test yourself on your Go mastery, for example, then language-based challenges like these are best.
These aren’t time sensitive. You can do them one per day, or set up a marathon session and time yourself - whatever works for you. The only person you have to be accountable to is yourself.
Go, also known as Golang, is a coding language built for purpose by Google. This Go coding challenge, by Golangr, runs you through a lot of the typical aspects of Go, including naming conventions and Goroutines.
It’s specifically created for beginners but if you’re an intermediate Gopher, why not do a time trial through these challenges and see how many best practices you still remember?
This Go coding challenge asks you to complete specific exercises, and then you can click on each prompt to reveal a thorough runthrough of the recommended method.
The cool thing about Java Code Monk’s Java coding challenges is that they often offer multiple approaches. Unlike languages like Go, which have a limited syntax and only one way to accomplish tasks, Java is more flexible.
Being able to see the different possible paths to solutions can be really helpful for challenging your Java coding skills. Another way to learn from these Java coding challenges is to see if you can figure out more than one way to get to the answer before reading the article for the solution.
The best coding challenges for C++ are on a site called Hackerrank, which I’ll also dive into a little lower down in this article. Hackerrank’s C++ coding challenges are great because they give you a ton of information up front on the coding challenge.
You can see the difficulty score, what percentage of coders solve it, and how many points you’ll be able to get for solving it.
But the really cool thing is how interactive it is with the coding community.
Not only can you view the submissions and solutions of other programmers, but there’s also a discussion section where folks can complain about the wording of a prompt, help each other out, and just collaborate on these coding challenges.
Finally, each challenge comes with an official Editorial Solution so you can see the correct answer from the staff.
Python Principles offers a comprehensive set of Python coding challenges perfect for beginners. This resource is great because it is mobile-friendly, meaning you can complete these on the go.
Plus, they have two levels of help - a hint, and then the solution.
This is great when you can’t for the life of you figure out which direction to go in, but you don’t want the answer right away. It also helps you learn properly.
Ascending in difficulty, completing these Python coding challenges can help you get to grips with this awesome language.
Come to the dark side
Regards and sorry for the interruption, Lane here! I built Boot.dev to give you a place to learn back-end development the...hard way? I mean easy? Maybe the "heasy" way? I don't know.
It's hard because you will have to write code... like a metric ton of code. It's easy because my courses have a built-in game that's pretty darn fun. Give it a try.
For-purpose Coding Challenges 🔗
While coding challenges are a great way to learn and brush up on your skills in a particular coding language, programmers might have other reasons to practice coding challenges.
For interviews 🔗
It doesn’t matter if you’re in your twentieth year of coding or you’re aiming for an entry-level programming job: you’ll be subjected to the coding interview.
These often don’t rely on a specific language, as many jobs ask that you code in more than one discipline.They’re usually problem-oriented instead, meaning you’ll be asked to figure out the best way to solve X problem. Rather than looking for a right answer, they’re making sure you know how to think analytically under pressure.
I loved these programming challenges for the coding interview because they reflect a lot of the research I did - they look not just for your ability to code, but your ability to think. It also includes some interesting back-and-forth discussion beneath some of the questions that can really help you understand what hiring managers are looking for.
For beginners 🔗
No matter what language you’re working in, there will be a core set of skills you should know to pass muster, like printing “hello world.” That’s why I adore Adriann’s Simple Programming Problems for being language agnostic.
These serve as a simple set of coding challenges for beginners (including the classic “hello world”) all the way up to advanced, like writing a program that plays Hangman.
No matter what your level, language, or job, you’ll be able to find value challenging yourself to complete these coding challenges.
The downside is because they’re so generic, there’s no written solution or troubleshooting. You’ll have to use Google and a hefty dose of patience to get the right answer to your problem.
Company Coding Challenges 🔗
And then there are so many employers who are famous for their company coding challenges and interviews that they get their very own section.
If you want to get a programming job at Google, you should look at Google’s programming challenges. As of today, their Kick Start coding challenge is still open for registration.
IBM’s coding challenge Call for Code is similar - it’s a once-early program with awesome rewards like $200,000 for the winner. It’s a huge challenge, asking participants to solve very real-world problems, but it’s a great way to stretch.
Other companies like Amazon don’t hold open coding challenges like Google does, but it’s an integral part of their interview process, enough so that platforms like StrataScratch have compiled a list of example questions that serve as an Amazon coding challenge.
J.P. Morgan’s coding challenge is called the Code for Good hackathon event, but it’s a holistic event. You go in-person to “work alongside our technology experts in teams to solve real-world problems for nonprofits,” according to their website. It’s definitely a coding challenge, but not one for the casual coder.
Want to learn Python and Go?
The rumors are not true. I've been writing Go and Python for many years and I smell delightful.
More places to look for coding challenges 🔗
This is far from a comprehensive list of coding challenges, so I’ve listed some best coding challenge websites below that will often have more coding challenges whatever your coding need is.
- Hackerrank offers a ton of coding challenges on a rolling basis. It also lets you look at previous coding competitions so you can learn from the archives.
- Topcoder is a similar website to Hackerrank, and is a great coding challenge website. The cool thing about Topcoder is you can filter by career track if you want, like data scientist or QA.
- Coderbyte is a very career-oriented coding challenge platform, built specifically to help programmers get a job. Some of the completed coding challenges come with video solutions, which can be really helpful.
- Project Euler is less career-focused, and more about challenging your understanding of basic computer science principles. The challenges there serve as a great baseline for your fundamentals.
- Exercism.io helpfully breaks challenges down by language, so you can choose if you want a Python coding challenge, one for Julia, or any of their other 50 language tracks.
Coding challenges are a great way to boost your skills 🔗
Maybe you’re doing it for fun. Maybe you’re doing it to polish your language skills. Maybe you’re trying to get a job. No matter what your need, these coding challenges are a great resource to help motivate you to accomplish whatever it is you’re trying to do with coding.
I know when I was learning to code, challenges were instrumental in helping me not just get started, but actually finish what I was doing.