DEV Community

Cover image for It’s Time to Start Learning Coding: Top 20+ Best Websites To Learn Programming in 2020
John Selawsky
John Selawsky

Posted on

It’s Time to Start Learning Coding: Top 20+ Best Websites To Learn Programming in 2020

I’m sure many of us are wondering how to stay a relevant professional in the post-pandemic world. One of the ways, obviously, is learning to program. Now that the industry is at the 21% growth rate (higher than that of any other field), it’s clear that the demand for good developers is not going anywhere.

Moreover, it’s likely to grow in the next couple of years, as more businesses will consider replacing physical processes and practices with the digital ones.

In this post, you will find out why now is the time to master coding and collect a complete resource deck to fuel your progress — over 20 websites that help future coders get better at their jobs.

Why Now Is The Right Time To Learn Programming

Mastering a new skill is a huge step outside the comfort zone. It’s common for beginner programmers to feel that the market of coders is too competitive, the jobs are too challenging, and the pain isn’t worth the gain.

However, according to statistics, learning a new programming language is about the best thing to do with your time — here’s why:

  • A software developer’s median salary is $103,620.
  • There are over 1,300 000 million job openings in the software development market.
  • On average, learning programming well enough to get a job takes 3 years — less than getting a college degree.
  • Coding is seen as one of the essential skills for the next generation of workers according to the World Economic Forum.

In a nutshell, software development is a rapidly-growing field — you will definitely not struggle to find a job in the industry. Other than that, there are tons of learning resources for beginning developers that help people with no technical education get proficient in coding.

Top 20+ Websites For Learning Programming

Whether you are new to programming or are an experienced developer eager to learn new technology, it’s always helpful to have a resource deck to use for references. Personally, I have dozens of websites I use to learn and teach coding — here are my favorites.

1. Codegym

Platforms: Online, Desktop, Android app
Programming languages: Java
Pricing: free Android app, paid desktop subscription ($30 per month, or $300 yearly).
Alt Text
Codegym is a Java-centered platform that approaches the language deeper than any other platform I’ve seen on the web. I enjoy the way the website combines theory with practical knowledge — there are over 1200 exercises to help you get from zero to hero.

Other than that, be sure to check out the community forum — here, Java students answer each other’s questions and discuss the challenges of learning a new programming language.

Main benefits:

  • An interactive course that offers over 500 hours of active coding experience
  • Built-in IDE where learners can solve practice problems
  • Active Java community
  • Virtual mentor
  • Small, bite-sized lectures
  • The platform makes learning fun by using gamification and engaging stories

2. Treehouse

Platforms: Desktop, iOS, Android
Programming languages: Java, Python, C#, PHP, Ruby, HTML
Pricing: $25-$199/month
Alt Text
Treehouse is another platform that doesn’t approach coding as a range of abstract concepts. Instead, it teaches you the skills you need to handle a particular project — be it building a mobile app, setting up a WordPress blog, or answering a CS worksheet for a college assignment.

Treehouse supports all popular programming languages — Java, Python, C++, Ruby, and others. Thanks to its practice-driven nature and short tutorials, you will not need a lot of time to learn how the website works and will quickly gain more programming confidence.

Main benefits:

  • Peer review support
  • Offline access
  • Practice problems in the real-world context
  • In-person interaction with instructors

3. Khan Academy

Platforms: Online, Desktop, iOS, Android
Programming languages: front-end and database management technologies (HTML, CSS, SQL).
Pricing: free
Alt Text
Although Khan Academy has no Java or Python tutorials, the platform is a great starting point to understand the basic concepts of computer science. After completing these courses, you will understand how typical programming data structures work, get the hang of OOP concepts, and acquire a “programmer’s mind”.

Main benefits:

  • Free courses
  • Bird-eye view of front-end development and database management
  • Easy-to-use interface
  • Quizzes that help improve knowledge retention

4. Udemy

Platforms: desktop, iOS, Android
Programming languages: Java, Javascript, Python, C++, Ruby, and others.
Pricing: $10+
Alt Text
Udemy is a leading online education platform that hosts courses on pretty much everything including most programming languages. Some programs, hosted there, have quickly become best-sellers with thousands of enrolled students.

In particular, you can check out these well-known Udemy courses:

There’s no set fee for Udemy courses — every educator chooses how much he charges. That’s why there are courses that cost anywhere from ten bucks to hundreds of dollars.

Main benefits:

  • A wide selection of coding classes
  • Accessing learning materials on your own pace
  • A lot of affordable ten-dollar classes
  • Short, low-commitment courses

5. Code4Startup

Platforms: Online, Desktop
Programming languages: Java, Ruby, and others
Pricing: free, with paid content available
Alt Text
If you want to get more hands-on-deck experience in the startup world, Code4Startup is a perfect platform to put your development skills to good use. This project allows beginner programmers to write code for actual startups, meanwhile, business owners get to save on hiring talent.

Other than a practice playground, Code4Startup offers programming students plenty of free courses. Personally, I enjoyed the platform’s Learn Ruby on Rails, Heroku, and Wistia API.

