Last weekend I attended the MHacks: Refactor hackathon on behalf of my company. I acted as a representative of my company as well as a mentor for the hackers. I saw a lot of amazing projects and helped a lot of students. The energy of the students and their output was phenomenal. Needless to say, the entire experience was rewarding. However, the more of these events I attend, the more disgusted I become with the process.

Hackathon is a portmanteau of the words “hack” and “marathon.” It’s extremely fitting given that the resulting software is cobbled together by teams who are slowly but surely racing to the nadir of their mental and physical health. Here are my reasons for why hackathons as they exist today need to be banished:

  • physically unhealthy. Hackathons span anywhere from a day to a week in duration. Nothing amiss here. Until, you start realizing the following facts:

    • junk food is provided for sustenance. Coffee, pizza, and chips are the staple at hackathons. Occasionally, the organizers do a great job and offer healthier alternatives. But, these merely supplement instead of supplant the stereotypical programmer’s diet catered at these events.
    • poor hygiene in close quarters. Gather together hundreds of students in a small space and someone is bound to get sick. Shared hardware, space, bathrooms, and serving utensils suddenly become vectors of disease transmission. Then, as the coup de grace, sleep deprive them to compromise their immune systems. Perhaps the only good that can come of this is to provide case studies for the CDC.
    • encourages sleep deprivation. In addition to all the provided stimulants, hackers are encouraged to work through the night. Sure there may be reminders that you should sleep when tired, but why a 24-hour event instead of a 12-hour one then?
  • unrewarding. Despite students pouring out their heart and souls, in the end, the majority do not win a prize. I am a staunch supporter of rewarding participation and effort. If this sounds like advocacy for mediocrity, instead of merit, it is not. Keep in mind the following facts:

    • many projects begin well before the hackathon. There are a lot of teams who bring their existing projects to the party. This is unfair to newcomers who aren’t well calibrated to understand what can be accomplished in a given amount of time. Remember the Dreamforce 2013 hackathon? The winners of that event had been working on their project for 2 years which is not within the spirit of a time-constrained hackathon.
    • salesmanship is rewarded. The rewards are given strictly based on the presentation. Never mind that you solved a really challenging problem. If you can’t sell it, you can’t win it. And often times the winners are those who put together the most polished presentation irrespective of actual execution.
  • too commercialized. Any grassroots efforts to learn, network, and have a great time have now been stifled by corporate involvement. Companies offer prizes for best use of their API or their product. Essentially, if you don’t use a companies offerings, you aren’t going to win a prize. Hackathons are now advertised as events that can generate industry disruptors like Uber. That’s like claiming you’ll be healthy if you run a 5K. The culture of hackathons have been transformed from solving problems to making money.

Can we fix all these issues? How do we foster a healthier and more collaborative environment that isn’t slanted towards commercial interests? How do we reward effort, innovation, or showmanship fairly? Currently hackathons are serving too many conflicting interests. A great way to start fixing this is creating specialized hackathons to separate out these concerns. Here’s my proposed separation:

  • commercial. Commercial hackathons are events sponsored by companies. They center around the specific use of a companies’ API or product. This is most likely a problem that the company doesn’t have the resources to solve. Sure, it may be a bid for cheap labor, but participants will know this up front. Companies can set the rules to meet their needs. It doesn’t matter if you’ve been working on your idea for decades because the company only cares for the value you’re bringing them.
  • competitive. This type of hackathon places emphasis on speed and quality of execution. It’s geared towards entertainment. Just think of it like Iron Chef for programmers: given this set of materials, build me the best thing possible in 24-hours. The problem isn’t given in advance and any use of prior work would call for disqualification.
  • grandstanding. Events where you try to showcase your creations and curry favor from the judges. The whole purpose would be to gain funding for your idea or land a job from the companies in attendance.
  • networking and resources. The mainstay of these hackathons would be to learn. It would be a fantastic event to meet new people and find others with complementary and comparable skillsets to build ideas. Mentors would be around to provide guidance. In addition to human resources, participants would gain exposure to physical resources like hardware.

What’s particularly alluring about this taxonomy is that everyone would have reasonable expectations for attending the events. The first three provide the material rewards and prestige that some are seeking. The latter one provides the mental reward that others seek.

What are your thoughts on hackathons? Leave them below.