One Month

4 Things You Should Do To Prepare for A Hackathon

Quite often I get the question from students, “Hey Chris, am I ready to attend a hackathon?”

Jon Hamm says "yes" to Hackathons

Oh hells yes

“YES, do it!”, I’ll say. And I can see the fear boil up in their eyes, because to my students what I just said translates into:

lion (265) Animated Gif on Giphy

Let me assure you this is NOT how a hackathon feels

You’d like to try a hackathon? Great!

I’ve put together a list of 4 things you can do to prep.

These lessons are inspired from a real story:  three One Month Rails students joined together in October to face their first hackathon: RailsRumble2013.

1. Learn How to Work Together

“The biggest takeaway was learning how best to manage our development team using tools like GitHub, Hipchat and Hangouts” - Ean Platter, TeamOMRails

You’ll most certainly want to know enough about GitHub to manage your code. And if you’re long-distance you may also want to use something like Google Hangouts, or Skype.

Here at One Month we use Hipchat as our primary channel to communicate. It’s a great place to get an overview of progress, chat, and share fun images. We’ve even synced it with Heroku, GitHub and Basecamp so that we have a record of all the code pushes – here’s an inside look at our Hipchat room.

2. Learn Git Branching

The second meaning of the word "git"? A sloth! Git branching in action.

The second meaning of the word “git”? A sloth! Therefore.. this is some git branching in action.

Git can be tricky. The basics commands are covered in One Month Rails, but when it’s time to work in a team you’ll need to learn branching. Branching allows 2 people to work independently on separate “branches”… and then merge their changes to the “Master branch”. It’s magical.

Michael Hwan, who was also on the RailsRumble team told me, ”The one thing we screwed up on during RailsRumble is that we didn’t create separate branches for each of us when we committed our code to GitHub”

So how do you learn about git branching? Here’s a few resources that we like: Try Git’s Lesson #18,  A successful Git Branching Model and Git Branching and Merging.

Work with your team to practice committing code with branching in the days leading up to the hackathon.

 3. Don’t Break the Rules!

You’re a rebel. Cool I totally get it. We like rebels around here…

Ruby on Rails Rebel

Can’t touch this!

Breaking rules is a great for innovation, but it won’t help you win a hackathon. It may seem obvious, but make sure you understand all the rules BEFORE the hackathon begins.

I felt horrible when I got a call on Sunday night from TeamOMRails: they weren’t able to submit their app because they hadn’t met the RailsRumble guidelines (they had used Heroku, when the rules clearly stated they needed to use Linode). We can’t blame the hackathon, we can only blame ourselves. Lessons learned :)

If you need clarification reach out to the organizers – I’m sure they’d be happy to help. You don’t want to waste any time during the actual hackathon by not meeting the organizers requirements.

4. Look for Small Wins

Even though we failed in by not being able to deploy our application with Linode, the experience was incredible! -Ean Platter, TeamOMRails

If you participate in a Hackathon the truth is (…if I must be frank for a moment) you may not win, but you most certainly will:

  • learn from awesome developers
  • learn how to work on a team
  • be challenged to create something from nothing
  • …and make some new friends

Now go out and sign up! Leave a comment if you plan on attending a hackathon. Which ones are worth checking out?


Much thanks to Ean Platter, Michael Hwan, Jonathan Catchpowle for participating as TeamOMRails 2013. Thanks also to RailsRumble for hosting the event.