The state of education for back-end developers is fraught with difficulty, but it doesn’t need to be that way. The mission of Boot.dev is to make the process of becoming a backend engineer effective, fun, and inexpensive.
Why build Boot.dev?
I started building Boot.dev for my wife Breanna who wanted to transition into backend development from her job as an x-ray technician. After searching for a while, we couldn’t find any learning platforms that checked all the boxes that I felt were necessary as a backend hiring manager. I built Boot.dev so that anyone struggling to get a job as a backend engineer can learn the computer science skills that employers actually want to see in a candidate. My wife was my first student and loves the platform, so I hope you do too.
Boot.dev isn’t just a collection of programming courses, read on to hear about some of the we have opinions about the most effective way for you to learn back-end development.
Computer science skills will set you apart in the job market
People are becoming more tech-literate every day - and that’s a wonderful thing. However, we think simple website development will become the next decade’s “blue-collar” job. Understanding CS concepts like algorithms, data structures, distributed computing, and cryptography will be the way to differentiate yourself as a developer.
You can’t learn to code if you aren’t writing a lot of code
Many new learners end up watching hours of YouTube videos, only to find they’re unable to build the most basic applications when they start a project alone. We think you should be writing as much code as possible throughout the entire learning process.
Follow a clear path that ensures you’re making progress towards your career goals
So many students struggle figuring out what to learn next. There’s nothing worse than wandering around in “tutorial hell”, from programming language to programming language, and framework to framework. We have a linear computer science program that’s designed to prepare you for an entry-level role in backend development.
A great project portfolio and Github profile is better for your job search than a certificate
A degree from a great university helps when you’re looking for work, but they’re expensive and rarely required. Certificates from non-accredited programs usually don’t help much at all.
There’s nothing more powerful than being able to show employers exactly what you’re capable of by having some amazing projects uploaded to your GitHub profile.
It’s a marathon, not a sprint
We disagree with the following common claims:
“Learn to code and you’ll land a developer job in 8 weeks”
“You need a 4-year computer science degree to become a developer”
We think that if you spend an hour or two each day, it will take about 6 to 18 months of learning before you land your first job, depending on your situation. It’s important to have realistic expectations and achievable goals.
It’s not hard to find coding courses online, but it is hard to find good ones
If you’re willing to drudge through thousands of Wikipedia pages, scholarly articles, and blog posts, you can learn anything online today for free. We don’t have 10 different “Data Structures” courses of varying quality - we have one that we dedicate all our resources to improving.
A mix of guided and unguided learning is essential
There’s nothing worse than spending a bunch of time learning, only to realize you don’t know how to apply what you learned to real-world problems.
- We use courses to teach new concepts like algorithms, data structures, and functional programming
- We mix-in real-world projects so you can use those same concepts to build real applications
Mentors provide insights you won’t get from a textbook
It’s important to understand why binary trees make lookups fast, how DNS queries resolve, and what a round-robin load balancing strategy entails. However, stories and anecdotes from mentors will help you understand how it all applies to solving real business problems.
For example, you might learn in a course that PostgreSQL is a relational database that isn’t optimized to scale horizontally. However, from an experienced mentor, you’ll hear a real story about how their company used PostgresDB up until they had 20 million users, and that a specific issue with user notifications forced them to consider a different technology.
There is something magical about learning with others
Similar to gaining insights from mentors, it’s important to have peers at your same level you can learn with.
- The motivation provided by a good group of peers is strong. You can keep each other accountable and moving forward.
- Teaching a concept is the one of the best ways to learn it deeper yourself. You will reinforce your learning on that topic in a serious way.
Mastery is important, grades are not
Students shouldn’t move from one concept to the next until they’ve shown mastery of the first. In traditional schooling, that means only A-students would move on to the next class.
That strategy doesn’t work in a physical classroom because teachers are responsible for 30+ students at a time. They’re forced to leave students behind so the rest of the class can move forward. With a self-paced strategy, you can move at your own pace and master each concept before moving on.
The “return on investment” of online learning is amazing
Tens of thousands of professors across the world are giving the same lecture on “bubble sort” semester after semester.
With online learning, we can take one of the best explanations of bubble sort, and distribute it globally. We can also do it on-demand and almost for free. Paying thousands of dollars for access to well-known concepts doesn’t make sense in the information age.
Be in the “zone of proximal development”
- Don’t waste your time solving problems that you already know how to solve
- Don’t waste your time trying to solve problems that are nearly impossible for your skill level
The zone of proximal development is where you should be. You should be challenged, but not lost. You’ll learn best when “muddling through” hard problems that you have the tools to solve.
T-shaped developers are the most successful
The vertical bar on the letter “T” represents the depth of your knowledge in a specific area, and the horizontal bar represents the breadth of your knowledge across all facets of software engineering.
Your coding skills don’t matter if you don’t know how to show them off to a potential employer
You can be the best developer in the world, but if you’re not able to prove yourself to potential employers you will never find a programming job. Spending time working on your portfolio and resume will make your job search possible. Practicing interviewing skills will ensure a successful job hunt.
If you don’t define your career goals, you’ll never know when you’re ready for your first job
You don’t ever stop “learning to code”. There isn’t a magic threshold that separates the “coders” from the “non-coders”. Your learning path should never truly end, but along the way, you’ll find yourself qualified for different kinds of programming jobs.
If you’re looking for your first job, you’ll move faster by focusing on the most important skills for your goal. If your goal is to become a backend web developer, the things you need to learn are slightly different than if you want to write mobile applications on iOS.
The best first coding job is a full-time gig
Many developers foolishly think that freelancing will somehow be easier than passing coding interviews. That’s usually just wrong.
- When freelancing, you spend lots of time marketing your services. That is time you aren’t spending coding.
- Working a full-time job on a team provides the most valuable thing an entry-level job can offer: mentorship from senior developers.
There are exceptions to this rule, but if it works within your personal constraints and goals, look for a full-time job first.