Step-by-step roadmaps

Programming Learning Paths and Career Roadmaps

Pick a goal. We'll show you exactly which lessons to take, in which order, and which project proves you're ready for the next stage.

Web development

Backend and data

Languages

Collaboration

Web Developer path

Learn web development from zero: build pages with HTML, style them with CSS, add JavaScript, then publish your first website on GitHub Pages. The best first roadmap for complete beginners. Estimated time: 6 to 8 weeks at about an hour a day.

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. Check you're ready

    Take the quizzes in exam mode. A score of 80% or more on each one means you're ready to move on.

All paths

Web Developer

Learn web development from zero: build pages with HTML, style them with CSS, add JavaScript, then publish your first website on GitHub Pages. The best first roadmap for complete beginners.

6 to 8 weeks · 24 lessons · 3 projects

Frontend Developer

Become a frontend developer: accessible HTML, responsive CSS with Flexbox and Grid, modern JavaScript, fetch and async/await, and portfolio apps you can show to employers.

10 to 14 weeks · 25 lessons · 3 projects

Backend Developer

Learn backend development: program in Python, query data with SQL and MongoDB, build REST APIs with Node.js and Express, and use Git the way professional teams do.

12 to 16 weeks · 38 lessons

Kotlin Developer

Learn Kotlin for Android and backend development: null safety, classes, collections, coroutines and Flow, then build and test a complete app with Gradle.

6 steps · 43 lessons

Swift Developer

Learn Swift for iPhone and Mac apps: optionals, structs, protocols and async/await, then build a SwiftUI app with forms, navigation and SwiftData storage.

6 steps · 43 lessons

C# Developer

Learn C# and .NET: classes, LINQ and async/await, then build ASP.NET Core APIs with Entity Framework, dependency injection, logging and unit tests.

5 steps · 43 lessons

C++ Developer

Learn modern C++ for games, systems and fast software: pointers, classes, the STL, smart pointers and templates, then build a safe project with CMake.

6 steps · 44 lessons

PHP Developer

Learn PHP for web development: forms, sessions, MySQL with PDO, object-oriented PHP and security, ending with a tested login system and a REST API ready to deploy.

6 steps · 51 lessons

PHP MySQLi

Using MySQL with PHP? Learn MySQLi connections, prepared statements, CRUD queries, pagination and error handling, and see when PDO is the better choice.

5 steps · 17 lessons

Node.js Developer

Become a Node.js developer: master modules, async code and the event loop, build REST APIs with Express, add authentication and tests, and deploy a secure backend.

5 steps · 43 lessons

SQL Analyst

Become a data analyst with SQL: filter, join and group data, write CTEs and window functions, and turn raw tables into clear business reports and time-series trends.

6 steps · 45 lessons

SQL Database Design

Learn database design: turn requirements into normalized tables, enforce keys and constraints, plan backups and permissions, and compare MySQL, PostgreSQL, SQL Server and SQLite.

6 steps · 29 lessons

MongoDB Developer

Learn MongoDB for real apps: design document schemas, write find and update queries, speed them up with indexes and aggregation, and connect from Node.js and Mongoose.

6 steps · 43 lessons

Git Collaboration

Learn Git version control the practical way: commit, branch and merge with confidence, rebase cleanly, resolve conflicts and undo mistakes without losing work.

5 steps · 30 lessons

GitHub Collaboration

Learn GitHub for teamwork: pull requests and code review, issues and project boards, branch rules, and GitHub Actions that test and deploy your code automatically.

6 steps · 30 lessons

Python Programmer

Learn Python programming from scratch: write useful scripts, master lists, dictionaries and functions, use packages, and build a tested project you can share on GitHub.

5 steps · 33 lessons

Python Automation

Automate boring tasks with Python: organize files and folders, clean CSV and JSON data, load settings, and add logging and tests so every script runs reliably.

4 steps · 19 lessons

Python Backend Developer

Build web backends with Python: connect to SQL, MySQL and MongoDB, create REST APIs with Flask, add authentication, and finish with a tested booking API.

4 steps · 19 lessons

Python Data Analyst

Learn data analysis with Python: clean data with pandas and NumPy, run statistics, make charts with Matplotlib, then take your first steps into machine learning.

5 steps · 24 lessons

Java Programmer

Learn Java programming step by step: syntax, OOP, collections, exceptions and files, then build and test real projects with Maven or Gradle and JUnit.

4 steps · 20 lessons

Java Backend Foundation

Get ready for Spring Boot and Java backend work: interfaces and generics, JSON and dates, streams, threads and thread pools, plus logging and tests for service code.

4 steps · 19 lessons

Java DSA and Interviews

Prepare for coding interviews in Java: Big O, sorting, hash tables, trees, graphs, recursion and dynamic programming, with practice challenges and common interview questions.

4 steps · 16 lessons

What is a learning path?

A learning path is an ordered route through the courses on this site, aimed at one goal. Instead of choosing between fifteen courses and hundreds of lessons, you follow a short list of steps in a sensible order, with projects placed at the points where you'll have enough knowledge to build them.

The biggest problem most self-taught beginners face isn't difficulty, it's direction. It's easy to spend weeks jumping between tutorials without ever feeling ready to build anything. A path fixes that by answering the question "what should I learn next?" for you.

Which path is right for you?

