“We don’t have formal classrooms or teachers — instead, our students collaborate, share their knowledge, and help each other.”
It’s right on our website, but do we really mean it? At face value, it’s a radical proposition: A school that trains top software engineers without teachers, without lectures, and without the classrooms that all of us grew up and loved (or, reasonably loathed). After all, what is a school without a traditional structure and someone else telling you how to learn?
There, in that last sentence, is why we exist. Software engineering is a new field that lives on speed, flexibility, and iteration. It is a field that is constantly updating, and the best software engineers will have to be able to keep up with the times. And these best software engineers will not have the time to return to the classroom and be taught how to learn another language or technology. The best software engineers will be able to self-train, lead and learn from their peers, and keep up with the rapidly advancing and changing field they’re employed in. Beyond an in-depth knowledge of programming and development best practices, these lifelong skills are a key part of our curriculum, and why we teach our students through project-based and peer learning.
After all, If you do get a teacher in the workplace, it won’t be a lecturer but instead a peer or a mentor, and that’s why we teach our students the way we do.
Let’s dig into each of the pieces of our curriculum and share how they build upon each other to help drive a new generation of software engineers.
Project Based Learning
Traditionally, schools teach (usually with assigned reading and lectures), then test. Pop quiz: How much of this lecture-based knowledge did you retain? Project based learning is the concept that instead of being taught through lectures and tests, students are taught through actually doing the work. Proper project based learning isn’t just “here’s a problem, good luck”. A properly built project based learning curriculum carefully builds increasingly challenging tasks upon each other, with guidance on where or how to learn the skills, but leaving the final quest for discovery and application of knowledge to the students. Through this curated exploration, students are taught how to validate sources, test knowledge as they apply it, collaborate with peers to share their best learnings, and to develop and depend upon their own ability to learn instead of waiting for instructions from others.
The goal is not just to help students learn the knowledge that they will need to launch their careers, but also to maintain their careers through the ability to learn. In this way, time spent at Holberton actually mimics the work environment. Yes, Holberton students know how to code extremely well, but they also know how to sit down, use available resources, and to independently pioneer into new technologies. Companies that hire Holberton students are getting more than just a great developer; they are also getting a developer who can flexibly adapt to new languages and technologies in short periods of time.
Peer learning, or “learning by teaching” is an established method to improve retention and understanding of topics. When students teach other students, they show an increased retention of information and understanding of the core of the material. Through our curriculum, students are encouraged to share what they’ve learned through Peer Learning Days, where students will work cooperatively through problem(s) at a whiteboard. Ideally this process is entirely self-led, but our TAs and staff may step in to provide clarification, challenge students to “teach” back to the staff, or shape the conversation for maximum benefit.
Students will also engage in group and pair projects, where they are placed together to tackle some of our more challenging tasks. Programmers often work as part of a team, and so our curriculum is specifically designed to mimic the work environments that students will find themselves in later on in their careers. Under these conditions, Holberton students learn when to be a team member, when to be a team leader, and how to step between these roles for the maximum benefit of the project they are working on.
Define Your Future
Holberton’s goal is to get people with no prior coding experience into new career that matches their ability. Our admissions process finds those who have the talent to learn without bias. Our curriculum removes the barrier of prior experience. And the use of Income Share Agreements removes the need to obtain credit for our education. We want to find people who have the untapped potential to succeed as software engineers, and train them not only in the core technologies they will use to get their first programming job, but help them develop the core soft and personal development skills that will turn their first job into a lifetime career. But, most critically, everything we do helps students realize their own potential and leverage their own personal strength to become great software engineers, which is why we invite everyone to Define Your Future.