Bakers succeed in making good bread after years of practice.
Software is also a craft, and it’s by practicing that one will master it. I learned this all along in my career, first as I was studying Software Engineering in a university, I realized that I learned the most when working on technical side projects and during my internships, not while attending lectures. Once I was working in the Tech industry, I met plenty of talented Software Engineers who were self-taught, they learned by practicing. Eventually, I realized there was a name for this, Progressive Education, and understood that this was the best way to become a highly skilled Software Engineer.
Software Engineer wannabes often think that there are two possible ways to get into the Tech industry: universities and coding bootcamps. But few know that there is a third option: progressive education. The methodology emerged at the end of the 19th century, its emphasis is on learning by doing, problem-solving and critical thinking via a hands-on project-based curriculum.
This methodology is the opposite of education as we know it is — passive learning where students learn by attending lectures given by teachers, and reading specific coursework and text books. They have to absorb the knowledge that is orally given and read and a few weeks later spit it out by passing an exam. Progressive education is flipping the situation. Students are given projects and challenges to solve, they work in groups and go find the knowledge and learn the tools they need to reach the goal. Very much like Software Engineers do in the industry.
Holberton, a 2-year alternative to college, is training Full-Stack Software Engineers using Progressive Education techniques. It’s a style of learning that fits people who like to learn by doing and dislike rote learning memorization techniques that are not stimulating. On top of learning coding and problem solving, students also develop an invaluable skill: the ability to learn for and by themselves. In this type of education there are no formal teachers, but instead knowledge facilitators. They are not bringing students the knowledge that needs to be memorized on a silver platter but instead they assist them in developing their problem-solving skills to reach their goal.
Progressive education also puts a strong emphasis on social skills: students help each other on projects and share their experience and knowledge with public speaking and technical writing. They form a community that is both helping and getting helped so that every individual is progressing. Holberton community is a great example. It is composed of students, school staff and experts from the Tech industry who are regularly meeting and collaborating. Mentors coach students who eventually end up being hired at their company.
The curriculum is Full-Stack, meaning that it covers all the basics that any great Software Engineer must know. From Computer Science knowledge with algorithm and data structures to high-level programming languages by building web applications and APIs to system administration by designing and administrating servers hosting the code students built. After 9 months, students have the basics to find an internship, but most of them find a job. At the end of the 2 year program, students also specialize in a topic of their choice, making them highly desirable for Tech companies.
On a typical day at a Holberton, students are working on projects that might be one or multiple days long. Achieving projects is a blend of personal work where students have to find documentation about the topic and collaboration with their classmates, staff members, and mentors who are people working in the Tech industry. There are often times public speaking sessions, where the speaker is either a student or a mentor from the industry, the topic goes from technical live coding session to a Q&A session about their professional experience.
Holberton students are team players — the type of professionals today’s companies need. There is no such thing as a successful company where the jobs are all done by one individual, it’s about teamwork and teams can only go as fast as their weakest link, that’s why collaboration is crucial. Students who became Software Engineers via a Progressive Education learn by working in groups, they learned from senior peers and coached junior ones, making them the perfect team player.
Progressive Education brings students the right balance of hard skills like coding, social and problem-solving skills while developing their growth mindset. Students are getting started on a lifelong learning experience that will allow them to continue to professionally grow. Holberton is the first school in the US to provide this type of education for Software Engineers. Holberton students intern and work in Silicon Valley companies like Docker, NASA, Dropbox or Apple.
Ultimately there isn’t a type of education that will fit them all, it all depends on one’s goal. To summarize, Colleges is a long and academic training good at training PhD who will get into the research industry, coding bootcamps is a fast training focusing on specific tools producing Junior Developers, and Progressive Education is training the next generation of highly skilled Software Engineers.