How do you prepare for a hackathon?
Quite often I get the question from students, “Hey Chris, am I ready to attend a hackathon?”
“YES, join your first hackathon!” is my advice. Hackathons are a great place to learn to code, and work on a team with other programmers. It doesn’t matter if you are “technical” or “non-technical” (as they say). I’d encourage you to join a local hackathon. Here are four tips for preparing for your first hackathon:
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
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 are a few resources that we like: 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…
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.