Boot.dev Blog
GitHub + Git: Push, Pull, and Pull Requests
by ThePrimeagen - Ex-Netflix engineer, NeoVim ricer, and Git rebaser
Git is the open-source command-line version control tool, and GitHub is basically just a collaboration on top of it. You can absolutely use Git without GitHub, but for most teams, GitHub (or something similar) is where a lot of the collaboration happens. Linus Torvalds created Git, and... well we don't talk about who owns GitHub these days...
Git Branching: Create, Switch, and Manage Branches
by ThePrimeagen - Ex-Netflix engineer, NeoVim ricer, and Git rebaser
A Git branch allows you to keep track of different changes separately. For example, you can create a new branch to experiment with changing a color scheme without affecting your primary branch. If you like the changes, you merge (or rebase) the branch back into main. If you don't, you delete it.
Git Internals: How Git Stores Data and History on Disk
by ThePrimeagen - Ex-Netflix engineer, NeoVim ricer, and Git rebaser
Let's take a look at some of git's "plumbing", that is, the commands that are mostly used for working "under-the-hood" with Git, and that you'll only use if you're trying to debug your Git files themselves.
Git Config: Set Your Name, Email, and Branch Defaults
by ThePrimeagen - Ex-Netflix engineer, NeoVim ricer, and Git rebaser
Git stores author information so that when you're making a commit it can track who made the change. Here's how all that configuration actually works.
Git for Beginners: Install It and Make Your First Commit
by ThePrimeagen - Ex-Netflix engineer, NeoVim ricer, and Git rebaser
Git is the distributed version control system (VCS). Nearly every developer in the world uses it to manage their code. It has quite a monopoly on VCS. Developers use Git to:
Git Merge: Combine Branches and Understand Fast-Forwards
by ThePrimeagen - Ex-Netflix engineer, NeoVim ricer, and Git rebaser
"What's the point of having multiple branches?" you might ask. They're most often used to safely make changes without affecting your (or your team's) primary branch. Once you're happy with your changes, you'll want to merge them back into main so that they make their way into the final product.
Clean Code in Python: Write Readable, Maintainable Code
by Lane Wagner - Boot.dev co-founder and backend engineer
If you ask ten developers for a definition of clean code, you will get twelve answers and one argument in the comments. Still, most of us agree on the practical goal: write code that other humans can understand quickly and change safely. That matters way more than writing clever one-liners that only make sense to your past self at 2 AM.
Python Polymorphism: One Interface, Many Behaviors
by Lane Wagner - Boot.dev co-founder and backend engineer
Polymorphism is where OOP starts to feel truly powerful. You stop writing giant if type == ... trees and start trusting shared interfaces. Different objects respond to the same method call in different ways, and your calling code stays clean.
Python Inheritance: When to Use It and Skip It
by Lane Wagner - Boot.dev co-founder and backend engineer
Inheritance is one of those OOP tools that feels magical on day one and dangerous on day thirty. Used well, it removes duplication and keeps models clean. Used badly, it creates class trees no one wants to touch.
Python Encapsulation vs Abstraction: What Matters
by Lane Wagner - Boot.dev co-founder and backend engineer
If classes and objects are the "what" of OOP, encapsulation and abstraction are the "how." They're how you keep code understandable after the project gets big, your team grows, and six months pass. They sound similar because they're close cousins, but they solve slightly different pains.
Python Classes and Objects: A Practical Beginner Guide
by Lane Wagner - Boot.dev co-founder and backend engineer
If classes and objects still feel slippery, you're not crazy. Most tutorials either go too abstract or drown you in weird examples. The practical way to learn OOP is simple: understand how data and behavior stick together, then build small objects that are easy to reason about.
Boot.dev's New Logo Unveiled
by Lane Wagner - Boot.dev co-founder and backend engineer
We created our old blue/black/gray logo years ago before we redsigned the site to its new gold/brown/blue textured look and feel. As such, the old logo just doesn't fit at all with the current state of the brand (as much as we loved it). So, we decided to work with an incredible designer (thanks Dusan!) to create a new logo that really captures what Boot.dev has become over the years.
Backend Developer Roadmap
by Maya Chen - Computer science and programming educator at Boot.dev
So you've decided you want to learn backend development so you can get a job - congratulations! Many self-taught coders have a hard time deciding between all the various programming job options, but it's much easier to learn effectively if you have a clear backend developer roadmap to follow. Before we get started, if you want the quick answer, check out Boot.dev's back-end roadmap - it's built from the ground up to teach backend development completely online. You will never learn to become a backend developer just by reading a blog post. Instead of trying to teach you backend development in just this post, I'll offer a deep dive into the things you need to learn. If that sounds useful, read on.
16+ Best online coding courses [2026]
by Maya Chen - Computer science and programming educator at Boot.dev
Explore the best online coding courses. Compare platforms, skill levels, pricing, and certifications to find the right course for your goals.
12+ Best online coding bootcamps [2026]
by Maya Chen - Computer science and programming educator at Boot.dev
Compare the best online coding bootcamps, features, costs, and career outcomes to find the right path into software development.
The Boot.dev Beat. March 2026
by Lane Wagner - Boot.dev co-founder and backend engineer
February was stacked with quality-of-life work and platform upgrades. A lot of this work is infrastructure-heavy and not quite as flashy, but it makes Boot.dev faster, sturdier, and more fun to use. Also: the DevOps learning path is very close. The AWS and logging courses are getting their final polish and should be landing any week now.
Python Exceptions: Try, Except, and Raise
by Lane Wagner - Boot.dev co-founder and backend engineer
Python has two kinds of errors: syntax errors that prevent your code from running at all, and exceptions that happen while your code is executing. Knowing how to handle exceptions with try/except and how to raise your own is a core skill for writing reliable programs.
Python Sets: What They Are and How to Use Them
by Lane Wagner - Boot.dev co-founder and backend engineer
Sets are like lists, but with two key differences: they are unordered and they guarantee uniqueness. Only one of each value can exist in a set. If you need to track unique items or remove duplicates, sets are the tool for the job.
Python Dictionaries: How to Create and Use Them
by Lane Wagner - Boot.dev co-founder and backend engineer
Dictionaries are one of Python's most useful data structures. Instead of accessing values by a numeric index like you do with lists, you access them by a key — usually a string. If lists are like numbered shelves, dictionaries are like labeled drawers.
Python Lists: A Complete Beginner Guide
by Lane Wagner - Boot.dev co-founder and backend engineer
A natural way to organize and store data is in a list. Some languages call them "arrays", but in Python we just call them lists. Think of all the apps you use and how many of the items in them are organized into lists — a social media feed is a list of posts, an online store is a list of products, the state of a chess game is a list of moves.
Python Loops: For, While, Break, and Continue
by Lane Wagner - Boot.dev co-founder and backend engineer
Loops let you run the same code over and over without rewriting it each time. Whether you need to count through numbers, process items in a list, or keep going until a condition changes, Python gives you for loops and while loops to handle it.
Python If Statements: If, Else, and Elif
by Lane Wagner - Boot.dev co-founder and backend engineer
Every useful program needs to make decisions. Python's if statement is how you tell your code to do one thing or another depending on some condition — and once you understand if, elif, and else, you can handle just about any branching logic.
Python Math: Operators and Numbers Explained
by Lane Wagner - Boot.dev co-founder and backend engineer
Python has excellent built-in support for math operations — from basic arithmetic to exponents to bitwise logic. You don't need to import anything to do most math in Python, which is one reason it's so popular for everything from backend development to data science.
Python Functions: How to Define and Call Them
by Lane Wagner - Boot.dev co-founder and backend engineer
Functions allow you to reuse and organize code. Instead of copying and pasting the same logic everywhere, you define it once and call it whenever you need it. They're the most important tool for writing DRY code.
Python Variables: A Complete Beginner Guide
by Lane Wagner - Boot.dev co-founder and backend engineer
Variables are how we store data as our program runs. You're probably already familiar with printing data by passing it straight into print(), but variables let us save that data so we can reuse it and change it before printing it. This guide covers everything you need to know about Python variables: creating them, naming them, and understanding the basic data types they can hold. If you're just getting started, you might also want to know why Python is worth learning in the first place.
