After winning two hackathons in Berlin (HPI Data Analytics and Machine Learning Hack) and in London (Open Bank Project HacK) this summer, I think it’s about the time to write an article about hackathon. The topics will consist:
- What is a hackathon?
- How can I attend a hackathon?
- How can I win a hackathon?
- What should I do after a hackathon?
What is a hackathon?
If you are reading my blog, you probably already have a vague idea of what a hackathon is - a marathon like event for hackers to build awesome projects over a short period of time. A hackathon can last from a day to a week, a hackathon can have a specific theme or allow you to build anything you want and a hackathon can have from ten-ish to over one thousand participants.
For the first timers, going to a hackathon might sound intimidating especially when you don’t much (yet). Sometimes, you just have to make yourself uncomfortable in order to learn quicker. My first hackathon was JacobsHack at my home university, one month after I started college. With some web development (mainly HTML+CSS) and a little more than AP computer science level Java, I dived straight into helping to build a Scala web framework. To be honest, I didn’t contribute much, but the learning environment was absolutely superb. During that weekend, I did my first Github commits to the project that was not mine, I did my first terminal commands and did my first pitch for a coding project along with many other first time experiences. Oh almost forget to mention that it was the first time I pulled an all nighter to work on a coding project (A skill that all hackers must learn).
In a hackathon, typically you will be working as a team and there are different roles in a team, lead developer, front-end, back-end and perhaps a designer too.Playing different roles will teach you different things. Whatever you do, you will learn a lot.
You should also be aware that there are different kinds of hackathons out there. There are the ones that allow you to build whatever you want and there are the ones that have specific theme you will need to follow.
How can I attend a hackathon?
Going to a hackathon is most of the time easy. There are several types of registration processes: admission based, random draft, and first come first serve. For the larger and better organized hackathons, they typically will require you to fill in some kind of application forms so that they can have a diverse group of people, but in general, the organizers make it very easy to register. To find what hackathons are out there, you can simply look through these webistes:
One nice thing about being a hacker is, the big hackathons will try to cover your travel costs, food and accommodation. Is there anything better than free stuff? (Please email me if you know the answer) So do look through the FAQs when you register for the travel reimbursements.
Of course there are plenty of notably Hackathons that have good atmosphere and organization. Going to any one of them won’t disappoint you. The following is just a list that comes across my mind:
- PennApps: the first student-run college hackathon.
- MITHack: how can you get more geeky than MIT and it even has a puzzle that people can solve to ensure their spots every year.
- OxfordHack: hacking in one of the oldest universities is a good experience.
- JacobsHack: an ultra international hackathon the largest student-run hackathon in Germany.
These hackathons are all popular and application based. So if you want to go to one of the above, you’d better plan your trip several months earlier and fill in the application carefully.
How can I win a hackathon?
Although learning is the most important thing in participating in a hackathon, it doesn’t hurt if you can also win something along the way. To me, winning a hackathon means two things: having a half-baked project and having a good team. Let me explain why these two things are important.
A half-baked project is the key
Oftentimes, we hear business people say,
I have an idea, but I just need someone to implement it. I always raise a red flag for this statement before going any further. Especially for an event like hackathon where you don’t get much time to think through your ideas. Even if you have a fantastic idea, but you might later find out, it is technically impossible, and spending time debating over project ideas can be costly given the limited amount of the time you have.
A half-baked project can be something that has been partially implemented before the hackathon and all you need to do is to finish the rest. It could also be a throughly research project idea that is possible and within the time frame, one can build a functional prototype. In the end, each team is supposed to present its idea to the judges and nothing is more convicing than a functional prototype.
The team chemistry will make the magic happen
Once you know what you want to build, you will probably want to have a small group of people that you can work with. It is important to have people of different expertises on the team so in the end, you can have a well balanced project to present.
More importantly you want to have fun. What I usually do is to attend those pre-opening sessions and join the online group chats in advance, primarily to hunt down people that I think I can work with. Maybe one or two other teammates of yours are not the best coders, but they perhaps are very energetic and can pomp up the spirit when the hack has been long. In addition, having someone who you can agree with gains you more time in doing the work than merely debating over what matters and what not.
Lastly, make sure to practice your pitch before the presentation. I know you might just want to finish up that one single feature before everything ends and I know you are really close to get something done, but when it comes to presentation you want to have rehearsed the pitch at least three time beforehand for two reasons.
First, you only have a limited amount of time, if you don’t practice you don’t really know how much you can cover and there are teams who have built something great but run out of the time for their demos which is a pity.
Second, you want to impress the judges. Not many people will actually look at your code base and evaluate how good your code is and thus all the judges know about is what you tell them during the several minutes presentation.
What should I do after a hackathon?
Make sure to exchange contact info with the people whose work you admire and the ones that you might collaborate with in the future. I found it particularly fun to engage more with those people who are excited about technology and who share similar mindset and stay connected afterwards.
Also, the project you build over a hackathon might have lots of hacky code. If you want to work on it more, remember to optimize and make better documentations. Put it on Github and let more people know about your work.
Finally I want to say going to a hackathon is a great way for learning and make connections. You might not win prizes all the time, but the experience is always rewarding.