Teammates work together on a project from remote locations
협업

Lessons from five years of hackathons at Slack

What we’ve learned about time commitment, communication, judging criteria and a whole lot more

작성자: Matt Haughey2021년 4월 8일Wenting Li의 일러스트

Hackathons, hack days or all-day code jams: Whatever you call them, giving your employees the space and resources to pitch ideas and build out their concepts in a short time frame is a great idea for many reasons. They’re a creative outlet for software developers, a chance for anyone to fix their biggest pet peeves in your software and, in our experience, a consistent source of new product ideas.

Slack has thrown a hackathon every year since 2016, and we’ve kept track of every single project, team and idea generated along the way. That includes our most recent, and first entirely remote, hackathon, held in December 2020. To help you host your own, we’ve compiled the most important lessons we’ve learned in the process.

Why we do hackathons

Put simply, our hackathons directly improve the Slack user experience. Throughout our history of running them, we’ve seen various small teams pitch and build 287 projects. A third of those projects have been publicly launched as a product feature, been internally launched to employees as a new tool, or influenced a feature that eventually made it to production. Another third have landed on our product roadmap, are in development, or are in review.

Participation in December’s event grew 55% compared with our most recent in-person hackathon (though it’s worth noting that our overall number of employees in software engineering increased by a similar amount in that time). Project presentations consisted of three-minute recorded video demos, with 73 total projects produced by teams of one to nine people. Being our first remote-friendly hacking event, we also saw much more participation from our farthest locations, like our office in Pune, India.

One-third of our hackathon projects have launched as product features, helped develop others, or were released as new internal tools.

9 tips for throwing your own hackathon

We’ve learned more each year as our hackathons have grown. Whether your next hacking event is in-person, fully remote or somewhere in between, keep the following ideas in mind.

1. 48 hours, not 24

In the past, we’ve held our in-person hackathons over two eight-hour workdays. For our first remote hackathon we picked 24 hours, but a 48-hour period gives participants more flexibility.

“All-nighter” hackathons tend to skew submissions toward younger folks who can set aside the time for it. A two-day window lets more people work on teams and schedule their time over two full working days, giving them appropriate space for other commitments. Remember, it’s OK to let teams plan ahead of time, but save the coding until the big event.

2. Be open about your entries

We’ve found that the less technical the nature of your hackathon, the more people who can participate. And that doesn’t just mean coding, but opening the hackathon to anyone in your organization. To further support this, we allow people to submit mockups in their final presentations in cases where coding simply isn’t possible.

3. Beware the danger zone

Some hackathon entries can, very unintentionally, be potential HR violations. For example, an idea might require too much personal data or do something that brings attention to (or completely excludes) some employees. Filter out such projects before judging begins.

4. Communication, communication, communication

The biggest challenge for any hackathon will be communication, both internal and external. First, you need to get every stakeholder to approve the hackathon well in advance. You want to make sure managers know it’s coming so no one is surprised if a project’s production timeline is extended by a couple of days.

5. The more people participate, the better your outcomes

Communicate the hackathon companywide to make sure everyone knows it’s coming and participants have enough time to brainstorm, organize and plan for the event.

A company hackathon announcement in Slack

In the old days, we would print elaborate posters that adorned the office hallways. For remote events, we post messages at the launch into our global announcements channel, where everyone can see them.

6. Streamline your judgment process

Split the work of judging so it’s not all on one person’s shoulders. We separate entries into groups of about 10, with one judge per group. We’ve also found that when non-technical people—like from sales or accounting—judge an event, you might catch apps and utilities the engineering judges would have missed, and you’ll get better, more varied results.

Be sure you give your judges a framework to follow. Below is the guidance we give each of our judges.

All judging is recorded in a spreadsheet (here is our generic scoring spreadsheet). Set aside a few hours for the first round of judging and then a few more hours for the second round. That’s when your judging panel looks at the top scorers from the first round and makes final decisions on the best of the best, well before any awards presentation at the end.

7. Add categories as your contest grows

It helps to let more than one team win an award for your hackathon. You can start with a Best of Show and a People’s Choice (giving all employees an opportunity to vote). If you have many entries, you may need to split the judging along several categories (for example, Best Internal Tool, Best Small Feature, and so on).

8. At the end of your hackathon

Give out awards, give people recognition, and encourage them to note any wins on their future performance reviews. In our experience, people don’t typically care about getting expensive prizes (like a new laptop or iPad)—the prestige of winning is usually enough—but we do award small trophies that people can display on their desk.

9. Create an action plan for post-hackathon

Put all your entries in a spreadsheet anyone in the company can view, and use it to keep track of what happens over time. You may need to periodically reach out to participants months, or even years, later to have them update their project status. Make sure at least one product manager looks at every entry, so no great ideas fall through the cracks. Participants should feel like they’ve contributed to something that was reviewed and that it didn’t get ignored.

One last thing before you start hacking

Before you schedule your first event, have some product managers explore your company’s process of taking an idea all the way to the final product. Doing it a month ahead of your hackathon should help you figure out internal pain points along the way. And to ensure success, make plans for how you’ll spotlight the best ideas through awards and recognition.

For CTOs all the way down to engineering managers, setting time aside for a hackathon is no trivial request. Given that the average software developer has only about 200 working days a year, taking several days off to participate in a hackathon means taking time away from existing projects and being OK with a little chunk of your developers’ annual time going to it.

But as we’ve found, hackathons have a lot of upside. Employees influence the roadmap in a very direct way (maybe for the first time in their role), while addressing their own pet peeves with your product. At Slack, dozens of small additions to the product came directly from our previous hackathons. The events are also good for camaraderie and, ultimately, company culture too.

이 포스트가 유용했나요?

0/600

훌륭해요!

피드백을 주셔서 감사합니다.

알겠습니다!

피드백을 주셔서 감사합니다.

죄송합니다. 문제가 발생했습니다. 나중에 다시 시도해주세요.

계속 읽기

생산성

미래의 업무가 이루어지는 곳, Slack Tour Seoul 2024

누구나 자기가 속한 조직에서 행복하게 일할 수 있어야 합니다. Slack Tour Korea 2024는 고객이 Slack을 통해 만들어 가는 행복한 일터의 현재와 미래를 엿볼 수 있는 시간이었습니다.

새 소식

데이터와 대화가 만나는 곳, Salesforce 채널

Slack에 고객 중심의 대화와 Salesforce CRM 데이터를 함께 모아 업무를 진행하세요.

협업

소기업에 커다란 영향을! 오직 여러분을 위해 제작된 커뮤니티에 가입하세요

협업

Slack의 열렬한 팬이신가요? Slack 커뮤니티 챕터 리더가 되어 보세요

Slack에서는 해당 지역의 Slack 커뮤니티 챕터를 이끌 수 있는 적극적인 최종 사용자, 관리자, 개발자들을 초대합니다.