I originally built Boot.dev for my wife Breanna. She wanted to transition from her late-night job as an x-ray tech to a software engineer, but we ran into a few problems:
- We didn't have the time or money for a 4-year CS degree - but still wanted a curriculum that went deep on both theory and practice
- Video-based resources didn't focus nearly enough on hands-on coding, and the feedback loops were too long
- There are so many places to learn HTML, CSS, and JavaScript frameworks, but almost no resources that focus on backend, computer science, and devops
- All the learning platforms had the same corporate/polished vibe
So I decided to build the curriculum and platform that I wished she had. My wife was my first student, she loves the courses and I hope you do too.
- Lane Wagner, Founder
Our Beliefs on Learning to Code
As a team, we have some strong opinions about the best way to learn to code.
- Computer science matters, computer science degrees don't
- Coding is fun, don't ruin it
- Short cuts make long delays
- You should be uncomfortable
- Avoid AI when learning
- Bite-sized lessons, then full projects
- Go one level deeper
- You need to build and deploy
1. Computer science matters. Computer science degrees don't.
Mastering the fundamentals of programming and computer science was important 20 years ago when drag and drop website builders launched, and that knowledge is just as important today in the age of AI coding.
Developers who know their stuff inside and out are the ones that actually get hired to build mission-critical software - even if that means orchestrating agents. Understanding software at a deeper level doesn't require a degree that costs tens of thousands of dollars, but it does require a curriculum that doesn't skip the hard stuff.
2. Coding is fun, don't ruin it
"A game is a series of interesting choices"
- Sid Meier, creator of the Civilization series
Coding is inherently a game. There's a tight feedback loop, and you get to make interesting decisions about the code you write that moves you toward your goal: building projects that solve problems.
Coding, and in particular learning to code, can feel dull if the magic is lost. We aim to keep the magic alive. Game mechanics are part of it, sure, but it's really about creating a deeply immersive experience for even the most theory-heavy topics.
3. Short cuts make long delays
"Short cuts make long delays"
- Pippin, The Fellowship of the Ring
You're not going to "learn to code" in 3 months, but you also don't need to spend a full 4 years and $30,000 to be qualified for an entry level programming job. Too many would-be learners binge hours of YouTube tutorials, only to find that they don't know where to start when it comes time to build something from scratch.
Learning to code is not a get-rich-quick scheme.
Plan on at least 12 months of serious learning to get ready for your first programming-related job, depending on your situation.
4. You should be uncomfortable
Learning to code isn't easy. If it were, everyone would be doing it, and we wouldn't be paid as much as we are to write great code.
You learn most effectively when you're in your zone of proximal development, the place just outside of your comfort zone. There are just two rules for staying in the ZOPD:
- Don't waste your time solving problems that you already know how to solve.
- Don't waste your time solving problems that are impossible for your skill level.
5. Avoid AI when learning
AI coding agents, autocomplete tools, and chatbots are incredibly useful for experienced developers, but when you're learning, they short-circuit the struggle that makes the understanding stick. AI can be incredible for getting around barriers that used to require a live mentor, but if you're not careful it can quickly become a crutch.
That's why Boots (a chatbot) exists on Boot.dev, but with two important caveats:
- He's designed to not give you the answer, but instead use the Socratic method to help you figure it out yourself.
- You're actually penalized (in game terms) for using him so you'll only use him when you truly need the help.
6. Bite-sized lessons, then full projects
If you're learning to code, you don't need more information — you need the right information, in the right order, presented in the most understandable way.
Boot.dev teaches each new concept through hands-on, bite-sized coding challenges. Then, once you've mastered a collection of micro-concepts, you build a full project that puts all those pieces together in a real-world scenario.
7. Go one level deeper
Too many learners jump from one shiny technology to the next without ever truly mastering the underlying fundamentals. Our engagement-driven tech-news cycle incentivizes this behavior, but it's not the best way to learn to code.
Go deep into a single topic or technology that interests you. There is a time to branch out, but learners almost never go too deep too early.
8. You need to build and deploy
It's not enough to build guided projects or follow tutorials in a sandbox environment. You need to build your own ideas from scratch and deploy them end-to-end into the world.
Sometimes "deploy" means hosting a web app on the internet. Sometimes it just means packaging up your project with great documentation and pushing it to GitHub.
The point is you need to show your work, and that work should be interesting if you want to impress potential employers.
