We use cookies on this website to make it function correctly and to achieve the purposes illustrated in the cookie policy. By continuing to browse, you agree to the use of cookies. Cookie Policy

How a mastery learning approach opens up software engineering to more people 

Hack Reactor

Two people at computers

Anyone with the drive, desire, and resources to do so can become a professional software engineer. Finding success in this field has more to do with access, sustained practice, and disposition than anything else. 

For too long, this has been misunderstood - and with good reason. The stereotype of singularly focused people hacking away on computers in dark basements for hours still holds a lot of sway. Additionally, systemic educational roadblocks have kept many from considering software engineering as attainable or viable, leading to the belief that coding is for a select group of people with a select set of skills. 

This isn’t true, and in an effort to create a wider pathway into software engineering, we launched our new 19-week Software Engineering Immersive with JavaScript and Python for people with zero coding experience who might not fit the stereotype. By design, this program meets students where they are and gets them where they want to go using a mastery learning approach.

As educators, we’re constantly trying to make learning experiences better for more people. We’ve seen too many folks not try at all, or try and fail, because the pace, intensity, and design of other programs aren't a good match for where they’re starting out (zero coding experience). We see this as a challenge, and with our new program, we’re taking it head-on.

This program is different from others on the market, and different from the other programs we still offer here at Hack Reactor. While there’s a valuable place for programs like those, which often compare their pace to “drinking from a firehose,” our 19-week program is not like that. Instead, its design, speed, and starting point are meant to help the beginner reach their goal of becoming a software engineer, increase their odds of success, and de-risk the bootcamp experience, which has thus far been intimidating and unapproachable for too many. 

Mastery learning and how we put it into practice

Mastery learning maintains that students need to master the material before moving on to new ideas, concepts, and technologies. This includes developing foundational skills, putting them into practice, and reframing the idea of “failure” (seeing it less as a lack of ability and more as an opportunity to continue focused study and try again). 

In practice, our curriculum follows the mastery learning model in three distinct ways: 

  1. 9-Nines Class Schedule
    Our class schedule consists of nine nine-hour days every two weeks. The tenth day is a day off for students to review their work and practice the material. It also provides a quiet day of reflection, a powerful metacognitive tool for learning.

  2. Module-Based Learning
    The program curriculum is divided into topical, multi-day sections grouped into (3) six-week modules and (1) one-week module. To monitor progress, we use quizzes and peer reviews throughout the course, as well as projects and assessments at the end of each module.

  3. Ability to Retake Modules
    At the end of each learning module, we support our students through projects and assessments used to measure their progress. When a student shows that they have not yet mastered the material, they can retake the module in its entirety one time with the next cohort in order to have enough time to really dig in and master the material before moving forward. In this system, a retake is not punitive; rather, it’s a planned element without attached stigma. In fact, those who retake a module often play a valuable role in mentoring others, because they’ve already been through the experience and are more familiar with the material. 

Our goal, and our hope, is that this program helps dispel the myth that software engineering is only for a select few. It’s for everyone, including you. Through mastery learning, you can become a professional software engineer doing impactful, exciting work at companies and organizations around the world. 


Want to learn more? Read about our Software Engineering Immersive with JavaScript and Python here, and learn about the admissions process here.