Done is better than perfect. No matter for learning or winning, aim to finish.

By Michelle Sun (Student, Hackbright Academy)

Last weekend, I attended my first ever hackathon and with minimal expectation, had a blast out of it and learned loads. My team did not win, nor did most of us slept at the event, but we got a lot out of it.

The hackathon, DevelopHer, was organized by LinkedIn, claimed to be the first women-only hackathon. The schedule was well thought out with a few sessions that made the hackathon really fun.

Aside from yoga and cupcakes, I believe there were a few things I am glad to have (or would have) done that made my experience worthwhile:

  1. Decide what you want to get out of it.Before attending the hackathon, I found the idea of building something over night both exciting and intimidating. Most of all, it was my first hackathon; I was only two weeks into my Python course, and was not sure if I learned enough to contribute.

    Essentially, there are three main motivations for people who attend hackathons; to learn new technology, to meet new people, to win a prize. With prizes sometimes as attractive as a iPad3 or MacBook Air, it is natural that some attendees have the “in it to win it” mindset. Given it was my first time, I decided to treat it as an opportunity to learn and meet people.

  2. Attend with an idea.

    Regardless of the motivation, I recommend going into the hackathon with an idea or two. I joined a group where a new teammate came up and suggested her idea which everyone turned out to love and decided to hack away on it. I can only imagine how awesome it feels to garner the support of a whole team to work on your own idea over night. You never know!

    We decided on making a dress exchange platform (akin to 99Dresses from Y Combinator), which came from the idea that many girls have 2 to 3 really formal dresses which can only be repeatedly seen in front of friends for a limited number of occasions. Instead of breaking the bank to buy additional formal dresses or keeping on wearing the same ones, our product builds a location-aware dress-rental service (Getaround meets Rent The Runway!).

  4. Strip down the features to the bare minimum.

    Always cut down the features by half. Hacking on a new product usually involves learning new technology, which means the actual developmental timeframe can often exceed what was originally estimated. Especially after midnight, after coding for 12 hours straight, productivity declines. For our case, in hindsight, we probably underestimated the time required to get familiarized with OAuth on Facebook, translating mockups into CSS/HTML, loading enough user data into the app for the demo.

  6. Pick a “stretch” topic to work on.

    For individuals, especially ones that were aiming to learn, hackathons are perfect environments to pick a fairly new topic to work on. Perhaps not a completely new language, but the backdrop of everyone else around you coding away is very conducive to learning adjacent frameworks or concepts in a field you have been working on. For example, coming in with some background on Python but zero Django experience, I made good progress in familiarizing myself with the framework and setting up the webapp, including playing around with administrative panel.

  8. Done is better than perfect.

    No matter for learning or winning, aim to finish. 24 hours is not a long time to make a minimum viable product. Many of the winners (including my awesome fellow Hackbright classmates) impressed the judges with their simple, yet well functioning app. Contrast to being in the classroom, the challenge at a hackathon is not to write the most elegant codes, but to make something work, and in a presentable (yes, looks do matter!) manner.

  10. Enjoy!

    Coding is highly addicting. Hours flew by when typing away on a keyboard or debugging. Yet hackathons are designed to be a congregation of like-minded individuals (otherwise people can just code in their own bedrooms). I took both yoga classes (see the full schedule below) and lined up for the cupcake (the flour de sel was delicious). Exchanging ideas and hanging out with other programmers certainly made up a large part of the experience.

  12. Share your experience. Lastly, after an exhausting 24 hours, take the time to recuperate and afterwards, reach out to all the new friends you have met. Congratulate the winners (especially my classmates who made munimobile and won 2nd place), stay in touch, and tweet/blog about what you learned.

How was your first experience at a hackathon? What would you do to make your experience better?

This post was originally posted at Hungry For Life.
