Knowing where – and how – to find valuable online learning resources is an essential skill every software developer should have. There’s an abundance of great online resources available, both for sharpening your existing development skills as for learning a completely new skill. The real trick is to separate the good from the bad. Therefore – and to get you up and running – we’ve created a list containing some of the better online learning resources, tutorials and exercises available.

Combined with our list of interesting books for software developers, you’ll have a nice collection of both online and offline learning resources. Enjoy!

Online learning platforms

Contains a selection of good online learning platforms that contain a wide variety of content. Learning platforms offer more than just “tutorials”, they offer entire learning paths, modules and tracks related to software development.

FreeCodeCamp

Learn web-development technologies such as HTML5, CSS3, JavaScript, Databases, Git & GitHub, Node.js, React.js and D3.js.

  • Focus: Web development
  • Level: Beginner
  • Pricing: Free

PluralSight

Spanning almost every subject of software development. Contains both individual lessons and full courses / tracks, which are all video driven.

  • Focus: Software development, Big Data, AI,…
  • Level: Beginner to Expert
  • Pricing: Monthly Subscription

Udemy

Offers over 30.000 individual courses for a wide variety of subjects, both video and text.

  • Focus: Software development, Software engineering,…
  • Level: Beginner to Expert
  • Pricing: Pay per Course

Udacity

Offers Nanodegree programs for which you need to enroll. Focused on acquiring new skills for career advancement.

  • Focus: Software Development, Data Scientist, AI, Machine Learning,…
  • Level: Intermediate
  • Pricing: Pay per Course

LinkedIn Learning

Over 1000 courses for software and web development. Contains the content of Lynda.com.

  • Focus: Software development and Web development
  • Level: Beginner to Expert
  • Pricing: Monthly Subscription

Khan Academy

Non-profit organization that offers a handful of courses on software development and computer science.

  • Focus: Software development and Computer Science
  • Level: Beginner
  • Pricing: Free

Coursera

Offers almost 2000 courses on computer science and data science for which you need to enroll. Highly aligned with universities (and companies).

  • Focus: Computer science and Data science
  • Level: Beginner to Expert
  • Pricing: Pay For Enrollment

Online Exercises and Tutorials

Programming exercises come in many forms (e.g. code katas) and often serve the same goals: perfecting your skills by practicing!

  • Programmr: Offers a wide variety of challenges. Free
  • CodingBat: Challenges for Java and Python, similar to Programmr. Free
  • Programming By Doing: Another alternative to Programmr and CodingBat. Free
  • Coding Game: perfect your programming skills by constructing games. Cool and fun! Free
  • Advent Of Code: Advent of Code is a series of small programming puzzles for a variety of skill levels. They are self-contained and are just as appropriate for an expert who wants to stay sharp as they are for a beginner who is just learning to code. Free
  • Exercism: Level up your programming skills. solve practice problems in over 30 different languages. Free
  • Codewars: Improve your skills by training with others on real code challenges. Free

A Tutorial can be seen as a more isolated, smaller-scoped learning resource compared to learning paths, a course, or a module. There’s a wide variety of available tutorials, simply by searching online, you’ll often find a fitting tutorial for your needs.

  • Baeldung: Contains some great textual tutorials on Java and Spring. Free
  • Spring Guides: A collection of to-the-point guides on all aspects of the Spring Framework. Free
  • Java Code Geeks: Tutorials related to Java itself and its ecosystem (Spring, Android,…). Free
  • Mkyong: Great resource of tutorials related to the Java ecosystem, also contains solutions to common problems. Free
  • Youtube (Vimeo as well): Offers a wide variety of channels offering video tutorials. (E.g. SpringDeveloper, JavaBrains, Java and The Coding Train). Free

If you’re looking for even more courses and tutorials, try Hackr.io. It’s a (sort-of) search engine for software development courses and tutorials.

An important side-note: A resource that’s almost always a good way to learn a new language, technology, framework or library is the official documentation of that specific tech. In general, documentation comes combined with tutorials and getting-started guides which are often of very high quality. Using the official documentation as your primary learning source is often recommended.

As an example, check out the official Angular documentation and its Tour of Heroes tutorial.


Updated on Thursday 24, May 2018.

Do you need more info?

Kept scrolling, did you? Maybe you’re searching for some more information? If that’s the case, just get in touch. Reach out to us with any questions you might still have. We’re happy to reply!

hello@switchfully.com