Mastery of Fundamentals
Duration: 8 - 16+ months
Results oriented and heavily researched learning curriculum designed for a long-term career as a Software Engineer
Mastery of Fundamentals
Duration: 8 - 16+ months
Engineering & Excellence
Duration: 3 - 6 months
Everyone has an opinion on the best way to learn or teach. Ask 10 experienced programmers how to learn to program, and you'll get 10 very different answers. Most people, even seasoned experts, are only aware of their personal journey and do not spend any time thinking about how to craft a path to proficiency for someone starting their learning journey today.
Our pedagogy is a result of teaching hundreds of students over half a decade and combining that experience with proven learning methods by experts, such as Barbara Oakley, Carol Dweck, K. Anders Ericsson, Kathy Sierra, Fernand Gobet, Henry Roediger III, and others.
Most of the confusion around how to learn comes from two major points of ambiguity: 1) not knowing what the learner's end goal is and 2) not zooming out enough to see the learning journey in its entirety. The first confusion usually comes from a vague goal (eg, "I want a job"), while the second is usually the result of not being aware of the different phases of learning a skill. In the following paragraphs, we'll outline how our pedagogy addresses these confusions.
First, it should be pointed out that our singular goal at Launch School is to push people to launch new careers at the best companies possible. Importantly and counterintuitively, it's not about jobs at all; launching a career requires a far more long-term mindset and a much more thorough training process - you have to be willing to learn for years instead of months. Second, the entire learning journey is much more nuanced than most people think, and what and how you study depends on where you are on this journey. We will articulate this idea in more detail in the sections below.
Most learners visualize their learning progression as a path of steady improvement. However, our learning framework, seen above, captures the entire learning journey from the very beginning. We categorize a beginner's learning journey into three phases: Explore, Study, and Professional.
When one first tries to enter any field - cooking, tennis, piano, programming - it initially starts with a process of discovery and exploration.
It's important for beginners to stay here as long as necessary in order to build confidence to tackle "the plateau", which is the next and most difficult phase of learning to mastery. At any point in time, the vast majority of learners are in the Explore phase and most never exit this stage. To confuse matters even more, it's possible to get a job as a programmer even at this stage (at least, that is true for now).
Launch School has many free and introductory materials for learners at this stage, but in general, learners must be beyond this stage to take advantage of the Launch School curriculum. There are a lot of learning resources that cater to students in this initial Explore stage, but Launch School is not one of them.
After the initial high of discovery, play, and exploration, most students who attempt to persist beyond "happy path" tutorials start to realize that there's far more below the surface if they want to become a professional or expert in this field. There is increasing doubt and a proliferation of known unknowns. Sometimes eager learners will try to power through the frustration, hoping that clarity is just the next tutorial or page away. Over time, it becomes evident that if one really wants to understand what's going on to a professional level, the path must start from fundamentals and first principles and requires a slow accumulation of sound mental models each step of the way. The way to achieve that is a structured curriculum and a switch in mindset from that of play and fun to rigorous studying and deliberate practice. This is the inflection point to "the plateau" - the most difficult and prolonged phase of the learning journey to mastery.
This phase is where Launch School shines and where our approach to Mastery-based Learning really enforces understanding of core fundamentals. It's a journey of mastery from first principles with a focus on developing clear mental representations of things that don't change. Because the emphasis is on mastery, we can't be sure how long it takes to get through this stage, but the measurement is usually in "years" and maybe "months", but definitely not "days" or "weeks". It's strongly recommended that you read and watch the video on our implementation of Mastery-based Learning to fully understand how we guide students through the plateau of fundamentals. Typically, a dramatic change in lifestyle and learning approach is required to be successful in this phase, and we spend a great deal of time guiding students through that process and through "the plateau". It's the most difficult learning phase and is what makes Launch School special.
After mastery of fundamentals, the next phase is about applying that knowledge and skills to higher-level concepts. This is where discussions around best practices, design, architecture, and trade-offs can finally happen. This is also the phase where the transition to a professional begins.
Launch School's Capstone Program is built with this phase in mind. The program is highly selective and extremely rigorous and goes well beyond any other training program. Capstone is the admissions-based "finishing" experience for Launch School students. It's instructor-led, team-based, and called "the hardest thing I've done" by most participants. Most Capstone graduates take between 1 to 2+ years to complete the entire Launch School curriculum, from the Study phase (Core Curriculum) through the Professional phase (Capstone). The results bear out that rigorous journey: the average salary for US-based Capstone graduates is over $100,000. (See the Results and Outcomes page for more details)
With our Mastery-based Learning plus Capstone Program pedagogy, you can become a professional Software Engineer, too. But it'll likely take much longer than you think. If you can measure your journey in years and not months, the Launch School pedagogy may work for you.
Take time to work through the three phases, and understand where you are on that journey. If you're looking around and checking things out, just have fun with it and find a supportive community to encourage you while you're getting a feel for what programming is about. When you're ready to study, give the Mastery-based Learning approach a try, and focus on fundamentals with no compromise in understanding each step of the way. That will set you up to take your understanding to the next level when you're ready to tackle larger engineering problems.
Specific learning strategies need to be employed for each phase, and it requires an associated change in mindset and lifestyle. Working through "the plateau" is very different than going through Capstone, so make sure to read about how to approach each phase and read tips from other students as well.
One last thing to be careful about is understanding the difference between "getting a job" versus "launching a career". Though they seem similar, those are two very different and incongruent goals. Our pedagogy is built to help launch careers, which is much more difficult and takes much longer. Our pedagogy only makes sense if you have a long-term perspective and a goal of launching a career as a Software Engineer.
Now that you understand the various phases in the entire learning path and their respective pedagogies, read about the main pedagogy in the "Study" phase: Mastery-based Learning.