Quora Pixel
All posts Contracting Tips Developer Life Distributed Workforce Fractional CTO Hiring Strategy Screening Talent Sourcing

How Do I Get Started With Online Coding Challenges?

Header image

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.

The Self-Guided Approach to Online Coding Challenges

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:

  • Create a hello world page. For this challenge, create a PHP page with standard HTML, including head, title, and body tags. Since one feature of PHP is the ability to embed it in HTML, this will give you some practice doing that. Inside the body tag, create an H1 tag that contains a PHP section that prints out ‘Hello World.’”
  • Using if, else, and elseif. Write a script that gets the current month and then prints out the season using if, else, and elseif. You don’t have to worry about the exact date of the season switch. Count June, July, and August as summer, and September, October, and November as fall. Count December, January, and February as winter, and March, April, and May as spring.”

(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:

  • Determine the least number of coins possible to make change. This is a somewhat simple one inspired by my working at a grocery store. Write a program capable of telling you the smallest number of coins you can make change with for a given amount. Examples, 25¢ should return 1, 35¢ should return 2, and 58¢ should return 6. I’m working off of American currency here but whatever you use should work just fine too as long as you adjust for it.” The Reddit post provides “bonus features” for extra work.
  • 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

The Assisted Approach to Online Coding Challenges

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.

Next Step: Joining a Community of Developers

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!