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
Structure pages with HTML
HTML course - 2
- 3
Make them interactive with JavaScript
JavaScript course - 4
Build your first projects
- 5
Save and publish your work
Git course 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.
Frontend Developer path
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. Estimated time: 10 to 14 weeks at about an hour a day.
- 1
Solid HTML & accessibility
HTML course - 2
- 3
- 4
- 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.
Backend Developer path
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. Estimated time: 12 to 16 weeks at about an hour a day.
- 1
Learn to program with Python
Python course - 2
- 3
Build APIs with Node.js and Express
Node.js course - 4
Store documents with MongoDB
MongoDB course - 5
- 6
- 7
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.
Kotlin Developer path
Learn Kotlin for Android and backend development: null safety, classes, collections, coroutines and Flow, then build and test a complete app with Gradle. Study at your own pace.
- 1
- 2
- 3
- 4
- 5
Tooling and interoperability
Kotlin course - 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.
Swift Developer path
Learn Swift for iPhone and Mac apps: optionals, structs, protocols and async/await, then build a SwiftUI app with forms, navigation and SwiftData storage. Study at your own pace.
- 1
- 2
- 3
- 4
- 5
- 6
Concurrency and app development
Swift course 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.
C# Developer path
Learn C# and .NET: classes, LINQ and async/await, then build ASP.NET Core APIs with Entity Framework, dependency injection, logging and unit tests. Study at your own pace.
- 1
- 2
- 3
- 4
- 5
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.
C++ Developer path
Learn modern C++ for games, systems and fast software: pointers, classes, the STL, smart pointers and templates, then build a safe project with CMake. Study at your own pace.
- 1
- 2
- 3
- 4
Language and standard library
C++ course - 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.
PHP Developer path
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. Study at your own pace.
- 1
Core chapters 1–8: language foundation
PHP course - 2
Core chapters 9–17: web requests and PDO
PHP course - 3
Core chapters 18–25: OOP and complete applications
PHP course - 4
- 5
- 6
Test, configure and deploy a maintained project
PHP course- PHP Configuration and php.ini
- Error Reporting and Logging
- Composer Dependencies and Version Constraints
- PSR Standards and Autoloading
- Environment Variables and .env Configuration
- Unit Testing with PHPUnit
- PHP Performance and OPcache Basics
- Deployment and Production Configuration
- PHP Security Checklist
- PHP Interview Questions and Coding Exercises
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.
PHP MySQLi path
Using MySQL with PHP? Learn MySQLi connections, prepared statements, CRUD queries, pagination and error handling, and see when PDO is the better choice. Optional database track.
- 1
Understand forms, SQL and the original PDO route
PHP course - 2
Connect to MySQL and understand the API choice
PHP course - 3
Write CRUD queries with bound values
PHP course - 4
Handle failures, paginate and manage connections
PHP course - 5
Apply the original security and application chapters
PHP course 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.
Node.js Developer path
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. Study at your own pace.
- 1
- 2
- 3
- 4
- 5
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.
SQL Analyst path
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. Study at your own pace.
- 1
Core chapters 1–8: read and transform data
SQL course - 2
Core chapters 9–17: tables, joins and relationships
SQL course - 3
Core chapters 18–25: advanced foundation
SQL course - 4
Deepen aggregate and function reference skills
SQL course - 5
Build reliable comparisons and time-series reports
SQL course - 6
Measure query work and demonstrate business reporting
SQL course 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.
SQL Database Design path
Learn database design: turn requirements into normalized tables, enforce keys and constraints, plan backups and permissions, and compare MySQL, PostgreSQL, SQL Server and SQLite. Study at your own pace.
- 1
Read the core schema and relationship chapters
SQL course - 2
- 3
- 4
Plan data transfer, recovery and permissions
SQL course - 5
Understand access costs and concurrent transactions
SQL course - 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.
MongoDB Developer path
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. Study at your own pace.
- 1
- 2
- 3
- 4
- 5
- 6
Indexes and connection management
MongoDB course 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.
Git Collaboration path
Learn Git version control the practical way: commit, branch and merge with confidence, rebase cleanly, resolve conflicts and undo mistakes without losing work. Study at your own pace.
- 1
- 2
- 3
- 4
- 5
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.
GitHub Collaboration path
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. Study at your own pace.
- 1
- 2
- 3
- 4
Review and repository rules
GitHub course - 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.
Python Programmer path
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. Study at your own pace.
- 1
- 2
Work with collections and functions
Python course - 3
- 4
- 5
Practise and choose a specialization
Python course 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.
Python Automation path
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. Study at your own pace.
- 1
Complete the common foundation
Python course - 2
Validate and transform external records
Python course - 3
- 4
Demonstrate a useful automation project
Python course 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.
Python Backend Developer path
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. Study at your own pace.
- 1
Prepare the language and professional foundation
Python course - 2
- 3
Build robust service boundaries
Python course - 4
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.
Python Data Analyst path
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. Study at your own pace.
- 1
Prepare data with the common foundation
Python course - 2
Work with numerical and labeled data
Python course - 3
Explain and visualize findings
Python course - 4
- 5
Present a reproducible portfolio
Python course 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.
Java Programmer path
Learn Java programming step by step: syntax, OOP, collections, exceptions and files, then build and test real projects with Maven or Gradle and JUnit. Study at your own pace.
- 1
- 2
- 3
- 4
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.
Java Backend Foundation path
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. Study at your own pace.
- 1
- 2
Design reliable data boundaries
Java course - 3
- 4
Validate a maintainable service project
Java course 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.
Java DSA and Interviews path
Prepare for coding interviews in Java: Big O, sorting, hash tables, trees, graphs, recursion and dynamic programming, with practice challenges and common interview questions. Study at your own pace.
- 1
- 2
Explore recursive structures
Java course - 3
- 4
Review and demonstrate understanding
Java course 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 projectsFrontend 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 projectsBackend 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 lessonsKotlin 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 lessonsSwift 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 lessonsC# 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 lessonsC++ 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 lessonsPHP 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 lessonsPHP 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 lessonsNode.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 lessonsSQL 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 lessonsSQL 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 lessonsMongoDB 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 lessonsGit 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 lessonsGitHub 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 lessonsPython 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 lessonsPython 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 lessonsPython 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 lessonsPython 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 lessonsJava 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 lessonsJava 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 lessonsJava 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 lessonsWhat 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
- Work through the steps in order. Each step builds on the ones before it.
- Finish each lesson's exercises before moving on. They take a few minutes and show whether the lesson stuck.
- 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.
- Take the course quiz at the end of each stage as a checkpoint.
- 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.