Can someone explain the benefits of a hackday. They sound like awful time-constrained development days that result in poor quality code….— Colin Angus Mackay (@ColinMackay) November 21, 2012
… all in the interests of getting something cool created within the allotted (often very short) time frame.— Colin Angus Mackay (@ColinMackay) November 21, 2012
I live in a bit of a bubble when it comes to Hackathons, as most of the people I code with have been to a hackathon and/or appreciate the value of it. But there’s a large group of people who haven’t had the experience, and an even larger general public that thinks it’s a room full of people trying to steal sensitive information. So let’s spend some time discussing the value and appeal of hackathons.
The general idea
The general idea of a hackathon is usually centered around a competition. The concept is teams or individual “hackers” have a set amount of time and usually one or more other constraints to demonstrate an idea using software or hardware. Constraints can include a specific language (like C#), operating system (Windows 8), application (WordPress), API (YellowAPI.com), and/or subject matter (non-profit organizations). Hackers aren’t limited to software developers either – hackathons also attract user interface or experience designers, data analysts, business analysts, marketers, and others.
Hackathons have been around for about 13 years, with the (arguably) first event occuring in Calgary in 1999. Since then, they’ve gained popularity among user groups and “modern” development shops. Facebook, for example, have hackathons on a monthly basis both internally and externally with other companies and organizations, and incorporate them as a large part of their corporate culture. Features such as the “like” button and the facebook timeline have both originated from hackathon concepts.
So what is the benefit of a hackathon? I mostly pitch the hackathons I organize as both a networking opportunity and a community event. It works great because not only do you get to meet and socialize with other hackers that are as passionate as you are, but more often than not the sponsors themselves get directly involved in the event. It’s a great way to get your name out there to both local and international organizations. If you make something cool with the Twilio API for example, you’re all of a sudden on the Twilio radar which is a good place to be.
As a community event it works well. Community events are important to the development culture of a city, because we’re a relatively quiet bunch. In order to attract more skilled workers to a city, you have to make it known that events like this exist. Knowing that there’s a group of passionate developers and the city supports that group is a big factor for some people to move to and work in a new city.
But there’s a few not-so-obvious benefits to attending a hackathon as well. As part of the networking opportunity, a hackathon doubles as a great job interview. A lot of the local sponsors that get involved in HackREGINA do it solely for the recruitment angle. Hackathons are high-pressure environments where you try to get as much done as possible with time and other constraints, and you pretty much have to have great teamwork in order to produce something of value. What better way to see how a potential employee will perform in your office?
One of the other great benefits: it’s a perfect way to vet a business or app idea you have. If you’ve got that idea you’ve been meaning to work on but didn’t have the time, attending a hackathon where everyone else is working heads down for 8 hours is a great way of setting aside the time you need to start your idea. And when you’re done you get to present it to a room full of your peers and, if the hackathon has judges, industry leaders as well.
After the hackathon
A major issue that has come up in the past is the question of “How do we get people to continue with their projects after the hackathon?” Sponsors especially are interested in this, as they’d like to see apps that use their APIs continue and get released. I’ve seen two solutions to this problem.
One solution is having a solid developer program on the sponsor’s end. A major reason that developers don’t continue on with their hackathon projects is a lack of time – everyone is busy with other things in their lives, and the fact that they were able to set aside time to attend the hackathon is a miracle in itself. Spending any more time on a side-project would probably require some funding or other monetary reward, which a strong developer program from a Sponsor can supply. The YellowAPI developer program, for example, fronts teams some ad revenue so that developers can finish their projects. The money is then paid back in API traffic. They also will provide design and marketing support for the app’s launch.
Another solution, which I’m tempted to try out with HackREGINA, is a “second-tier” competition after the hackathon. The winning projects in a hackathon are then challenged to continue their apps and resubmit them 3-or-so months later to be rejudged and possibly rewarded for their progress after the initial hackathon. This second round of judging could review things like code quality, team progress, and if the app has actually been published and used. This motivates teams to continue working and spending time to develop their 8 hour “hacked together” solution to a more robust full application.
All in all, I think hackathons are a great way to meet fellow passionate hackers and really get a project off the ground. Even if you go to an event and fail to deliver on your project, you’ll have learned some valuable lessons and met some great people.