Hackathons for Newbies
July 22nd, 2014
This past weekend, I participated in a hackathon for the very first time. Several of my coworkers, friends, and I teamed up for the AngelHack event in Silicon Valley at the NestGSV innovation center. Our mission was to develop an application in less than twenty-four hours. After submitting our application, we had three minutes to present our application to judges for the chance to win prizes. Although we didn’t complete our application by the cutoff time, we did manage to get a good start and, more importantly, we gained some valuable experience.
What is a Hackathon?
Basically, a hackathon is an intensive software development session that typically lasts for one or two days. It’s a giant convention that brings people together from different backgrounds and skill sets to accomplish one objective: develop a software application (a.k.a. “hack”). Like a marathon, it has a competitive element. Like any other kind of convention, it’s a giant gathering of enthusiasts that share a common interest.
There are mixed opinions on hackathons. “Hacks” are quick-and-dirty “solutions” rather than carefully-designed products. A weekend is hardly any time to conceptualize, build, debug, and test a full-fledged application, but it is a way to pitch great ideas. The majority of people that go to hackathons are not going to win any prizes or accolades. Many people are there just to learn and have a good time.
Why should a newbie attend a hackathon?
There are many good reasons to attend a hackathon, especially as a beginner.
Attending a hackathon can be an exciting way to learn about software development at any level. At the AngelHack event I went to, there were several “breakout sessions” for experienced programmers as well as those who just wanted to get their feet wet. For beginners, there was a meeting called “Into to Programming.” For intermediate programmers, there were breakout sessions on mobile app development for various platforms, namely the iOS and Android operating systems. There were also several meetings for those interested in utilizing various APIs (application programming interfaces). APIs allow developers to integrate the functionality of existing services into their app. For example, you could go to a breakout session to learn about Dolby Audio APIs if you wanted to improve how your app processes audio data.
Attending a hackathon is a good way to grow your professional network and show off your talents to prospective employers. Many of the hackathon winners go on to work for the companies sponsoring the hackathon. Even if you don’t go compete, working collaboratively with friends on an app, even if it fails miserably when it’s time to present it to the judges, is invaluable work experience. By working collaboratively on developing a piece of software, you get to refine your technical skills as well as your “soft skills.”
In many ways, sitting at home alone to code is much easier than sitting in a large convention hall full of loud, sweaty, and possibly drunken programmers and trying to get an app completed under a tight deadline. Sleep deprivation, differing knowledge backgrounds, and differences in opinion can make it hard to get an idea off the ground. My experience at the hackathon taught me the importance of preparing with my team beforehand rather than waiting until the last minute to get started on our wire diagrams.
Last but not least, hackathons are an opportunity to have a lot of fun! It’s an excuse to stay up all night, socialize, and go someplace new. A hackathon is, quite literally, a party full of people who share a passion for technology. At the hackathon I went to, there was an arcade, pool table, delicious food, and free massages. There’s something just really special about being in a giant room full of people pulling an “all nighter” on an assignment minus the grade. There are no losers in a hackathon. There is competition, but it’s all quite friendly and freestyle.