Stop Perpetuating An Outdated Education Model

Self-directed Learning

TL;DR Many code schools perpetuate an outdated education model. Let's shift our focus to the student and move towards self-directed learning.

Shawna Scott’s post on Model View Culture, addressing the false promise of code schools, got a lot of attention recently and reopened the discussion about the inclusiveness and openness of code schools. While we agree this is of tremendous importance, the post does not address the underlying issue: The mentioned code schools are not just perpetuating a bad startup culture, they’re perpetuating a model of education that’s outdated, especially for tech.

An outdated model combined with unrealistic timeframes

Most code schools are modelled after the old-fashioned teacher-in-front-of-classroom model, where everyone follows the same curriculum, reads the same books and goes through the same assignments, at the same time.

This model of teaching assumes everyone learns at the same pace and in the same way. In reality, this is not true, especially for adult learners who come with varied backgrounds and highly specific learning goals.

None of this should come as news. Many modern schools now acknowledge the flaws in the “one-size-fits-all” system and create learning plans that allow for multiple learning styles and paces. It’s curious therefore that code schools, which often claim to revolutionize tech education, have chosen to return to this outdated model.

To make matters worse, unlike traditional schools, code schools operate within a timeframe of weeks not years. So, instead of allowing students to explore the topics they find most interesting, a set curriculum, to be consumed at break-neck pace, forces them into a straightjacket that is rarely (or never) suited for everyone. This leaves very little room for creativity, placing too much focus on getting through the curriculum.

Code schools need to shift their focus. To become meaningful educators, they must stop merely producing code monkeys and pay attention to the individual student. One size does NOT fit all.

Self-directed learning makes great developers

We think (adult !) learners benefit most from any education programme when they shape the pace and focus of their learning. So, instead of creating a learning environment where the student becomes dependent on the teacher, let’s create one where the students themselves are in charge.

Fortunately, that has become easier than ever. It so happens that anyone with an internet connection has access to a plethora of online resources, all meant to teach programming. Lengthy blog posts, hands-on tutorials, programming books, online university courses, videos... and I could go on. Learners are free to explore, to find the thing that motivates them most and dive in. Meanwhile, offline, there’s plenty of co-learning initiatives to accommodate even the most social of learners. In short, there's enough out there to fit any learning style, meaning learners do not have to put up with expensive code schools.

Schools should take advantage of these resources. For one, they could do away with their magic developer-in-three-months curriculums that are only suitable for a small group of people. Instead, with so many structured and unstructured courses readily available online, they can let students set their own learning goals and find their own projects. We call that self-directed, project-oriented, learning. The obvious benefit is that students can tailor the program to their own needs and learning styles. Also, in our experience, learners are much more motivated and learn faster when they are free to explore and be curious and than if they are told what to do.

The importance of coaches

So what happens to the teacher? Can they just sit back and relax, while the students do all the work? What then, is the point of attending a learning programme?

Right now, code schools mostly compete over which curriculum is most efficient at turning someone into an employable coder. It is an easy way to pretend you are providing value: your curriculum is magical, like no one else’s. But as already discussed, the internet is full of great learning materials, so no need for a “secret curriculum”. Instead what programming schools need to focus on is offering an environment that facilitates the learning process. This includes a great working space, a (daily) structure to make sure learners make progress on their goals and above all, amazing coaches.

And when we say amazing coaches, we don't just refer to their technical abilities. An important thing to realise is that one of the hardest parts of learning is the inevitable feeling of stupidity and the anxiety that comes from pushing yourself out of your comfort zone. Having coaches around who get that and are able to help students regain their confidence is as important as having the right answer to the technical question. In other words, coaches should have the required technical skill level, but should also know how to create a safe learning environment. As an added benefit, by having multiple coaches around who are regularly working in industry, learners get exposed to various views and the latest working methods.

How we do it at Hackership

If all this sounds like some hippie-gone-wild craziness, it isn't. As it turns out, it's entirely possible to build an education programme around this model. It's exactly what we do at Hackership, a self-directed learning programme, with experienced and friendly developers who volunteer their time to help you. Think of it as a learning retreat based on a pay-it-forward community effort.

Learners come to us with their learning projects and goals. We then find them coaches who can help them reach their goals, in the broadest sense. These coaches are selected based on their technical ability, but also on their experience coaching students and a passion sharing what they know (no ego’s allowed). In addition, to make sure that we are all on the same page, we have our coaches go through the coaching guidelines.

During the programme, we will continue to check in with our learners. If there happens to be a broader topic that requires further explanation and is interesting for multiple learners, we provide a workshop, or call in an expert. If we find someone struggling we make sure to provide extra support to keep them going.

Generally, our model relies on the fact that the learner is in control of their own learning. We are merely there to help them on their journey. Learners come to us exactly because of this; because we give them the freedom to explore their own topics, in a safe space.


Let's be clear, self-directed learning is not a magic bullet. There is no one perfect education model. Yet, from our experience, students who are in charge of their own learning process are far better equipped to judge the people coaching them and to force schools to take account of their needs. This helps ensure that if a student is unhappy a school will be made aware of this AND be able to provide additional support. Obviously, for this to work, making it easy (and safe) for students to voice their concerns is vital.

We all lead self-directed lives, why not self-directed learning?

Thanks to William Creswell for sharing this amazing picture on flickr, under Creative Commons BY-SA 2.0.

About the Authors

Anouk Ruhaak

Hackership Organiser. Economist turned freelance iOS developer. Former Hackership learner. Currently exploring web development with React and Twisted. Love discovering new fields and topics, which include functional programming, cryptography and security. anouk at Hackership dot org