IT Foundations for Beginners
From your first day in IT to understanding how software systems work — computers, programs, the web, databases and how software ships.
28
Acts
187
Chapters
BlueTicket
The Story
The Index
28 Acts. 187 Chapters. One continuous story.
Day One at BlueTicket
Anna's first morning: a standup full of words she doesn't know, and an announcement that puts the whole company on a twelve-month clock.
What Is IT?
Three Hours Into Day One
IT Companies and What They Build
Why BlueTicket Isn't Like Her Friend's Company
Engineering Roles
Fifteen Desks, a Dozen Different Jobs
Job Titles and Seniority
What the Badge Says, What the Job Is
How a Product Team Works
How Seat Selection Reached Your Phone
Map BlueTicket's Team
The Laptop That Wouldn't Start
Week two: Anna has to choose a laptop for a new hire from a spec sheet she can't read — while her own laptop won't even start.
What Is a Computer?
The Spec Sheet Anna Couldn't Read
Inside the CPU
What "8 Cores, 3.2 GHz" Really Means
Memory and Storage
Why Twenty Tabs Made Everything Slow
The Rest of the Hardware
Opening Up an Old Laptop
How a Computer Boots
"No Bootable Device Found"
Choose Three Laptops for BlueTicket
Zoë Became Zoë
Week three: a customer's name prints as gibberish and a festival poster takes twenty seconds to load — two bugs that turn out to be the same lesson.
Data, Bits and Bytes
A Name, a Price, a Picture — All Just Bytes
Number Systems and Conversions
Why Numbers Have Letters in Them
Representing Numbers
When 0.1 + 0.2 Isn't 0.3
Representing Text
How Zoë Became Zoë
Images, Audio, Video and Compression
Shrinking a 15 MB Poster
Explain One Ticket, Byte by Byte
command not found
Week four: Anna tries to run BlueTicket's code on her own laptop for the first time — and the terminal says the one thing she needs doesn't exist.
What Is Software?
A Laptop Already Full of Software
From Source Code to Machine Code
The CPU Only Speaks 0s and 1s
Builds, Executables and Runtimes
Why Node Had to Be Installed
Libraries, Frameworks and Packages
A Thousand Folders Nobody on the Team Wrote
Kinds of Programs and How They Run
Where a Program Goes When It Runs
Explain BlueTicket's Code, Start to Finish
Operating System Fundamentals
What an operating system does for every program — processes, memory, files and permissions.
What Is an Operating System?
What Is an Operating System?
Coming soon
Processes and Threads
Processes and Threads
Coming soon
Memory and File Systems
Memory and File Systems
Coming soon
Users, Groups and Permissions
Users, Groups and Permissions
Coming soon
Drivers, System Calls and I/O
Drivers, System Calls and I/O
Coming soon
Comparing Operating Systems
Comparing Operating Systems
Coming soon
Operating System Checkpoint
Files, Folders & Command Line
Paths, the terminal and the everyday commands every developer uses.
Files, Folders and Paths
Files, Folders and Paths
Coming soon
The Terminal and the Shell
The Terminal and the Shell
Coming soon
Navigating and Managing Files
Navigating and Managing Files
Coming soon
Reading and Searching Files
Reading and Searching Files
Coming soon
Pipes, Redirection and PATH
Pipes, Redirection and PATH
Coming soon
Command Line Checkpoint
Programming Foundations
The building blocks every programming language shares.
What Is Programming?
What Is Programming?
Coming soon
Variables and Data Types
Variables and Data Types
Coming soon
Operators and Expressions
Operators and Expressions
Coming soon
Conditionals and Loops
Conditionals and Loops
Coming soon
Functions and Scope
Functions and Scope
Coming soon
Clean, Reusable Code
Clean, Reusable Code
Coming soon
Programming Checkpoint
Programming Logic & Problem Solving
Breaking a problem down, writing an algorithm, and finding where the logic went wrong.
Computational Thinking
Computational Thinking
Coming soon
Algorithms, Pseudocode and Flowcharts
Algorithms, Pseudocode and Flowcharts
Coming soon
Decisions, Repetition and Edge Cases
Decisions, Repetition and Edge Cases
Coming soon
The Debugging Mindset
The Debugging Mindset
Coming soon
Problem Solving Checkpoint
Data Structures & Complexity Awareness
The common data structures and why some code stays fast as data grows — at mental-model depth.
Why Data Structures Exist
Why Data Structures Exist
Coming soon
Stacks, Queues and Hash Tables
Stacks, Queues and Hash Tables
Coming soon
Trees, Graphs and Choosing a Structure
Trees, Graphs and Choosing a Structure
Coming soon
Searching, Sorting and Recursion
Searching, Sorting and Recursion
Coming soon
Big-O and Why Complexity Matters
Big-O and Why Complexity Matters
Coming soon
Data Structures Checkpoint
Memory & Program Execution
Where a program's data lives while it runs, and why memory bugs happen.
Memory, Addresses and Variables
Memory, Addresses and Variables
Coming soon
The Stack and the Heap
The Stack and the Heap
Coming soon
Garbage Collection and Manual Memory
Garbage Collection and Manual Memory
Coming soon
Lifetime and Process Memory
Lifetime and Process Memory
Coming soon
Memory Bugs
Memory Bugs
Coming soon
Memory Checkpoint
Internet Fundamentals
How computers find and talk to each other — addresses, DNS, HTTP, TCP and TLS.
Networks and the Internet
Networks and the Internet
Coming soon
Clients, Servers and Peers
Clients, Servers and Peers
Coming soon
IP Addresses, Ports and Sockets
IP Addresses, Ports and Sockets
Coming soon
DNS, Domains and URLs
DNS, Domains and URLs
Coming soon
HTTP, Requests and Responses
HTTP, Requests and Responses
Coming soon
TCP, UDP and TLS
TCP, UDP and TLS
Coming soon
Proxies, Firewalls and CDNs
Proxies, Firewalls and CDNs
Coming soon
Internet Checkpoint
How the Web Works
Everything that happens between typing a URL and seeing the page.
What Happens When You Type a URL
What Happens When You Type a URL
Coming soon
From Request to Rendered Page
From Request to Rendered Page
Coming soon
Web Caching
Web Caching
Coming soon
Cookies, Sessions and Login
Cookies, Sessions and Login
Coming soon
API Requests and JSON
API Requests and JSON
Coming soon
REST, HTTP Methods and Endpoints
REST, HTTP Methods and Endpoints
Coming soon
Web Checkpoint
Databases & Data Storage
Why applications need databases, and how relational and NoSQL databases store data.
Why Databases Exist
Why Databases Exist
Coming soon
Tables, Rows, Columns and Keys
Tables, Rows, Columns and Keys
Coming soon
Relationships and Normalization
Relationships and Normalization
Coming soon
Queries, Indexes and Transactions
Queries, Indexes and Transactions
Coming soon
NoSQL Databases
NoSQL Databases
Coming soon
Databases Inside Applications
Databases Inside Applications
Coming soon
Database Checkpoint
Software Architecture Basics
How an application is split into parts, and how those parts scale and survive failures.
What Is Software Architecture?
What Is Software Architecture?
Coming soon
Client-Server, Tiers and Layers
Client-Server, Tiers and Layers
Coming soon
Services, Queues and Workers
Services, Queues and Workers
Coming soon
Caches, Load Balancers and Scaling
Caches, Load Balancers and Scaling
Coming soon
Availability, Reliability and Failure
Availability, Reliability and Failure
Coming soon
Reading an Architecture Diagram
Reading an Architecture Diagram
Coming soon
Architecture Checkpoint
Git & Version Control
Tracking every change, working on branches, and collaborating through a shared repository.
Why Version Control?
Why Version Control?
Coming soon
Working Directory, Staging and Commits
Working Directory, Staging and Commits
Coming soon
Remotes, GitHub and GitLab
Remotes, GitHub and GitLab
Coming soon
Everyday Git Commands
Everyday Git Commands
Coming soon
Branching and Merging
Branching and Merging
Coming soon
Merge Conflicts
Merge Conflicts
Coming soon
Git Checkpoint
Developer Environment
Setting up the editor, configuration and dependencies a real project needs.
Editors and IDEs
Editors and IDEs
Coming soon
Environment Variables, .env and Secrets
Environment Variables, .env and Secrets
Coming soon
Package Managers and Dependencies
Package Managers and Dependencies
Coming soon
Versions, Lock Files and Virtual Environments
Versions, Lock Files and Virtual Environments
Coming soon
Project Structure and Documentation
Project Structure and Documentation
Coming soon
Developer Environment Checkpoint
Debugging & Testing Fundamentals
Finding a bug methodically, and writing tests so it stays fixed.
What Is a Bug?
What Is a Bug?
Coming soon
Error Messages, Stack Traces and Logs
Error Messages, Stack Traces and Logs
Coming soon
Using a Debugger
Using a Debugger
Coming soon
Systematic Debugging
Systematic Debugging
Coming soon
Browser DevTools
Browser DevTools
Coming soon
Testing: Unit, Integration and End-to-End
Testing: Unit, Integration and End-to-End
Coming soon
Debugging Checkpoint
Software Development Lifecycle
How a feature goes from an idea to a release, and how teams organise that work.
What Is the SDLC?
What Is the SDLC?
Coming soon
From Code to Release
From Code to Release
Coming soon
Agile and Scrum
Agile and Scrum
Coming soon
User Stories, Tasks and Bugs
User Stories, Tasks and Bugs
Coming soon
Pull Requests and the Definition of Done
Pull Requests and the Definition of Done
Coming soon
SDLC Checkpoint
Build, Deploy & Run
Getting an application from a laptop onto a real server — and back out if it breaks.
Development, Staging and Production
Development, Staging and Production
Coming soon
Build Artifacts, Pipelines and Configuration
Build Artifacts, Pipelines and Configuration
Coming soon
Servers and Deployment
Servers and Deployment
Coming soon
Domains, HTTPS and Reverse Proxies
Domains, HTTPS and Reverse Proxies
Coming soon
Logs, Monitoring and Rollback
Logs, Monitoring and Rollback
Coming soon
CI/CD Basics
CI/CD Basics
Coming soon
Deployment Checkpoint
Cloud & Infrastructure Fundamentals
What the cloud actually is, and the building blocks every cloud provider offers.
What Is Cloud Computing?
What Is Cloud Computing?
Coming soon
IaaS, PaaS and SaaS
IaaS, PaaS and SaaS
Coming soon
Virtual Machines and Containers
Virtual Machines and Containers
Coming soon
Regions and Availability Zones
Regions and Availability Zones
Coming soon
Cloud Networking, Storage, Databases and Compute
Cloud Networking, Storage, Databases and Compute
Coming soon
Infrastructure as Code and Cloud Security
Infrastructure as Code and Cloud Security
Coming soon
Cloud Checkpoint
Containers & DevOps Awareness
A mental model of Docker, Kubernetes and the DevOps pipeline — depth comes in their own courses.
Why Containers?
Why Containers?
Coming soon
Images, Dockerfiles and Registries
Images, Dockerfiles and Registries
Coming soon
Why Kubernetes Exists
Why Kubernetes Exists
Coming soon
Clusters, Nodes, Pods and Services
Clusters, Nodes, Pods and Services
Coming soon
CI/CD Pipelines
CI/CD Pipelines
Coming soon
DevOps, Automation and Observability
DevOps, Automation and Observability
Coming soon
DevOps Checkpoint
Security Foundations
How applications prove who you are, protect data, and get attacked.
Why Security Matters: Identity and Access
Why Security Matters: Identity and Access
Coming soon
Passwords, Hashing and MFA
Passwords, Hashing and MFA
Coming soon
Sessions, Tokens, JWT and OAuth
Sessions, Tokens, JWT and OAuth
Coming soon
Encryption, HTTPS and TLS
Encryption, HTTPS and TLS
Coming soon
Secrets, API Keys and Least Privilege
Secrets, API Keys and Least Privilege
Coming soon
Secure Coding: Validation, SQL Injection, XSS and CSRF
Secure Coding: Validation, SQL Injection, XSS and CSRF
Coming soon
Dependencies and the Security Mindset
Dependencies and the Security Mindset
Coming soon
Security Checkpoint
Data, APIs & Integration
How applications talk to each other — synchronously, asynchronously, and through third-party APIs.
Why Applications Communicate
Why Applications Communicate
Coming soon
REST APIs and the Request Lifecycle
REST APIs and the Request Lifecycle
Coming soon
API Authentication, Errors and Status Codes
API Authentication, Errors and Status Codes
Coming soon
Pagination, Filtering, Sorting and Versioning
Pagination, Filtering, Sorting and Versioning
Coming soon
Webhooks, Events and Message Queues
Webhooks, Events and Message Queues
Coming soon
Third-Party APIs and API Documentation
Third-Party APIs and API Documentation
Coming soon
Integration Checkpoint
Professional Engineering Practices
The habits that make an engineer easy to work with — readable code, clear writing, good research.
Readable Code and Naming
Readable Code and Naming
Coming soon
Writing Documentation
Writing Documentation
Coming soon
Code Review, Pull Requests and Issues
Code Review, Pull Requests and Issues
Coming soon
Technical Communication
Technical Communication
Coming soon
Finding Answers: Docs, Errors and Search
Finding Answers: Docs, Errors and Search
Coming soon
Learning Independently
Learning Independently
Coming soon
Professional Practices Checkpoint
Understanding a Real Software Project
Opening an unfamiliar codebase, finding your way around it, and shipping a first small change.
Inside a Repository
Inside a Repository
Coming soon
Database, APIs, Auth, Logs and Tests in a Codebase
Database, APIs, Auth, Logs and Tests in a Codebase
Coming soon
Build, Deployment, Docker and CI/CD Files
Build, Deployment, Docker and CI/CD Files
Coming soon
Reading an Unfamiliar Codebase
Reading an Unfamiliar Codebase
Coming soon
Tracing a Request Through the Code
Tracing a Request Through the Code
Coming soon
Running and Debugging a Project Locally
Running and Debugging a Project Locally
Coming soon
Your First Change: Test, Commit, Pull Request
Your First Change: Test, Commit, Pull Request
Coming soon
Real Project Checkpoint
Putting Everything Together
Every layer from the CPU to the cloud, connected into one request journey.
From Hardware to Application
From Hardware to Application
Coming soon
Network, Internet and Browser
Network, Internet and Browser
Coming soon
Frontend, Backend, Data, Cache and Queues
Frontend, Backend, Data, Cache and Queues
Coming soon
Servers, Cloud, Delivery and Security
Servers, Cloud, Delivery and Security
Coming soon
The Complete Request Journey
The Complete Request Journey
Coming soon
Big Picture Checkpoint
Beginner's First Engineering Projects
Building, testing, containerising and deploying real small projects, step by step.
A Calculator and a File Organizer
A Calculator and a File Organizer
Coming soon
A REST API with a Database
A REST API with a Database
Coming soon
Authentication, Git Workflow and Tests
Authentication, Git Workflow and Tests
Coming soon
Containerize, Deploy and Add HTTPS
Containerize, Deploy and Add HTTPS
Coming soon
Logging and Monitoring Your Project
Logging and Monitoring Your Project
Coming soon
Document, Publish and Ship to Production
Document, Publish and Ship to Production
Coming soon
Projects Checkpoint
Career Readiness
Choosing a path, reading job descriptions, and building a long-term learning plan.
Choosing a Programming Language
Choosing a Programming Language
Coming soon
Career Paths in IT
Career Paths in IT
Coming soon
Reading Job Descriptions
Reading Job Descriptions
Coming soon
A Learning Roadmap and Projects
A Learning Roadmap and Projects
Coming soon
Portfolio, Resume and Interviews
Portfolio, Resume and Interviews
Coming soon
Continuous Learning
Continuous Learning
Coming soon
Final Capstone: Build, Understand & Explain a Complete Software System
Course Complete