Online coding challenges are incredibly popular – the top coding challenge platforms boast upwards of a million users – but what’s responsible for the high demand? Developers often credit these challenges as helping to improve their programming skills and confidence in their expertise. It’s simple: the more you participate in coding challenges, the more comfortable you’ll be in future job interviews and skill tests.
If you’re looking to get started with online coding challenges, it’s really, really easy to do. There are so many resources out there for you to use – in large part because programming is an incredibly in-demand skill, but also because developers are generous with knowledge sharing and building community. That being said, there are two different routes you can take, many different resources you can choose from, and lots of opportunity for support and networking along the way.
Your first option is to take the self-guided route. If you choose this approach, you can use search engines and popular forums to find coding prompts that range from short-and-sweet, to open-ended, to highly-specific challenges.
If, for example, you search for “PHP coding challenges,” you’ll find prompts like:
(These were the first of many, many Google results – but we’re using these to give you an idea of what you can expect from a simple web search).
Forums, like Reddit, are another goldmine. Here’s one subreddit to give you a starting point. This is a group of nearly ten thousand members who share detailed project ideas for beginners. Coding challenges on here range from beginner to advanced, but it’s easy enough to search until you come across an interesting prompt. To give an example of what you might expect, here are two popular challenges:
“Build a reddit search system. Build a simpler version of reddit search system that will take a query as input and return the matching post results. Some instructions and examples are given below to get started (You can use any language you want. Instructions use javascript style just for representation)
// 1. Create some dummy data similar to reddit text posts
post1 = { title: ‘Build a reddit search system’, description: “Build a simpler version of reddit…..”, id: 1 }
// 2. Store all the data in one data structures e.g. array
postArray = [post1, post2, ….]
// 3. Index postArray data for fast search (any changes you want to make for quick and better search. Google about “search indexing” or watch the video I shared.
function indexData(postArray){…}
// 4. Create search function that will print the returning posts
function search(query){…}
// 5. Bonus: highlight the matching lines
If the thought of scouring the web for online coding challenges doesn’t appeal to you, or if you’re hoping for a more structured approach, there are some great resources you should check out. The major difference between a self-guided and an assisted coding challenge approach is the opportunity to receive feedback and accountability with the latter.
While your own journey is unique, we typically recommend that developers just starting out with online coding challenges sign up for specific platforms. By joining a coding platform, you’ll get perks like automated grading, video solution walkthroughs, and the like.
If you choose this route, there are (again) plenty of resources available to you. The most popular coding challenge platforms are TopCoder, Coderbyte, HackerRank, Codecademy, SPOJ, CodeWars, Project Euler, and Edabit. If you stumble across a different platform that works better for you, have at it – that list was by no means exhaustive. That’s what’s so nice about online coding challenges: there are infinite resources and plenty of top-notch options. However, plan to explore two or three different platforms before you commit.
Coding challenge platforms allow you to filter by difficulty, programming language, and, depending upon the resource library, you can even select challenges used by specific companies (like Google, Facebook, Microsoft, and Amazon). Coderbyte, for example, has a massive library containing algorithm, front-end, back-end, and database challenges. Codecademy offers online coding challenges based on real-world technical interviews. If you get stuck, they have coding courses you can take to build out your skills. Edabit primarily shares bite-sized coding challenges (hence the name) and provides plenty of beginner tutorials. HackerRank holds coding contests, so if competition is a motivator for you, this platform would be an especially good fit.
Once you’re comfortable with coding challenges and feel as if you’ve hit your stride with whichever programming language(s) you’ve chosen, challenge yourself further by joining a talent network. These are fantastic resources because they plug you directly into a community of developers and people all over the globe with similar skill sets/interests. Plus, top talent networks (especially ones that pre-screen applicants) grant you access to freelance-, part-time-, and full-time job opportunities.
Whether you’re looking to network with peers, mentor beginner developers, or search for open roles, the Esteemed Colleagues Community is a fantastic resource. Regardless of the path you choose, let us be the first to wish you well on your search for programming knowledge!