Wednesday, 07 May 2014 at 2:17 pm

It's over. This was the thought that went through my head as I walked out of hacker school's front door around midnight. Having had a few drinks in the preceeding couple of hours as part of the end-of-term party, my steps were heavier than normal.

What is it?

Hacker school is a three months programmer's retreat where a group of like-minded and motivated people are gathered in a room to learn as much as they can about programming. This is not unique. Organized workshops and retreats exist for many professions and careers. However, what makes hacker school different from others is its singular devotion to learning and community. The more cynical among you might question the organizers' sincerity, as there are obvious secondary motivations in the form of recruitment fees for the organizers and landing a job in the tech industry for the attendees. Take it as you will, I did not find these practical motivations to be obstructive during my stay.



I have met a lot of unique minds in both academia and hacker school. I have realized that intelligence, in terms of the ability to understand concepts, is a dime a dozen. There is nothing special about innate intelligence. I would even go so far as to say (anectodally, of course) that everyone (with the exception of categorical geniouses) are at around the same level of intelligence with an insigificant amount of variance. It is how that intelligence comes through our personality that matters.

What hacker school organizers do extremely well is in picking the right personalities. This does not mean they only pick genious programmers or extremely passionate people (although there were plenty of these people). They pick people with personalities that are conducive to a great learning community. There are no outlandish egos or "brogrammers" at hacker school. It is a safe environment where rigourous exploration is emphatically encouraged. I don't think I can distill all the people I met at hacker school down to a few sentences or a blog post. All I can is that it has been a genuine pleasure to have shared 3 months of my life thinking with these people.


The organization (or lack thereof) of hacker school encourages free-form learning. Academia, by comparison is very structured with committees, advancements, thesis, etc; and as a result of this structure, the learning is more focused. Both hacker school and academia sit somewhere on this spectrum where the polar ends are focused and free-form study. Where on the spectrum someone belongs is dependent on personality. The sweet spot, like many things, is probably somewhere in the middle.

That isn't to say that hacker school is entirely devoid of structure. Each hacker schooler is assigned to a check-in group which changes every 2 weeks. Check-ins are done every morning where group members describe what they have learned the previous day and what they plan to do during that day. The effect of check-ins is that each person gets to reflect on their progress and also potentially help other hacker schoolers.

On the more practical side of things, every Friday there is an optional jobs workshop where common computer algorithms and problems are introduced and hacker schoolers are encouraged to study the topic. To foster community within the current batch of students and also with previous batches, there are plenty of organized social events like game nights and seminars.

The single stand-out feature of hacker school is its social rules which are prominently displayed both on its website and in the workspace. The gist of the rules is to not be an asshole: don't act surprised when someone don't know something; don't nitpick on subleties that don't contribute to the conversation; don't jump into other people's conversations if not asked to. These rules set the tone for the community and makes the environment a safe place to ask questions and discuss ideas.

Closing thoughts

What have I learned from hacker school? I am not going to exhaustively list the ideas and concepts that I have gained. I will say, however, that I have learned that learning can be done efficiently as a collaborative experience. Learning something by yourself is admirable and necessary in many situations. But collaborative learning can result in a richer and faster understanding of the subject matter as you are able to perceive the knowledge from its many facets.

In retrospect, the only regret I have, not surprisingly, is something that the hacker school organizers warned us at the very beginning: not pairing enough. For me, it is not just the sharing of programming techniques and art that you gain during pair programming. It is gaining new perspectives on the problem at hand. Hacker school consist of a wide variety of people from all walks of life (musician, freelance traveling programmer, ex-Chinese language professor, earthquake scientist, academics, financial data scientists, precocious teenagers...). This diversity results in a rich pool of ideas and perspectives that can be accessed through a common interest of programming. My advice to any future hacker schooler is to engage in conversations with other people as much as possible. Do not be afraid of bothering others. Your fellow hacker schoolers are often more than happy to share their excitement or perspective on a topic.

The hacker school organizers have said on numerous occasions that hacker school is an experiment. If hacker school is an experiment, then it is a successful one. I will miss this community. I realize now that perhaps it wasn't the drinks that made my steps feel heavy that night.