Why We Do What We Do

We spend a lot of our time working on NUS Hackers. Sometimes so much that we have to fight to balance it with our schoolwork. And we do this for no co-curricular points, whatsoever.

Here’s an interesting question to ask: why do we do what we do?

There are two answers to the this question. The first - the simple one - is that we do it because it’s fun. Hackers take pleasure in building things. We’re no exception to this: we enjoy creating things for people to use (or really just creating things that we think are cool, and then showing them off to our peers). It’s the same sort of pleasure you get when you make a birthday present for a friend, and you see the delight spread over her face when she takes it out of the box.

The more complicated answer is that we think a hacker culture is the most important element one can have in a tech community. That’s an audacious statement to make, on the face of it. It implies that without a hacker culture, you can’t foster superb technological innovation; that institutions won’t produce the best programmers they might potentially be able to produce; that you can’t really do great tech startups. But why do we think this is so?

The Importance of Hacking

Every great innovation that has happened in the history of computing has happened in the context of a hacker culture. Either it began as a small project, started by the hacker with a habit of starting small projects, or it came from a condensation of hackers in the same space, working with each other on similar ideas.

You don’t have to look very far back for examples of this effect. Ken Thompson invented Unix on the side because he was sick of working on Multics. (His friend, Dennis Ritchie, helped him with his Unix project and so created the C programming language).  Later on, in the same tradition, Richard Stallman wrote the first components of the GNU operating system in response to the diminishing hacker culture in MIT, and Linus Torvalds wrote the Linux kernel at 21 because he thought it was cool to have news on display in the terminal in his bedroom. Steve Jobs and Steve Wozniak started out selling hacked Blue Boxes. Bill Gates and Paul Allen thought they would invent and sell new programming languages.  Mark Zuckerberg hacked together small, cool projects in his spare time before launching his social network. (All five came from hackerish communities - the first four from computer clubs). The list goes on and on.

Ken Thompson and Dennis Ritchie at the PDP-11 in 1972 Ken Thompson and Dennis Ritchie at the PDP-11 in 1972[/caption]

Something important, it seems, happens when you put a bunch of hackers together in a communal environment. Part of it is that hacking in itself is such an important part of being a good programmer. In the same way that people who love to draw tend to draw better than those who don’t, hackers love to program, and so they tend to be better at it than those who merely code to pay the bills.

It would seem that if more people were to get hooked on hacking, we’d get better programmers. And this is true - it is one of the reasons we’re so interested in spreading the hacker culture in NUS:

Spreading the hacker culture = more hackers = better programmers in Singapore.

But there’s an added element at play here: because hackers start so many projects for the fun of it, over time they’d begin to learn from the failures. Hackers tend to have a better idea of what works (and what doesn’t) when building software for people to use. It’s no coincidence that many of the best startups are done by people who have a history of building things for fun. Hacking, as it is, is a hobby that very quickly shapes the way you think about products and markets, a nice side-effect of wanting as many people as possible to use the cool things you make in your spare time.

Hacker Culture as Catalyst

So if hacking were so important, what’s the best way to see it spread?

We think the answer to this is rather straightforward: create a community of hackers. Both MIT and Stanford have existing hacker communities, and it’s rather easy to hack with the support of a community (it may also be an explanation for the high level of technological innovation there, but that’s just idle speculation on our end).

We usually refer to this community of hackers as ‘a hacker culture’. Almost everything we do as an organization is to create, advance or spread this idea. And we think that there are a couple of added benefits of hacking in a community, as compared to hacking without one.

The first is economical: if hackers tend to be better programmers than most, then Singaporean companies (or more importantly, Singaporean startups, where quality of talent counts the most) would have a better available pool of talent. As much as traditional hacker culture is opposed to close-minded money-making and crass commercialism, the fact remains that great companies are limited by the quality of the engineering talent they attract. And it’s also no coincidence that both Google and Facebook are built from the ground-up to be as hacker friendly as possible.

We’re interested in this because most startups, out of necessity, tend to be hacker-friendly. And more successful hacker-friendly companies are a net-win for all of us.

The second reason: if we think of programming as the act of translating your ideas into code, then the best programmers are the ones who are not only good at translation, but who have the best ideas. Putting hackers together is one way to get good ideas. Putting hackers together who are all working on different things usually works out to be the best way to get good ideas.

The Why

We are interested in spreading hacker culture for most of the benefits we’ve outlined above. We think that a hacker culture creates better engineering talent, because people who code for fun tend to be better at it. We think that if you cluster hackers together, you get these beneficial effects faster (the same way some teachers encourage studying together, so as to maximize the peer pressure to do well in school). We think if you have a high enough density of hackers, you get better ideas, because no two hackers look at the same engineering or social problem the exact same way.

Our motivations aren’t entirely selfless, I must admit. Some of us are doing it because - while we love programming - we want to get better at it. Some of us are doing this because we’re also doing startups of our own, and what better place for inspiration than a hacker organization? Still others want to share this incredible hobby with others - because hobbies tend to be more fun when you have people to share it with (ask any golfer and he’ll probably tell you the same).

Will we succeed? Maybe. Maybe not. Either way you look at it, we love what we’re doing, and we think it’s worth giving it a try.