Tools
Need one thing for your job, an interview or a project? Pick it from these 78. Each one points to the free book or guide, video course and practice we'd use, and works out what you need to learn first from what you already know.
Languages
Variables, conditions, loops, functions, lists and dictionaries. Enough to write small programs on your own.
No prerequisites- Java30 h
A typed, compiled language and still the most common choice for backend jobs in India.
After Programming in Python - JavaScript40 h
The language of the browser. Functions, objects, the event loop, promises and async code.
No prerequisites - TypeScript10 h
JavaScript with types. Catches a whole class of bugs before the code runs.
After JavaScript - C#30 h
Microsoft's typed, object-oriented language, behind .NET backends, Windows apps and Unity games.
After Programming in Python - Go25 h
A small, fast language built for servers and command-line tools, with concurrency built in.
After Programming in Python - C++40 h
C with classes, templates and a large standard library. Used where speed matters, from trading systems to games to competitive programming.
After Programming in Python - C and memory25 h
Pointers, the stack and the heap, and managing memory by hand. Why programs crash.
After Programming in Python - Rust40 h
A systems language that checks memory safety when it compiles, without a garbage collector.
After Programming in Python - Kotlin20 h
The main language for Android. Concise, null-safe and easy to pick up after Python or Java.
After Programming in Python - Swift and iOS40 h
Apple's language for iPhone, iPad and Mac apps, usually with SwiftUI for the interface.
After Programming in Python - PHP25 h
The server-side language behind WordPress and Laravel, and still behind a large share of the web.
After Programming in Python - R20 h
The statistics language. Data cleaning, models and charts, with the tidyverse doing most of the work.
No prerequisites
Web frameworks
- React30 h
Building interfaces out of components, state and effects. The most asked-for frontend library.
After JavaScript and HTML and CSS - Angular30 h
Google's full frontend framework, written in TypeScript. Common in enterprise and service-company projects.
After TypeScript and HTML and CSS - Vue20 h
A frontend framework that's gentle to start with and grows with the app.
After JavaScript and HTML and CSS - Next.js20 h
The React framework for full sites, with routing, server rendering and data fetching built in.
After React - Spring Boot30 h
The usual way to build Java backends. Web APIs, data access with JPA, security and tests, with little setup.
After Java and Designing HTTP APIs Running JavaScript on the server, and Express, the small framework most Node APIs start from.
After JavaScript and Designing HTTP APIs- Django25 h
Python's batteries-included web framework. Models, an admin site, forms, auth and templates out of the box.
After Programming in Python and The web and HTTP - FastAPI10 h
A modern Python framework for APIs, with type hints, request validation and docs generated for you.
After Programming in Python and Designing HTTP APIs - ASP.NET Core30 h
Microsoft's framework for web APIs and sites in C#, common in banks and large companies.
After C# and Designing HTTP APIs
Mobile
Building Android apps with Jetpack Compose. Screens, state, navigation, data and background work.
After Kotlin- Flutter40 h
Google's toolkit for building Android and iOS apps from one Dart codebase.
After Programming in Python - React Native25 h
Building Android and iOS apps with React and JavaScript.
After React
Data science and machine learning libraries
Loading, cleaning, joining, reshaping and summarising tables in Python.
After Programming in Python- scikit-learn15 h
Python's standard library for classic machine learning. Models, preprocessing, pipelines and evaluation.
After Data wrangling with pandas - PyTorch30 h
The library most deep learning is written in. Tensors, automatic gradients, training loops and ready-made models.
After Machine learning Google's deep learning library, usually used through Keras. Common in production and on mobile.
After Machine learning- Hugging Face10 h
The Hub for open models and datasets, and the Transformers library for using and fine-tuning them.
After Programming in Python
Databases, search and streaming
- SQL10 h
Querying, joining and aggregating tables. The most useful language you'll learn in a weekend.
No prerequisites - Redis8 h
An in-memory data store used for caching, sessions, rate limits, leaderboards and simple queues.
After Programming in Python - MongoDB10 h
A document database. Records are JSON-like documents, schemas are flexible, and it has its own query and aggregation language.
After Programming in Python - Elasticsearch12 h
A search engine and analytics store. Full-text search, logs, and the "E" in the ELK stack.
After Designing HTTP APIs Decoupling services with queues and logs. Delivery guarantees, ordering and consumer groups.
After Computer networks
Spreadsheets, BI and data engineering
- Spreadsheets10 h
Formulas, lookups, pivot tables and charts. Still where most business data gets looked at first.
No prerequisites - Power BI15 h
Building dashboards other people use to make decisions, in Microsoft's BI tool.
After SQL - Tableau12 h
Drag-and-drop dashboards. The free Tableau Public app is enough to learn it and to publish a portfolio.
No prerequisites - dbt10 h
Writing data transformations as tested, versioned SQL models. A staple of modern data teams.
After SQL - Snowflake10 h
A cloud data warehouse. Loading data, warehouses and credits, and querying at scale with SQL.
After SQL - Databricks15 h
The data and AI platform built around Spark. Notebooks, Delta tables, jobs and SQL warehouses in one place.
After SQL Processing data that doesn't fit on one machine, with DataFrames that look a lot like pandas.
After Data wrangling with pandas and SQLRunning data jobs in the right order, on a schedule, with retries when they fail.
After Programming in Python
Developer tools and DevOps
- Git6 h
Commits, branches, merging, remotes, and how to get out of trouble.
No prerequisites Moving around files, pipes, small scripts and an editor you're fast in. Nobody teaches this, everybody expects it.
No prerequisitesUsers, permissions, processes, services, logs and packages. The machine everything else runs on.
After The shell and command-line toolsPackaging an app with everything it needs so it runs the same everywhere.
After The shell and command-line tools- Kubernetes25 h
Running many containers across many machines, and keeping them running.
After Containers and Docker and Computer networks - CI and CD8 h
Building, testing and deploying automatically on every change.
After Git and Testing and debugging - Jenkins10 h
The long-standing CI server. Pipelines as code in a Jenkinsfile; still everywhere in large companies.
After Git and The shell and command-line tools - Ansible12 h
Configuring many servers at once from simple YAML playbooks, over SSH.
After Linux administration - Nginx6 h
The web server and reverse proxy in front of most apps. Serving files, proxying, load balancing and TLS.
After The web and HTTP and Linux administration Metrics, logs, traces and alerts. Knowing your system is broken before your users tell you.
After Linux administration
Cloud
- Cloud basics15 h
Compute, storage, networking and identity on a public cloud, and how the bill works.
After Computer networks - Microsoft Azure20 h
Microsoft's cloud. Compute, storage, networking and identity, and how the bill works.
After Computer networks - Google Cloud20 h
Google's cloud. Compute, storage, networking, IAM, and BigQuery for data.
After Computer networks Describing servers, networks and permissions in files you can review and version, instead of clicking in a console.
After Cloud basics
Hosting and deployment (free tiers)
- GitHub Pages2 h
Free hosting for static sites straight from a GitHub repository. The simplest place for a portfolio.
After Git and HTML and CSS Static sites on Pages and small serverless functions on Workers, served from Cloudflare's network, with a generous free tier.
After Git- Vercel3 h
Deploy frontends and Next.js apps from a Git repository, with a preview link for every branch.
After Git - Netlify3 h
Deploy static sites and frontends from a Git repository, with forms and serverless functions built in.
After Git - Render4 h
Hosting for backends, APIs and background workers, deployed from Git or a Dockerfile. Free instances sleep when idle.
After Git and Designing HTTP APIs - Neon3 h
Serverless Postgres with a free tier, and database branches you can make like Git branches.
After SQL - Supabase8 h
A Postgres database with sign-in, file storage and an API generated for you. A quick backend for side projects.
After SQL - Firebase8 h
Google's app backend. Sign-in, a NoSQL database, hosting and functions, common in mobile apps.
After JavaScript
Testing
- Test automation15 h
Tests that drive a real browser or API, run on every change, and fail for the right reasons.
After Testing and debugging - Selenium20 h
Driving a real browser from code to test web apps. The long-standing standard for browser testing.
After Testing and debugging - Postman6 h
Sending, organising and testing API requests by hand and in automated collections.
After The web and HTTP - JUnit8 h
The standard way to write unit tests in Java, with assertions, parameterised tests and extensions.
After Java - pytest6 h
The standard way to write tests in Python. Plain asserts, fixtures and parametrised tests.
After Programming in Python
Security
- Wireshark10 h
Capturing and reading network traffic packet by packet. How you see what's really on the wire.
After Computer networks - Nmap6 h
Scanning a network to find hosts, open ports and the services behind them.
After Computer networks - Burp Suite10 h
The proxy for testing web apps by hand. Intercepting, changing and replaying requests.
After The web and HTTP - Splunk15 h
Searching and charting machine data, the main tool in many security operations centres.
No prerequisites
Workplace platforms
- Jira4 h
The issue tracker most software teams plan their work in. Boards, sprints, workflows and filters.
No prerequisites - Figma10 h
Where interfaces are designed and handed to developers. Frames, components, auto layout and prototypes.
No prerequisites Running the world's biggest CRM for a company. Objects, fields, users, security, automation and reports.
No prerequisites- ServiceNow30 h
The platform large companies run IT support on. Incidents, requests, changes and workflows.
No prerequisites