Web Developer is the place to start if you've never coded before. It takes you from your first HTML tag to a published website, covering HTML, CSS, the basics of JavaScript, three beginner projects and how to save and publish your work with Git and GitHub. Most people finish it in six to eight weeks with a few hours of study a week.

Frontend Developer builds on the first path. It goes deeper into accessible HTML, modern CSS layouts with flexbox and grid, modern JavaScript, working with APIs and building real apps. Choose it once you can build a simple page on your own and want to make interfaces that look professional and work on every screen size.

Backend Developer covers the server side: programming with Python, storing data with SQL and MongoDB, building APIs with Node.js and Express, server pages with PHP, and version control with Git and GitHub. Choose it if you're more interested in data, logic and how websites work behind the scenes.

If you're unsure, start with Web Developer. Nearly every programming job touches the web, and what you learn there carries straight over to the other two paths.

How to follow a path

  1. Work through the steps in order. Each step builds on the ones before it.
  2. Finish each lesson's exercises before moving on. They take a few minutes and show whether the lesson stuck.
  3. Build the projects when you reach them. They're placed where you'll have just enough knowledge to complete them, which is exactly where the most learning happens.
  4. Take the course quiz at the end of each stage as a checkpoint.
  5. Keep a steady pace. An hour a day, or a few longer sessions each week, is plenty. Regular practice matters more than speed.

How long does it take to learn to code?

It depends on your goal and how much time you have, so the estimates on each path assume a few hours a week. Building and publishing a simple website is realistic within two months. Becoming job-ready usually takes longer, often six months to a year of steady practice and personal projects. The important thing is that every week you can do something you couldn't do the week before.

After you finish a path

Finishing a path means you understand the foundations and have built real things. The next step is to build something of your own, with no step-by-step guide: a personal portfolio, a tool for a hobby, or a site for a friend or local club. Use the cheat sheets for quick reminders, the code playground to test ideas, and the daily challenge to keep your skills sharp while you build.

Python learning and career routes

The expanded Python course keeps its original twenty five lessons and adds companion chapters before specialist tracks. Choose the Python Programmer path for the shared foundation, then a route that matches what you want to build. Use the study roadmap to plan reading, practice, building and review around your available time.

Python Automation combines file and directory operations, JSON, CSV, configuration, logging and tests. Build a validated donation importer or an equipment report that another person can run from documented instructions. Include sample inputs, rejected record explanations and a repeatable environment.

Python Backend Developer adds database connections, SQL CRUD, MySQL or MongoDB, authenticated API clients and Flask. Demonstrate a small booking service with validation, transaction handling, meaningful logs and route tests. Explain the deployment boundary as well as the successful request flow.

Python Data Analyst follows NumPy, pandas, cleaning, statistics and visualization. Demonstrate a report whose source data, cleaning policies, totals and chart units can be reviewed. Continue into the separate machine learning track when your goal requires prediction or clustering, starting with baselines and trustworthy evaluation.

Python interview preparation draws on the interview guide and DSA track. Explain search and sorting prerequisites, collection tradeoffs, mutation, iterators and complexity using small original examples. A path supports preparation; employment readiness depends on demonstrated work and the requirements of the role.

Java study and career routes

The Java course pairs the original foundation with focused companions and separate professional, algorithm and practice tracks. Choose Java Programmer for language fluency and tested projects, Java Backend Foundation for data boundaries and concurrent work, or Java DSA and Interviews for algorithm reasoning and interview practice. Each route links to course lessons in prerequisite order. The Java learning roadmap helps you plan review sessions and demonstrate progress through working projects.

PHP and SQL reference routes

PHP Developer starts with the PHP course's original twenty-five chapters, in their existing order. Use the supplemental language and OOP references after the relevant core chapter, then deepen file, XML and browser-request handling. Finish with configuration, dependencies, tests, performance and deployment. Demonstrate a small application whose validation, authentication and failure behavior you can explain.

PHP MySQLi is an optional MySQL-specific track alongside the original PDO chapter. Choose it when you need MySQLi's API, then practise prepared statements, errors, pagination and connection management. Completing MySQLi is not a prerequisite for the original PDO learning sequence.

SQL Analyst follows the SQL course's original twenty-five chapters, then deepens aggregate functions, NULL policies and window calculations. Use the ranking guide to explain ties and the moving-average guide to distinguish observations from calendar days. Practise business reports with stated data grain and checked totals.

SQL Database Design connects schema fundamentals with requirements, relationship modeling, integrity, data transfer, backups and permissions. Use the isolation reference before designing concurrent updates. Choose an engine deliberately and check its dialect-specific behavior rather than assuming every example is interchangeable.

<!-- eight-course-reference-paths -->

Language, backend and collaboration reference paths

The Kotlin, Swift, C# and C++ Developer paths start with each course's 25 core lessons, in order. Then use the language guides to answer specific questions about types, APIs and object lifetimes, and the tooling and application guides to build and ship a real project. Every step links straight to its lesson.

The Node.js and MongoDB Developer paths start with the 25 core lessons of each course, then move on to in-depth guides on the Node.js runtime and networking, and on MongoDB queries, indexes and data processing. Try each example on a small test dataset before you use it in a running service, and note the Node.js and MongoDB versions your project depends on.

The Git and GitHub Collaboration paths each start with 20 core lessons. The Git guides go deeper into staging, history, large files and recovery; the GitHub guides cover review rules, reusable Actions workflows and platform services. Practise on a sample repository: open a small pull request, get it reviewed and add a workflow whose permissions you can explain.