About Boot.dev - Our Method

https://www.ruanyifeng.com/blog/2022/04/weekly-issue-203.html

初学者经常听到两件事,"八周可以学会编程"以及"你需要一个四年制的计算机学位"。实际上,普通人自学编程,并找到一份 IT 工作,所需的教育时间在这两个时间之间。

如果你每天能够花几个小时学习编程,合理的估计是坚持6个月到2年之后,你可以找到第一份入门级工作!当然,在此之后,你还是需要坚持不断学习。

-- 《如何成为一名程序员》

 

At Boot.dev, we believe humans enjoy learning. We’re naturally curious creatures. And this means it should be much, much easier to become a software developer.

A good diet isn’t just a month of eating less sugar - it’s a lifestyle change. Boot.dev isn’t just a collection of courses and a community of developers, it’s a methodology for becoming the most successful software engineer you can be.

The following principles guide our thinking as we continue to build and develop resources for our community. We update them as we learn.

You can’t learn to code if you aren’t writing code.

Many new learners are lured into watching hours of online lectures and YouTube videos, only to find they’re unable to build even the most basic applications when they start a project alone. Writing real code while learning new concepts is more effective nearly every time.

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. We don’t want to give you ten different “Data Structures” courses by ten different authors. We’ll give you a single option, and update it religiously to make sure it’s the best one.

Mastering CS fundamentals is the best way to differentiate yourself as a junior developer.

Maybe as soon as five years from now any high-school graduate will be able to build a rudimentary web application. It is possible that application development becomes the next decade’s “blue-collar” job. Understanding computer science concepts like algorithms, data structures, distributed computing, or cryptography will be the way to stand out as a developer.

At boot.dev, we don’t focus on the latest hyped-up framework. We teach evergreen skills that will serve you well through your entire career in software engineering.

Traditional boot camps are too fast, CS degrees are too slow.

The coding education world is plagued with clickbait like “You can learn to code online in 8 short weeks” or fake assertions like “you need a 4-year computer science degree”.

We think that somewhere between 6 months and 2 years of learning is a reasonable expectation for you if you’re able to spend a couple of hours studying each day. And that just gets you to your first job! If you stop learning just because you have an entry-level position, your career will stagnate.

It’s not as sexy as pretending we can teach you to code like a pro in eight weeks, nor is it as lucrative as demanding $40,000 for a full degree, but we think it’s the best way. If you’re looking for fake promises or get-rich-quick schemes, you won’t find them here.

A mix of guided and unguided learning is essential.

“Tutorial hell” is when you keep watching tutorials one after another, and you feel like you’re learning a lot, but as soon as the instructions go away you realize you just don’t know how to apply what you learned to real-world problems. We provide guided courses designed to teach you new concepts, then we give you actual projects to build so that you can apply what you’ve learned in a real application.

Learning the “soft lessons” from mentors is as important as grokking cold-hard facts.

Yes, 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, there are a lot of valuable lessons that can only be learned from your coding elders.

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.

Our courses offer a mix of the computer science facts you need to internalize as well as the community of experienced coders to give them context.

Understanding and retaining information is important, grades are not.

In an ideal learning environment, students don’t move from one concept to the next until they’ve shown mastery of the first. In traditional schooling speak, that means only A-plus students should move on to the next class.

This doesn’t work in a physical classroom because a teacher is forced to teach 30 students at a time, so they leave students behind to ensure they can complete their material during the semester.

With online learning, we can allow students to move at their own pace and master each concept before moving forward.

The future of learning is online.

We believe the benefits of online learning drastically outweigh theose problems. Imagine tens of thousands of professors across the world giving effectively the same lecture on bubble sort semester after semester.

With online learning, we can take the best explanation of bubble sort and distribute it globally. We can also do it on-demand and almost for free.

It’s only enjoyable to solve problems that you have the tools to solve.

Solving problems that you already know how to solve is a waste of time. Attempting to solve problems without knowing where to start is maddening.

The zone of proximal development is where we want all our students to be. We give you enough tools and context so that you’re never bored, but rarely confused. We want you to be able to muddle through with the right instruction. The “muddling through” is where you learn most effectively.

T-shaped developers are the most successful.

The vertical bar on the letter “T” represents the depth of your knowledge in a specialization, and the horizontal bar represents the shallow breadth of your knowledge across all facets of software engineering. For example, you can build a strong vertical bar by focusing primarily on backend development in Golang. At the same time, you can build a shallow wide bar by doing small projects in JavaScript, Vue, Python, embedded firmware, functional programming, networking, distributed systems, or anything else that piques your interest.

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, then practicing the interviewing skills you’ll need will ensure a successful job hunt.

We offer all the courses and tools you need to learn to code, but we also have a suite of resources dedicated to helping you get your foot in the door and pass interviews.

If you don’t define your career goals, you’ll never know when you’re ready for your first job.

“Learning to code” doesn’t take a fixed amount of time. There isn’t a magic threshold to cross that separates the “coders” from the “non-coders”. Your learning path never ends, but along the way, you’ll become qualified for different kinds of software engineering jobs. If you’re looking for your first job, you can streamline this process 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 before starting your job search are different than if you want to write mobile applications on iOS.

The ideal first coding job is a full-time gig

Often developers think that freelancing will somehow be easier than passing coding interviews. Trouble is, when you freelance, you spend a significant portion of your time trying to find clients, and that’s time you aren’t spending coding. Second, the best part of working on a team as a junior developer is that you get all of your bad habits corrected by more senior engineers. If you jump right into freelancing you’ll miss out on the best part of junior jobs – the mentorship and experience.

There are exceptions to this rule, but assuming you don’t need the flexibility that freelancing can offer in terms of schedule setting, we recommend looking for a full-time job first.

Let us know what you think

We’re always learning and refining our ideas. If you have any thoughts on our philosophies, we’d love to hear your story. The easiest ways are to get in touch on our Discord community server or to tweet at us.

作者:Chuck Lu    GitHub    
posted @   ChuckLu  阅读(55)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2021-04-15 Windows 10 & 8: Install Active Directory Users and Computers
2020-04-15 mcve and mvp
2020-04-15 log4net encoding problem
2020-04-15 如何调试Global.asax.cs里面的Application_Start方法
2020-04-15 ApplicationEvents.Initialized
2016-04-15 虚拟机中的ip和本机的ip不是一个网段的
点击右上角即可分享
微信分享提示