BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Experiences and Good Practices from Hackathons

Experiences and Good Practices from Hackathons

Hackathons are events where developers work together during a fixed period to collaboratively develop software. They provide learning opportunities and space for developers and organizations sponsoring the hackathons to network and have some fun.

Shirly Ronen created the roojoom WTF is a hackathon. This roojoom is a collection of examples and good practices on hackathons. One of the items mentioned is an article from Dave Fontenot on Medium in which he explains what hackathons are:

Hackathons provide a venue for self-expression and creativity through technology. People with technical backgrounds come together, form teams around a problem or idea, and collaboratively code a unique solution from scratch — these generally take shape in the form of websites, mobile apps, and robots.

Whether we are building a website, mobile app, or even hardware hack, the goal is to start from scratch and end with a working prototype. Generally, these events last from 24-48 hours and are filled with food, caffeine, prizes, and, you guessed it, more caffeine. After time runs out, teams demo what they’ve built and compete for prizes.

The roojoom from Shirly also provides a link to a YouTube interview with Peter Morano on how to organize and run your own hackathon and a blog post from Tess Rinearson which describes the 8 kinds of projects you meet at a hackathon with examples of hackathon projects and products:

  • The Cutting Edge Research Projects
  • Home Improvements
  • Mashups
  • “We Picked Up Three New Technologies In Three Hours” Hacks
  • Showoffs
  • “Trust Me It Works” Hacks
  • Polished Projects
  • Over-Polished Projects

Tess Rinearson is also the editor for the hackers and hacking collection on Medium where several developers shared their experiences from doing hackathons:

Rafa Moreno in my hackathon journey: I had ZERO idea how to program, and knew three ish people in my school that had any sort of computer science experience. I was not a computer science major, and had no connection to anyone in the field. Because of my Hackathon adventure this year, I am in computer science, expanded my network to all across the United States, and even a friend in India, and have relationships with companies and startups that are leading to interviews and trips in the fall that I would not have previously had.

Jose Luis Teran in turning hackathon ideas into startups: What was supposed to be a fun weekend of building an idea and enjoying each other’s company quickly turned into something more, the fact that this website [mentorcube.com]might very well become a startup if we decide to put our heart and soul into it.

Danny Espinoza in hacking through: I will spend the next forty-eight hours hacking on code, pushing pixels around, constructing a prototype from assembled bits. I will appreciate the catered food, the buzzing atmosphere, the energy of hundreds of people trying to breathe life into their ideas.

Jim Lim published an article about the 3 most useful skills to teach at a hackathon on VentureBeat. He suggests that hackathon attendants should learn the following skills:

  • Learn to use Git - As a participant, you must learn how to commit code, merge branches, and revert changes. This will allow you to divide and conquer, experiment with new ideas, and try out various implementations while maintaining a safe checkpoint that you know how to revert to when things go wrong.
  • Stop and debug - Hackathons are frustrating, because your code doesn’t work most of the time. Yet this is precisely the point – a hackathon is an intense period of learning during which you experiment with new application programming interfaces (APIs), software-development kits (SDKs), frameworks, and even languages. Expect problems and learn to fix them.
  • Use Google (intelligently) - Start by figuring out specifically what you need to learn. What function do you need? What could it be called? If you were the engineer who built on the library/API/SDK, how would you implement it? Where would you put it? Start searching on Google. Speed read though the first few results to determine their relevance. Use related content to guess and discover keywords until you close in on what you need.

In the blog post should cities give hackathons another look to improve digital infrastructure on CityLab Sam Sturgis describes the success story of a Boston hackathon:

Crafted during a 36-hour coding crunch, the online data system Permit Finder has completely reformed the way Boston processes its hundreds of thousands of permit applications.

The solution delivered by the hackathon makes it possible for submitters to monitor permit processing in real time:

"The fundamental challenge for permitting wasn’t that we couldn’t issue permits," explains Boston CIO, Jascha Franklin-Hodge, "but with respect to our [residents], the process was unpleasant and too slow."

Now, because of Permit Finder, an applicant simply goes to the new website, plugs in their application number, and instantly sees where the application is in the seven-step process.

Spending time up front to scope the problems that needed to be addressed contributed to the success of this hackathon as Sam explains:

Before any coding even started, the city issued four distinct challenges it wanted hackathoners to address, one of which was that "residents need a clear way to track all permits associated with their project.

City governments should undoubtedly inform their tech communities of the explicit challenges it wants them to address. Unfortunately, precise objectives are surprisingly absent from many government-run hackathons.

Did you attend one or more hackathons? What did you learn? Please share your experiences!

Rate this Article

Adoption
Style

BT