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 助力客户支持:来自 Slack 纽约社区的专家建议

听取 Slack 专家的建议,了解如何充分利用 Slack 提升客户支持水平。

新闻

Salesforce 频道是数据与对话的交汇地

将 Salesforce CRM 数据与 Slack 中以客户为中心的对话结合在一起,确保工作向前推进。

协作

你是 Slack 的超级粉丝吗?快来申请领导 Slack 社区分会

Slack 邀请积极进取的最终用户、管理员和开发者领导本地的 Slack 社区分会