When I think hackathon, I envision, meeting under on roof, different people with different skill-sets and ideas for one purpose. Build something awesome.
As much as hackathons are a competitions, there is a lot to learn from them. More especially from the people who go there. Be it a new technology, a new methodology or a adding to your already existing knowledge of something, hackathons are a great source of knowledge.
If you have not been to one, this is how they generally work. Some prize is put up, sometimes money, sometimes startup support, other times “coaching”(these suck). You get there, some task or problem is introduced. The team or person to implement the best solution by the end of the allocated time wins. Times vary, it could be a 12 hour hackathon, or a weekend one, or anything else really.
Most people associate the term with breaking into some secure system, when really the term hackathon is generic. It can be a hackathon to build an app, website, a technological solution to a problem. Anything really, including breaking into a system. Whatever the case may be, it is an adrenaline filled social event filled with people who aren’t socialites. But people “click” because of the common goal.
From the hackathons we have been to, it is very easy to conclude that most hackathons suck. These would be the hackathons the eregardless team has been to. Be it hosted at varsities, dingy back-rooms in old buildings or at company offices. There are a few things lacking when it comes to hackathon planning in South Africa(or Gauteng rather).
What do we think a good hackathon should have? I am glad you asked. Here is a simple list of things to do to have an awesome hackathon.
1. An awesome prize(duh)
If you want people to stop what they are doing, come to your hackathon and build great things on their time, you better have something worth it. Yes, there will be people who come to learn, but you also want to attract the people with skills that the people who want to learn can learn from. The best prize is definitely cash, cold-hard-cash. So dig deep and step up the prize money(2nd and 3rd should get something too)
No one wants to spend an entire night or weekend coding on an empty stomach. Make sure your event has a lot of food. No developers has ever said they eat pizza only, so get a variety of foods, including fruits, snacks and anything edible. Just make sure there is a lot to eat(we love food)
3. Caffeine(drinks for the weaklings)
I am sure you have heard of the statement “Programmer : turns coffee into code” or a variation of it. make sure you have coffee(preferably different kinds), drinks, water, tea etc…we need to keep hydrated from the caffeine dehydration…balance!
4. Internet connection(no Wi-Fi? go die!)
This should be number 2, but yeah, who cares, it’s on the list. No hackathon should be attempted without a proper Internet connection. Where do you expect us to Google(DuckDuckGo) 80% of the code we will use to build whatever it is you want? On a serious note though, hackathons serve as a good time to try something new, like new tech or plugin or whatever and to find solutions on the spot. The Internet helps with that, so make sure you have a healthy connection and everyone can access it
5. Clear target and rules
It sucks when you build something and the end the client is like “well, this is not what we wanted”. Make sure you know what you want the contestants to build, also be specific if need be. Don’t give them some vague spec then have issues at the end. Clearly define what you want, and if you have certain preferences about the tech you want used, make that clear. However, don’t be against someone trying something else, ask if there are benefits to what they are using. Interact with the contestants throughout the hackathon, ask about their progress, check if they have all they need and encourage the use of open source(obviously)
Overall, make the hackathon environment a sanctuary for people who are coming there, and let them do their thing. You would be surprised at how much can be accomplished in a few hours give then right conditions1