A hackathon is an event where people from all kinds of backgrounds (not just Software/Computer Science students) come together to collaborate on technology projects. It is an opportunity to learn and meet new people.
The thought of attending a hackathon can be scary, especially if it is your first time. On top of that, if you plan on attending on your own you may be feeling really nervous. You are not sure what to expect or how to prepare. Will your skills be up to par? Will anyone talk to you? This article will answer those questions, but a quick peek → the answers are yes and yes!
Note: Most of this is based on MLH hackathons.
First thing to do when you arrive at a hackathon is to head straight to the registration desk. Once you sign-in you either head to find a hacking space, go to an opening ceremony or browse sponsor tables. Some hackathons have a team formation session where you can meet other people looking for a project/team. Sometimes they offer pitches — you stand up and explain what you want to work on. After all the pitches students are free to approach you and ask to join your team.
- Opening ceremony : The ceremony usually lasts 1–2 hours. It will contain things like an introduction/welcome, main sponsor speech, a run through of the schedule from beginning to end, a run through of APIs and challenges offered, a run through of the code of conduct, a run down of how projects should be submitted, how/when/where judging will take place, etc.
- Sponsor tables: Depending on the hackathon, there may be more than one sponsor and they may be on site to get to know you! Recruiters will be seeking candidates for interns or full time. The best approach to striking up a conversation with them would be to ask them what their companies do, what positions they are looking to hire, where they are located, etc. They will either take your CV or redirect you to apply online… and most likely they will be giving out swag (t-shirts, power banks, water bottles, pens, etc.)
- Hacking spaces : Depending on the hackathon, it could be classrooms (so try to find a quiet room), it could be in a huge gymnasium (try to get a spot away from any speakers — there will be frequent announcements and that can be loud/annoying right next to you) or it could be in an office space.
Sometimes you don’t find a team at the beginning and that’s okay! I’ve seen people switch teams or start a team from scratch halfway through the event.
- Food : Most likely the hackathon will be providing snacks (granola bars, fruits, juice) and at minimum lunch/dinner if it is overnight. To be safe, I would bring some snacks along in your bag in the event that they do not provide snacks in-between meals (if they do provide meals)… or you might be picky like me and not like the snacks provided.
- Hacking : This is the time where you are making the magic happen!
- Activities : Some hackathons have activities to give you a break from coding. These activities can include things like a silent disco, a smash bros tournament, a rap battle, dog therapy, etc. Take advantage of these — coding 24 hours straight is never a good idea.
- Project submissions : Most likely you will be submitting your project on DevPost or a similar system. Make sure to submit your project on time — a good tip would be to setup the project on DevPost and fill in the blanks later. That way, you are guaranteed not miss the deadline.
- Judging : Usually happens in one of 2 forms: science fair style or pitches. Science Fair style is exactly how it sounds — you are assigned a spot at a table and everyone is present and showing off their project while judges/sponsors come by. For pitches — judges are setup in a room and teams are brought in one at a time to show off their project.
- Closing ceremonies : Similar to opening. Thank yous, announcing of winners, and good-byes!
- Research the hackathon — There are different types of hackathons, while some are specific to resolving a challenge, others are more general and open. Amongst these are University/High School hackathons. Many of which are under the umbrella of the Major League Hacking. So before attending, understand what the nature of it will be.
- Install shit — Download some IDE if you do not already have one. If you want to work on something web related then do some research on what a good IDE for developing for web (for example Sublime, Atom, Brackets, etc). It will help you save time during the hackathon, especially if the IDE is a few gigs. You cannot rely on the internet at the venue — you never know the quality, it could go down unexpectedly... I’ve seen it all!
- Checkout APIs — You don’t need to know what exactly you want to work on, but it wouldn’t hurt to investigate your options. Do some simple research on which companies are attending and if they are providing their APIs. Some of these APIs require you to have done a bit of setup, so if you know you want to work with API xyz that requires you to have abc installed, then get a head start and install it.
- Prep your bag — Make sure you pack the necessary items you will need for the weekend! Check out my checklist at The Ultimate Hackathon Packing Checklist
- Work alone — Take advantage of the incredibly passionate people around you! Who else would dedicate their weekend to building something? So don’t be shy to get outside your comfort zone!
- Bite off more than you can chew — You only have a short period of time to get things done, so try to focus on implementing a few set of features. You can always continue working on the project after the hackathon, which I strongly encourage you to do so!
- Think you can’t contribute — Everyone brings unique skills to a team and all members need to contribute to be successful. Figure out how you can contribute to the team and focus on that part of the project.
- Think pivoting is a bad idea — Successful hackathon projects often pivot from their original idea. If you think you’ve discovered something even better, or more useful during your project, switch gears and focus on that instead.
- Cheat — A major issue with hackathons is that it can be very difficult to ensure participants are not “cheating”. Cheating at a hackathon can take on but is not limited to, the following forms: working on a project prior to the event, submitting someone else’s work as your own hack, etc. Just don’t do it. Stay home. It defeats the whole purpose of the event.
- Be curious — It allows for possibilities and can lead you to many new opportunities.
- Attend workshops — The learning you get in a 24-hour hackathon can be much more than you get in your first year of university. Take advantage of this.
- Participate and explore — Don’t be shy to sit back and learn about other people’s projects.
- Stay hydrated — Water helps transport nutrients to give you energy. If you’re not properly hydrated, your body can’t perform at its highest level… fatigue, muscle cramps, dizziness, etc. So try to drink lots of water!
- Take breaks — A change of scenery can help you get the creative juices flowing and get inspired. Get up, walk around, see what other people are working on, get to know the companies there, etc.
- Sleep — No one is going to stop you from an all-nighter... but they aren’t necessary. Again, be smart. Get some shut-eye even if it’s just for a few hours.
- Network — Talk to sponsors, attendees, judges, organizers, volunteers, etc. You never know what may come out of it! You could get a new friend, a cool mentor to help guide you in your career, or even get an idea for the next hackathon you participate in.
- Bring your resume — Fix up your resume and bring a copy or two along with you. There is the possibility of impressing a recruiter enough to get to interview at their company.
- Learn — Aim to explore new technologies and learn something new. Maybe even learn some presentation skills along with the hacking skills!
At the end of the day, hackathons aren’t for everyone.
Your best bet is to go in with an open mind and have an idea of what you’d like to get out of it. If you do not go in with some end goal, then there is no way for you to know the benefit of the event. Go to a hackathon because you want to talk to people, you want to understand challenges, you want to write code, and you want to have fun. Learn from awesome developers, learn how to work in a team, and be challenged to create something from nothing!