A Quick Guide to Hackathons
I just finished attending the Box Hack Day 2016 (https://developer.box.com/box-hack-day). We ended up being 1 of the 5 finalists and ended up taking home $5000 in AWS credits to continue working on our project (https://www.hathwed.com). SUCCESS! I feel super fortunate to work with a great team of individuals that can take an idea and make it come to fruition in a single day. This is my 2nd time going to a hackathon and placing. Here are my thoughts on how to improve your chances of winning a hackathon and takeaways.
- Create a winning team
Easier said than done, but there are tons of talented people out there. Try to find team members that are collaborative, creative, and communicate well. The team for this Box Hack Day was composed of individuals whom I have previously worked with at the first hackathon I attended.
Diversity is key! Our team is composed of 2 engineers and 1 product person. When you are forming a team ideally you would want 1 product, 2 engineers, and possibly a designer. The more diverse your engineers’ skills are the better (full-stack, mobile web, native mobile). In our case, our product and engineers work together to come up with a design. A product person is an important role to the team, since they can concentrate on building out a business proposal and pitch, while engineers/designers work on getting the MVP (minimum viable product) out. Out of the two hackathons that I have attended, teams that usually have this composition tend to do really well.
2. Come up with some ideas beforehand.
Before the hackathon starts, come up with some ideas that YOU can relate to as a user. Both ideas that we came up with for the Salesforce and Box hackathons all stem from the fundamental question.
What problem(s) do I currently face in life ?
Make a list of these ideas and then pitch your team on what you think is a good idea that can be solved using technology and some of the requirements of the hackathon.
3. Have fun!
I first went to a hackathon with no expectations other than trying something new, eat some food, meet some new people, and get some dev swag. Enjoy the experience and learn. I remember people being really stressed out about the whole thing and too focused on winning rather than being happy about it.
4. Explore and learn.
Hackathon events are great! Use them to build things that you normally wouldn’t build in your day to day job. I never used things like the Box API (https://docs.box.com/docs), Twilio API (https://www.twilio.com/docs/api), and AWS serverless architecture (s3 + cloudfront, API Gateway + Lambda). It is a great opportunity to try new ideas and things. *Disclaimer: Choose a limited set of tools, because you will have to learn fast if you have never used them before. Also, thank the internet for people who have already written up great tutorials, API docs, examples, and stackoverflow answers.*
Be cognizant of your time. Divide and conquer what you need to get done. Perfection is not required. This is a hackathon, be scrappy on getting your features across the line for the demo. Scope the project, pick key components that showcase what your app is trying to solve.
6. Pitch, Practice, and Repeat
We always set aside a good chunk of time as a team to work on the sales pitch / presentation. Practice saying your pitch whether its the business or the tech side to your other team members out loud. Address the problem quickly, and spend more time on the solution and demo. Quickly address the technologies used, the demo and pitch is more important! Think of questions that judges may ask you and come up with rebuttals. Look at the judging criteria and see if you are hitting all those marks. Keep practicing the presentation and time yourself over and over.
Hackathons can be a lot of fun! A big thanks to all the companies and sponsors that allow attendees the chance to explore and create something awesome! Be satisfied with the results, win or lose. Our team was really happy that we each got $100 of AWS credits to explore a bunch of new services that we never tried before. Hackathons also sometimes have workshops. I find these super useful to learn about a new technology or something that I have never used before that I could integrate in a future or existing application.
If you’ve never attended a hackathon, go out and give it a try. I’m glad I did.