Main benefits:

  • Time-efficient approach to learning
  • Projects similar to the work developers handle on a daily basis
  • A possibility to create a powerful portfolio and kickstart job hunting

6. One Month

Platforms: Online, Desktop
Programming languages
: JavaScript, Python, Ruby, SQL, HTML CSS, and others.
Pricing: $299/year, free trial
Alt Text
If you are bothered with questions like “How do I learn a programming language in one month?”, be sure to check this platform out. One Month is a boot camp-like course that helps beginning programmers grasp the basic concepts of JS, Python, and Ruby as quickly as possible.

Most courses on the platform are paid, although there are a handful of free ones — such as the Command-Line one. There are a blog and a podcast that discusses the hot news of coding — consider following it as well.

Main benefits:

  • Fast learning pace
  • Free courses are available
  • Access to all programming courses after yearly payment

7. PluralSight

Platforms: Online, Desktop
Programming languages: Python, C#, Java, JS
Pricing: $29–499 per year
Alt Text
Pluralsight is another one-stop-shop for computer science education. Courses here range from beginner-level to advanced and cover all popular programming languages, as well as the basics of data science.

Pluralsight is one of the platforms that doesn’t use its relevance once you get a good command of a programming language you decided to learn — there are plenty of courses and tutorials that cover in-depth concepts and are a helpful reference for seniors as well.

Main benefits:

  • Wide range of courses
  • Advanced content for senior developers
  • Supports top programming languages
  • Wide range of subscription plans

8. Coursera

Platforms: Online, Desktop, iOS, Android
Programming languages: Python, R, Java, Javascript, C#, C++
Pricing: free and paid courses (typically cost $40–80).
Alt Text
Rivaling Udemy, Coursera is another worthwhile resource for CS and programming students. Unlike Udemy, the platform is focused on in-depth university-level studies, not as much on practical concepts.

This platform is a powerful resource for computer science majors. You can access courses from Stanford, University of Michigans other schools, and use the knowledge to ace every CS test you take.

Main benefits:

  • Wide range of courses
  • In-depth view on computer science
  • All programs are certified
  • Hundreds of free classes

9. Freecodecamp

Platforms: Online, Desktop
Programming languages: Python, Java, C, PHP, JS, CSS, HTML
Pricing: free
Alt Text
In programming, Freecodecamp is a force to reckon with. It has one of the biggest communities in tech, a wide range of tutorials and courses, and a blog that, in my opinion, is unmatched by any other development resource.

You’ll find practical, project-based assignments here — that’s why checking the website out is better once you have a solid grasp on the programming theory.

Main benefits:

  • Powerful community
  • Tasks that aim at building portfolios
  • Focus on improving problem-solving skills
  • A ton of free resources (blog articles, Slack channel, etc)

10. Codewars

Platforms: Online, Desktop
Programming languages: Java, JS, C, C++, Rust, Go, Swift, PHP, Ruby, Scala, and others
Pricing: a free version and a $9.99 monthly subscription that gives access to more tutorials
Alt Text
If you get bored quickly studying on your own and struggle to have enough motivation to keep you going, using Codewars is a way to remind yourself how fun programming can be. This platform hosts dozens of challenges called kata that allow developers to test their skills against those of their peers.

Apart from the fact that Codewars’ assignments are highly addictive, its community deserves a special mention. Here, there are thousands of developers you can bug with questions — in 99% of cases, you’ll get a detailed, game-changing answer that will help you progress faster.

Main benefits:

  • Engaging tasks
  • Competitive environment to keep motivation in check
  • Dozens of languages are supported
  • New tools and features are added at an impressive pace

11. Git Immersion

Platforms: Online, Desktop
Programming languages: GIt, Github
Pricing: free
Alt Text
Git Immersion is a resource that will help you get comfortable in version control tools — Git and Github. Although these aren’t as essential in programming languages, you will use them at work to coordinate with peers, share your code, and make changes to it.

Git Immersion is a short-and-sweet course written by Jim Weirich. Other than walking you through the basic functionality, the author shares dozens of aliases that instantly boost a coder’s productivity.

Main benefits:

  • Easy to use as a reference
  • All content is free
  • The course curriculum is well-structured
  • In-depth view of Git and Github.

12. Sitepoint

Platforms: Online, Desktop
Programming languages: Java, JS, Python, Swift, Ruby, PHP
Pricing: $9/month
Alt Text
SitePoint is a learning resource built specifically for web development students. It’s a user-generated database of comprehensive articles and tutorials on programming languages, frameworks, libraries, and other supporting technologies used to build web projects.

Finding answers to your questions here is easy — just type what you want to know in the search tab, and a reel of matching articles will show up.

Main benefits:

  • The fullest web development database online
  • Affordable subscription
  • Easy-to-use interface
  • Website content is updated regularly

13. Dash General Assembly

Platforms: Online, Desktop
Programming languages: CSS3, HTML5
Pricing: free
Alt Text
HTML5 and CSS are the pillars of programming education. It’s no secret that most coders start their journey in the world of programming by learning these technologies. If you aren’t familiar or well-versed in HTML5 or CSS, visiting Dash General Assembly is the best way to fill in knowledge gaps.

