Despite the lowest unemployment rate in decades, analysts expect technology hiring to continue growing steadily into the 2020s.

That’s great news for recent computer science graduates and developers currently working in the field, but that doesn’t mean ambitious engineers can get complacent.

While there will likely be growth opportunities in the market overall, there are still significant changes happening all the time, and a sense of urgency to keep up with the latest trends.

Today, there are more types of technical roles than ever before, and a continued proliferation of new languages, frameworks, and technologies. Technical employees that want to get ahead should routinely test and refine their skills.

To that end, I’ve put together the following list of platforms where you can level up your skills for any number of roles, from data science to developer operations.

1. freeCodeCamp

Helpful links: Website | Forum | Challenges

Let's begin with freeCodeCamp, which is a great website for beginners who are just getting into coding. They offer all sorts of resources on learning syntax, practicing coding, building projects, and preparing for interviews.

They don’t have as many interactive coding challenges as other sites, but they do offer some fun challenges and interview prep for beginners learning JavaScript.

Great for

Novices who are just learning to code for the first time. It’s a great place to learn HTML, CSS, and JavaScript in a fun, interactive way.

Pricing / Premium content

freeCodeCamp is completely free.

2. Coderbyte

Helpful links: Website| Blog | Dev.to | Free Challenges | Premium

My platform, Coderbyte, provides 300+ coding challenges you can solve in an online editor using 10 different programming languages. You can then access official solutions, over 1.5 million user solutions, and read articles on how to efficiently solve the challenges.

Coderbyte is recommended by the top coding bootcamps and companies because of its collection of interview prep challenges.

Great for

Coderbyte is perfect for people in the beginner-to-intermediate phase of their careers who are preparing for interviews. There is a library of harder challenges as well for those who like to solve coding problems for fun, but this isn’t primarily a site for competitive programmers.

Pricing / Premium content

There are a handful of free challenges on Coderbyte, and then there are hundreds of premium challenges and over 1 million user solutions that are available to members.

3. LeetCode

Helpful links: Website | Discussion | Free Challenges | Premium

LeetCode has a collection of some of the best algorithm challenges online today. The topics they cover require knowledge of data structures such as binary trees, heaps, linked lists, and so on, which is why their challenges are a bit more advanced than some other websites. But the challenges are great if used to prepare for a software engineering interview.

They also have a Mock Interview section that is specifically for job interview preparation. They also host their own coding contests, and they have a great discussion board where people talk about interview questions, jobs, compensation, and other topics related to engineering.

Great for

LeetCode is great for intermediate-to-advanced programmers. It might not be the best suited for brand new coders who don’t know how to write basic loops yet, but once you learn the fundamentals this is a great site to practice coding.

Pricing / Premium content

There are free challenges available on LeetCode, and they also have a premium subscription which gets you access to more challenges and other features of the platform.

4. Edabit

Helpful links: Website | Blog | Challenges

This is the first time Edabit is appearing on our top sites list (2018 list, 2017 list)! It has grown in popularity over the last year, and developers seem to really enjoy the challenges. They offer a large collection of over 4,000 challenges that can be solved online in one of several languages.

The site currently only offers online interactive coding challenges — there aren’t any discussion boards, articles, user solutions, or mock interviews like other sites offer, but over time they might be adding some of these.

Great for

Edabit is great for beginners looking to practice their coding skills daily by solving bite-sized challenges. Once you reach the intermediate stage, other sites provide harder challenges and more content geared towards competitive programming and job interviews.

Pricing / Premium content

All the challenges on Edabit are free, and there is no premium pricing option.

5. Codewars

Helpful links: Website | Blog | Free Challenges | Premium

Codewars provides a large collection of coding challenges submitted and edited by their own community. You can solve the challenges directly online in their editor using 20+ programming languages. You can view a discussion for each challenge as well as user solutions. You can earn points and climb the rankings by solving their challenges.

Great for

Codewars is great for people in the beginner-to-intermediate phase. The challenges are created by the community so you get exposed to a lot of different types of coding challenges.

Pricing / Premium content

They offer all of their challenges created by the community for free, and their premium subscription gets you access to some cool features on their platform.

6. HackerRank

Helpful links: Website | Blog | Challenges

HackerRank has a large collection of coding challenges tailored towards algorithms and data structures, along with interview prep material, a discussion board for each challenge, and a list of top user solutions. They have challenges for other topics as well like functional programming, AI, Shell, SQL, and more.

Great for

HackerRank is great for intermediate-to-advanced programmers who have already picked up the basics of a language and are ready to solve more complicated problems. The challenges are written with mathematical notation and can sometimes be a little confusing, which is why it might not be so great for beginner developers.

Pricing / Premium content

All the challenges on HackerRank are free, and there is no premium pricing option.

7. TopCoder

Helpful links: Website | Blog | Challenges

TopCoder is one of the original platforms for competitive programming online. It provides a list of algorithmic challenges from past competitions that you can complete on your own directly online using their code editor.

Their popular Single Round Matches are offered a few times per month at a specific time where you compete against others to solve challenges. Here are some topics that their challenges may cover.

Aside from solving challenges for fun online, they offer sponsored competitions where you can win prizes for writing the best solution.

Great for

TopCoder is better suited for advanced programmers who are comfortable solving algorithm challenges dealing with advanced topics like graph search and number theory.

Pricing / Premium content

All the challenges on TopCoder are free, and there is no premium pricing option.

8. Codeforces

Helpful links: Website | Discussion | Challenges

Codeforces is now probably the top competitive programming website (a few years ago TopCoder was where most competitive programmers spent their time).

There are problems that you can solve online to practice, but there’s no online editor. Rather, you write your solution in your own editor and then upload it to their system which then tests your code against a suite of test cases.

They also frequently hold contests where the best competitive programmers take part in.

Great for

Advanced and competitive programmers who truly enjoy solving difficult algorithm challenges.

Pricing / Premium content

All the challenges on Codeforces are free, there is no premium pricing option.