top of page
  • Writer's pictureNathan Thompson

How to Thrive at Your First Hackathon


In addition to hockey and Go, I just like participating in hackathons. Is that blog opening getting a little tired? Alright, I'll stop using it in future posts. Nevertheless, I really do love hackathons. We live in an age where technology can basically do anything, and yet so often we as engineers find ourselves in a rut of doing the same mundane work day in and day out. Hackathons force us out of our comfort zone and impel us to build something wildly imaginative.

The first hackathon I ever took part in was the Pebble Rocks Boulder event in 2015. I signed up with a couple friends to see what we could build using a Pebble Time smartwatch and a Lulzbot 3D printer in just under 48 hours. The end result was pretty cool if I do say so myself, and it even managed to net us a prize for Best Integration with a 3rd Party API. After that I was hooked. I've since tried to participate in one hackathon per year, typically with a rotating team of those same friends. In the intervening years we've netted another title and an honorable mention. All in all, a pretty respectable record.

I often think back to that first hackathon though; walking in bright eyed with no idea what to expect. The first night a lot of the competitors were circling articles in Slack about how to survive your first hackathon. Those were useful back then, but now that I've gotten a little experience under my belt I wanted to write the next evolution of those articles. Instead of just surviving your hackathon, here are tips that will help you thrive in it:

1. Reduce the number of technologies you need to learn

Most hackathons have strict rules barring you from starting any work before the official kickoff, but there's still some foundation you can lay ahead of time. Ask yourself what you'll need to finish a project. Will you be working with a team? If there's more than one person touching the codebase you'll need source control management. Make sure everyone has some fundamental knowledge of Git and GitHub before you walk in the door. Is the hackathon centered around a particular piece of hardware? Find out what sort of APIs and protocols you need to know to interact with it. Will you be able to write your code in a language you already know? Read up on the language you'll need.

2. Reduce the amount of code you have to write

Last year I decided to see if I could write an Alexa skill in a single day that was capable of playing the game Go. If I had started that day by trying to write the logic to play the game I would have been doomed from the start. Instead I found an open source library that had all that logic already implemented that I could fit into the Alexa skill itself. Wherever possible, find libraries that already exist to do the heavy lifting for you. If you're building a web app, don't try to write a complex frontend framework during the competition. Grab a prebuilt Angular starter project that you can tweak when necessary. The one caveat here of course is that if you plan to continue developing your project after the hackathon and even try to monetize it, open source licenses in the libraries you use can limit how you are able to distribute the finished product. Weigh your goals in the competition against your aspirations for the project and make the choice that's right for you.

3. Form a diverse team

There's a natural tendency to want to stack your hackathon team with rockstar developers so that you can pound out as much code as possible in the time you have. The trouble there though is that a product built by a bunch of engineers tends to look like it was built by a bunch of engineers, and that won't score you any bonus points. Consider bringing a designer onto the team to delight the judges with a beautiful experience. Better yet, think of ways you can build a tactile component into the project. Judges love to have something they can hold, something they can turn over in their hands and play with while you present to them. Manufacturing engineers can bring the skills necessary to create something physical, and electrical engineers can help design the circuits necessary to get everything talking to each other.

4. Get some sleep!

This is the one axiom that holds true no matter how many hackathons you've got under your belt. If you're competing in a 24+ hour hackathon, carve out at least a few hours to give your brain a rest. It's easy to fall into the trap of thinking, "I'm almost there, I'll stay up a little longer to just finish this one last thing." The trouble though is that your productivity drops with each passing hour, whether you realize it or not. Eventually problems that should be simple to solve become massive headaches as your addled mind struggles to keep everything straight. Take the time to recharge and then attack the problem with a renewed vigor.

5. Most importantly...

...have fun! Participating in a hackathon means allowing yourself the opportunity to explore your own creativity. Come up with something that inspires you and see it through. There will be awful moments at 3:00 AM when things just won't work right for some unexplained reason. When that happens get a little shut eye, remind yourself that you have an awesome team of talented folks alongside you, and make something that you're honestly proud of!

19 views0 comments

Recent Posts

See All
bottom of page