This resource hosts a range of free tutorials and courses that help developers build professional layouts. Personally, I believe that, if every beginner developer knew about Dash General Assembly, webpage layouts in coder’s portfolio would be much sleeker and more good-looking.

Main benefits:

  • 10+ courses to help developers create a stylish portfolio
  • Full guide to main tech terminology
  • The website teaches how to build interactive webpages from scratch.

14. Learnpython

Platforms: Online, Desktop
Programming languages: Python, Go, C++, Java, and others
Pricing: free
Alt Text
Python is definitely a phenomenal programming language of this decade. Gaining traction so fast, it will quickly be one of the most relevant skills (along with Java and JS) for developers to have. If you are set out to master Python, don’t pass by.

The platform lays out the basics of the language neatly and concisely. If you want to use Python for machine learning or Data Science, Learnpython covers these as well.

Main benefits:

  • Over 500,000 community members
  • All tutorials are neatly grouped
  • Covers both basic and advanced Python concepts

15. Rubymonk

Platforms: Online, Desktop
Programming languages: Ruby
Pricing: free
Alt Text
This is one of the most detailed resources a Ruby learner can find on the web. Here, all the learning content is structured — you can choose your level of language proficiency and complete a beginner, intermediate, or advanced course.

Rubymonk courses are easy-to-read, they don’t use too many tech terms, and help you feel motivated through the entire learning journey. I wish I knew about this one earlier — it’s definitely worth checking out.

Main benefits:

  • In-depth tutorials on Ascent, Primer, and Metaprogramming
  • All courses are free
  • Engaging storytelling helps retain knowledge better

16. W3Schools

Platforms: Online, Desktop, Android
Programming languages: all popular programming languages
Pricing: free courses and $95 certification fees
Alt Text
W3Schools is one of the most popular reference platforms for CS students and experienced developers alike. For one thing, it has in-depth materials that cove all top programming languages. Other than that, these tutorials are concise — it’s easy to look a concept up if you need a reference.

Main benefits:

  • The largest tutorials selection
  • Thought-out navigation system
  • Supports 50+ programming languages

17. edX

Platforms: Online, Desktop, iOS, Android
Programming languages: C, Python, Java, JS, and others
Pricing: although course fees vary, most typically are between $50-$300
Alt Text
Even if you had no chance to study CS at Harvard, this doesn’t mean there’s no way to access Ivy League programming courses sitting on your couch. This is what edX is for — a platform where over 90 universities share its courses.

EdX boasts one of the widest student communities online, connecting over 5 million learners.
Main benefits:

  • Extensive programming language coverage
  • Courses published by top schools — Harvard, Stanford, University of Michigan, etc.
  • Wide range of learning management tools that help you be in charge of programming education

18. Codecademy

Platforms: Online, Desktop, iOS, Android
Programming languages: Java, JS, PHP, C, C++, Ruby, Swift, Python, and more.
Pricing: $19.99

Codecademy is one of the best-known programming education resources. This platform offers dozens of well-structured, certified courses. Most of these are free — if you are bootstrapped, giving Codecademy a try makes a lot of sense. Other than that, the programs hosted here are well-structured — you’ll be able to create a coding curriculum and stick to it.

Main benefits:

  • Most courses have 50+ lectures and interactive quizzes
  • A community of experts to contact for in-person code review
  • Free courses
  • The platform is easy to set up

19. Geeksforgeeks

Platform: Online, Desktop
Programming languages: Java, JS, PHP, Swift, Scala, Rust, C, and others
Pricing: free
Alt Text
Geeksforgeeks is one of my absolute favorites to use as a reference in my projects. Here, you can find hundreds of helpful articles on programming languages, all jam-packed with examples. I enjoy the thoroughness with which contributors approach every tech concept — most GeeksforGeeks tutorials offer several ways to handle programming problems — you get to choose the most comfortable one yourself.

Main benefits:

  • Full tutorial library
  • Easy-to-navigate interface
  • All content is free
  • People who contribute to the website are renowned tech experts.

20. Code Avengers

Platforms: Online, Desktop
Programming languages: JS, HTML, CSS, Python
Pricing: $20-$29/month
Alt Text
Code Avengers is a huge collection of coding challenges. Here, you can find over 1,000 quizzes on JS, Python, HTML, and CSS. In my opinion, advanced developers will not find much relevant information here — however, when it comes to beginners, Code Avengers is down-to-earth and practice-driven so you’ll have a clear idea of how to apply acquired skills.

Main benefits:

  • Practice-driven curriculum
  • Engaging quizzes
  • 7-day free trial
  • Available in multiple languages


In my opinion, right now is a great time to start learning to program — the demand is spiking, there are dozens of helpful resources, and, even if you end up working in a non-tech field, you’ll find a way to use coding skills.

Hopefully, my resource deck will be helpful and motivate programming students to not give up on their dreams and ambitions. Mastering a programming language is not easy — however, with enough perseverance and determination, you’ll definitely reach an advanced level.

First published on

Top comments (0)