Every month at CodeHS we do a one-day all-day team hackathon. A core value for the company is teaching and learning, and as part of that, we like to always be creating teaching and learning opportunities inside and outside of the company.
Everyone in the company participates. If you don’t know any programming this is a chance to learn more, either using our website or exploring beyond. If you do know, then you have a chance to work on a fun project for the site that you’ve been thinking about. The constraint is it is a one-day hackathon and you want to choose a right-sized project that can be completed in one day.
So that’s what we do. Every month we have a team hackathon. It’s a highlight of the month, and it has a very collaborative feel. The hackathons have been extremely successful: key projects have come out of the hackathon, projects that have stagnated have been completed, and almost every person on our team has live code on the website. That is awesome. I bet you would be hard pressed to find companies where almost everyone has code on the site.
Almost every person on our team has
live code on the website. That is awesome.
It’s not an easy thing to do if you aren’t a programmer—even setting up a complex development environment takes time, and learning how to contribute also takes time. However, it’s something we like to prioritize since our company is about learning and teaching coding.
In the morning people will start working on their projects, for lunch we’ll order pizza, and near the end of the day everyone will present the projects they’ve been working on.
You can actually see most of the hackathon projects we’ve done over the last year and a half here: https://codehs.com/hackathons/ (this tracking page was also created at a hackathon).
I think a key part of prioritizing the monthly hackathon is we make sure to build delightful features into the site. We have lots of things we plan to build and features we are improving on. But attention to detail, and including fun easter eggs and small surprises is a really nice touch that users appreciate. Lots of the things that started as hackathon projects seemed minor, but turned out to be things people really enjoyed. Just scanning over the list I like that we added a `bark();` command, a new SQL course, and lots of fun, funny, and useful internal tools. One time we had some interns create a build-status orb with a Raspberry Pi.