Grafvision - Fotolia

Ideas on how to hold a successful code hackathon

Want to host a hackathon? Here are some ideas on what a company can do to host an event that solves problems and reenergizes the organization. Just don't forget the food.

Companies hold code hackathons to help build team spirit, learn new skills and even create valuable products. If the company has offices around the globe, some careful scheduling can create an international event that brings software engineers together. It can also help people in different parts of the organization get to know each other.

It's important to promote the event well ahead of time to excite employees and get them to think of some new ideas. Once the hackathon ends, it's imperative for organizers to review how the event went. You might want to take some ideas from the event and put them into practice during the regular workday.

Let's explore some of the best practices on how to create a successful code hackathon, and how some companies have used these events to benefit their organization long after they take place.

How to build the best hackathons

HackerOne -- a vulnerability coordination and bug bounty platform -- gathers a cross-departmental team with representatives from all office locations for its internal hack days. "We have a playbook that outlines all the things we need to organize over the course of eight weeks before the planned date," said Karen Sijbrandij, senior software engineer at HackerOne.

The playbook includes guidance on what engineers should do to foster engagement, such as the team logo, swag (stickers, t-shirts and awards) to give to participants, which meeting rooms to use, announcements through various work channels to promote the event and even how to plan the big day's food order.

HackerOne has organized regular code hackathons. "It is a part of our company culture, and we have an active, cross-functional and cross-geographical volunteer team whose goal is to organize two hackathons each year," Sijbrandij said. While the most important goal of the event is to have fun, some ancillary goals include building something impactful, trying out a crazy idea and creating a proof of concept. The company measures success based on the number of participants.

Sijbrandij found that these events created cross-functional collaboration between people from different departments and locations, strengthened the team and fostered collaboration outside hackathons. For example, 27% of projects that were demoed at the most recent code hackathon are currently in production, with additional projects planned for eventual production release.

Simple code hackathon ideas

High Speed Training, an eLearning provider, held its first hackathon to explore how its engineers could learn new programming skills faster, said Richard Lubomski, the U.K. company's head of creative.

It was a great opportunity for employees to break functional and team silos and connect with others organically to work on something they enjoy.
Leah LandisLearning manager for IT, Paycor

"As we'd never run a hackathon before, everything from the ideas and problems we would look at, and how teams would organize themselves, to food and drink for everyone, music playlists and prizes needed thought," said Lubomski. At its conclusion, each team presented its hacks; a companywide vote determined a winner. The winning hack produced a tool that went into production as part of the company's next development sprint.

The company also experimented with technologies and services that it wouldn't normally use day to day.

Lubomski emphasized the importance of clear goals. Teams should self-organize into groups, and he said he likes the idea of people showing their work to the whole business, if possible. Even an idea that didn't pan out might inspire better approaches.

Code hackathons for beginners

Paycor threw a hackathon to "remind ourselves why we became engineers and dip into that passion," said Leah Landis, the HR software company's learning manager for IT. Paycor repurposed its office as a space to think, create and play. It supplemented the 48-hour work session with around-the-clock facilities, lunches, snacks and beer. Paycor also set up sessions where engineers could take a break from the build and refresh. It even hired a specialist in biohacking to talk about ways to increase creativity.

"It was a great opportunity for employees to break functional and team silos and connect with others organically to work on something they enjoy," Landis said.

Employee engagement scores increased, and associates appreciated having their voices heard. Plus, Landis said, it was great to work with technology without being under the pressure of day-to-day schedules.

Cornerstones of the best hackathons

Neo4J, a graph database company, has created a variety of hackathon formats with different goals in mind, said Ryan Boyd, director of developer relations.

"Fixit" days bring engineers together to work on bothersome, but non-critical bugs. "These types of small bugs are often not prioritized, as they individually do not have a great impact on the user experience. But combined, they can have a large impact," Boyd said.

Before the event, engineers identify bugs that could be resolved in roughly 30 minutes of work and then ranked bugs by their potential effect on users. Teams claim bugs on the day of the event.

While there aren't winners or losers on these days, the friendly competition can find answers to questions such as:

  • Who fixed the most bugs?
  • Who did the most code reviews for the most fixes?
  • Who wrote the best test cases for their fixes?

Hackathons don't need to follow one specific format or agenda. This way, you leave the door open for creativity, spontaneity and some tinkering to match your organizational structure and goals.

This open format can cause some unnecessary headaches on how to structure a code hackathon, but it allows for some creativity in its creation and eventual implementation. The work doesn't stop once it ends, either. A hackathon evaluation -- from both the organizing and participating teams -- can help flesh out what did and didn't work and create better events for all parties in the future.

Dig Deeper on Core Java APIs and programming techniques