A hackathon is an event meant to allow engineers to build new ideas outside of the existing day-to-day process. Engineers come together to collaborate on building a brand new feature or enhancing an existing feature.
The hackathon is meant for all of engineering. Members of other teams are welcome to join contingent on their own schedules allowing.
Here a few talking points for a startup trying to start their hackathon tradition. I recommend starting with a day because it'll be an easier sell to stakeholders when you have a small team.
What is the goal of hackathon
First and foremost to have fun! We work hard and need time to grow the creative energy that’s so important to our discipline.
The projects we build are meant to showcase what’s possible and inspire what the future might look like.
But I need to ship by the end of the hackathon
You should demo by the end of the hackathon but need not have your code ready for production. You should be spending your time hacking away to demo an idea. You should not be spending your time on best practices, linting, naming conventions, where to put files, testing or anything else that would take away from being able to demo.
Does it need to be product related
If you’re more interested in building a tool for engineers or some infrastructure project, that should be totally fine. The point is to get creative and some engineers prefer to work on tooling over product.
Can I ship my code eventually
Depends. Obviously in order to ship code to production it must adhere to your normal best practices including rigorous testing. In addition, you need to make sure your PM or accountable stakeholder is onboard to avoid any potential negative business outcomes. Once you have production-ready code and the green-light, go for it!
Do I need to prepare for hackathon
I always recommend announcing hackathon weeks in advance. At that point, start thinking about what you want to build. If you don’t have an idea then take some time to solicit ideas from other people or join someone else’s team! You can start an ideas group in chat or a shared document. If you need inspiration, try reading business content in chat, documents or presentations to see if someone has an idea you want to build.
I encourage everyone to work with at least one more person but not every team follows this practice. It's helpful to ask everyone to share their idea beforehand so you have a sense of whether someone might be too far afield. It also gives folks a chance to join another team.
What happens during hackathon
At the start of hackathon you should expect to come in and get started with your team. All meetings are cancelled. Providing meals and snacks throughout the day is always appreciated and avoids engineers getting out of the flow to find food.
Set a time to demo all of the projects to the rest of the company followed by an engineering-sponsored party for everyone. Having the company join in on the celebration gives your engineers pride and also cred with other folks at the company who normally don't see individual's work.