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

훌륭해요!

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

알겠습니다!

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

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

계속 읽기

협업

자동화를 사용하여 프로세스를 간소화하고 생산성을 높인 Salesforce 마케팅 팀

워크플로를 통해 마케터는 새 캠페인을 더 빠르게 제작하고 출시할 수 있습니다

개발자

Donut에서 팀 문화를 개선하는 Slack 중심의 비즈니스를 구축한 방법

Slack에 내장된 도달 범위와 배포로 강력해진 Donut 앱은 사용자가 어디에 있든 직관적으로 연결될 수 있도록 도와줍니다.

협업

허들의 새로운 협업 기능을 통해 업무 환경을 혁신하는 기업들

T-Mobile, Expedia Group, Xero, Slalom은 허들을 사용하여 시간을 절감하고, 효율성을 높이며, 업무 관계를 강화했습니다.

생산성

업무 효율 높이는 마케팅 5년 차 대리의 Slack 활용 팁

Slack을 도입한 대부분 조직의 마케팅 팀원들은 다양한 부서 혹은 외부 조직들과의 커뮤니케이션, 여러 마케팅 툴 활용 등 동시다발적인 업무들을 Slack으로 통합하여 생산성을 최대치로 끌어올리며 업무를 해내고 있습니다.