Ask HN: Do you attend Hackathons?
I spent another weekend in a Hackathon (T-Hack 2015 at Sao Paulo). Just like a real marathon, I don't run to win, finishing one is already a victory.
What saddens me is seeing this kind of event putting off real hackers (some friends stop attending because of this) by weighting too much on the "business" side of the project.
There are already plenty event formats like StartupWeekends, DemoDays and other pitch contests for the hustlers among us.
I'm guilty of that as well, I helped organizing the FIESP Hackathon this year (probably the biggest one in Latin-america with 200 contestants) and I don't think the better hack won.
Do you attend Hackathons? Do you feel most events are more Hustlathons than Hackathons and what can we organizers do in order to amend the situation?
13 comments
[ 2.9 ms ] story [ 31.6 ms ] threadThat being said, I personally don't enjoy them. Free food is great, but I would much rather be working on one of my long-term projects. Also, I think hackathons are targeted a little bit too much towards newbies, rather than experienced devs.
I don't want to encourage "crunch work" and so I stopped paying attention to Hackathons entirely. Life is too short to burn so brightly on weekends for projects that mostly don't matter. I do worry that Hackathon culture encourages more bad software business cultures that think that they need crunch or can survive on crunch and that "everybody is doing it".
My answer to hackathons is doing an hour here and there in my spare time.
I'm also at the point where the sorts of things I do that meet the Hackathon role in my life at this point, particularly because I think they should fit spare time and not eat up my focus or impact my day job, I'm tending towards at least a fortnight deadline (two weeks) and often more like month (things like NaNoWriMo in particular have captured my attention). I do think that is a bit more sustainable. I've also sort of tried to brainstorm up for what I think a good sustainable "jelly" (slower than a "jam") might be and it would probably be something like fortnight sub-milestones towards a month or two project. Of course, I'm still not sure how you keep that from feeling like an unpaid internship, but maybe I'll figure that out at some point.
Stuff like: http://hackforchange.org/
I have to agree with some of the detractors here, though. If a major company sponsors a hackathon or game jam, I immediately get suspicious. Anything offering venture capital or business deals to the winner, I think it will be a "pitch-athon", and I've seen the winners be those with the best pitches, not to those with the best implementations or even best ideas. I've seen hackathons go sour from bad faith in prize money (see https://medium.com/@aliciatweet/the-dirty-secret-behind-the-... for one example).
Having said that, I join the Global Game Jam every year, and partake in several other game jams and hackathons. Dedicating a weekend to a play project, something I plan to never look at again, is an outlet for creativity and fun that I just can't find elsewhere. Sometimes I'm lucky and I'm so impressed with what I've done that I end up submitting to the app store, or otherwise sharing with the world, sometimes it's embarrassing and I never talk of that again. I've worked with a wide variety of people using technologies I've never used before.
The easiest way I think to prevent "hustlathon" is to simply not have prizes nor sponsors. Although I don't completely avoid hackathons of that nature (and hackathons without sponsors are rare, someone donated the space if nothing else!), it is far too common that some company wants to dictate what the technologies used are in a hackathon. Prizes that are "we will offer venture capital" also quickly lead to hustlathon. And a lot of times terms and conditions can approach the offensive.
Anyway, I think more than just students can learn from and enjoy hackathons. And all the comments focusing on the food? When I hosted game jams I didn't offer food! You aren't required to eat bad food.
My mindset from the beginning is that I won't work on the project at all after the 24 hours allotted. It's a throw-away project. This is really freeing. You don't have to worry if the code is messy, or even if there is a fundamental problem with your idea (game mechanics, etc.)
My goal is to pick a new technology or library to learn and build something with it. Once, I decided I wanted to learn how to use OpenCV, so I made a little game that is controlled by facial tracking. Another time, I had just bought some USB Nintendo 64 controllers, and I wanted to make a game that used them, so me and some friends made a local multiplayer fighting game. (The projects almost inevitably end up as games). Another project we made a multiplayer game with WebSockets to fiddle with lag compensation and clock synchronization. I learned a ton of distributed systems stuff in that short time. Sometimes, the technical problems take all time, and the finished game just barely counts as playable. Getting OpenCV bindings working with Java took nearly 8 of the 24 hours. Another project, using WebRTC for a peer-to-peer multiplayer game, only came together in the last hour, and stretched the definition of game so much that we won a special award "for challenging perceptions of what games can be" :).
It doesn't really matter, because my goal isn't really to make a great game, it's to force myself out of my comfort zone to learn something new. The game is incidental, really. Sometimes, the judges are looking for something more polished, or more business oriented. That's OK -- the game isn't for those judges. I only invested 24 hours into it. However, I've been pretty lucky, so far -- most hack-a-thons I've been to really celebrate true hacks.
I think one thing organizers can do is emphasize the process of writing the code, rather than the result. Ask what challenges the teams faced, the hardest bug they fixed (or didn't :). Near the beginning, try to offer workshops on different technologies, so that people can branch out and try something new. You can also offer categories of judging -- if there is only one category, it's hard to decide between an awesome business idea with little technical innovation and an awesome technical achievement with little applicability. No matter which one you pick, someone will be disappointed. But if there's a category for best game, best presentation, best app, most innovative, best technical achievement, or whatever categories you pick, then everyone at the hack-a-thon can participate however they like best, and be recognized for it.
I think that CS/Engineering students should attend a couple of events like this. Everyone should get exposed these (worst) aspects of the trade before hitting corporate world. (Stress, deadlines, team-work, conflicts, unfairness, etc...)
I only one once (the last time I attended) and that because I learned how to "play", putting more on the presentation and looks of the app than consistency or code quality. I basically made a demo not an app, and it won. This is why I stopped going.
[Edit]:
I know people that come with pre-coded modules for hackathons (especially in mobile dev), they copy-paste the codes and projects and just change a bit of the UI. They win every-time.
Unfair? Yes. But they hacked the hackthon system and they win, so good for them.