I just returned home from my 6th hackathon in less than a year. It was a long, tiring, and amazing 24 hours — and totally worth it!
Every time I attend one of these events, it feels like I am getting a month’s worth of learning, all crammed into a single weekend.
On top of that I’ve met the most amazing people, built some cool projects (most of my portfolio outside of work), and incorporated a company. Which has been so worth it for a few hours of lost sleep here and there. 😊
I am definitely planning to attend more in the future, and, if you haven’t been to one yet, I hope you might consider it for the future.
Types of hackathons
There are many different types of hackathons, but they all have several things in common:
- Time limit — usually between 8 and 48 hours
- Theme — organizers will ask that you build a certain type of application (like Internet-of-Things) or they’ll tell you to use a certain technology
- Prizes — generally awarded for the best overall applications and for apps that fit into certain categories, or use a certain technology
There is usually plenty of information online about the rules, judging, technologies, etc. It doesn’t take that long to read about the event and avoid surprises when you get there. Quite a few hackathons are for only for college students, and in those cases adults can sometimes attend as mentors, but not participants.
Several hackathons I’ve been to even had a Q&A or panel discussion first to talk about what they were looking for in app submissions. Some also have online boards to team up and get to know each other prior to the event. Meeting staff and participants early on helps to ease my social anxiety and give me a confidence boost.
FYI: Some of my favorite hackathons are Give Camp, Start-up Weekend, and Civic-minded local hacks. Let me know if there is another one I should attend!
Why should you go?
I already mentioned some reasons but here is a an overview:
- Networking — This is a given. I’ve met politicians, business people, companies, developers, designers, and plenty of rockstars (figuratively, of course 😊) at these events. I’m shy, but I force myself to get out and meet at least a few people each time. I’ve never met someone I regret meeting at a hack!
- Portfolio — I have several solid, well-designed portfolio pieces that came out of hackathons. Some companies have talked to me because they liked what I built at one. Make sure you get on a team where you think you will fit in well and try to work on an idea you are passionate about or at least very interested in. Having a designer on the team is super helpful but I always try to look at some design inspiration before I go to one of these so I can whip up a layout and design doc if necessary. I think it’s good to treat every project as a potential portfolio app.
- Confidence — I’ve found it to be surprisingly common that new developers think their skills are sub-par and they won’t be able to make meaningful contributions to a team. Plenty of non-technical people are needed at these events and even people who want to code but only know HTML or CSS can help on a team.
- Teamwork — The importance of learning to work with other developers when you are new cannot be overstated. It’s very, very important. You learn to partition tasks, share a codebase, and get along in a sometimes stressful environment. Sometimes apps crash and things don’t work out. Sometimes you or your teammate will get tired or frustrated or grumpy. Going through this experience together forces you to learn how to work together through the good and the bad as a team.
- Communication Skills — As a good teammate, you should always be talking to your group. “I just pushed code, can you pull.” “I’m working on this…” “How are you doing with that?” “You seem frustrated, let’s take a walk and get some fresh air.” It forces you be open and explicit about what you are thinking and doing. More importantly, it makes you think about what’s going on around you and how your teammates are doing. Your communication skills will improve!
What to expect
Expect the unexpected. Things will go wrong with your code. Venues will be loud or really cold. You may need to pivot on your idea after you already started working on it.
The best thing you can do is to prepare as much as you can. Most hackathons (if they are 24+ hours) expect some participants to be staying overnight and they will have some couches to crash on.
In preparation for staying up very late (or overnight) it’s not a bad idea to bring extra warm clothes, a blanket and pillow (or, better, a sleeping bag), snacks, and energy beverages.
Before you leave your house, check and make sure you have extra headphones, chargers, and all the devices you are going to need as well as daily items that you use. Even if I live close, I don’t go home to sleep because I know I will sleep in and end up feeling lazy and losing time.
As for the coding part: knowing how to use generators or starter-kits can be a huge advantage going in. This can prevent a lot of headaches and wasted time and let you do more actual coding without beating your head against the wall getting things set up from scratch.
The less complicated your code is, the better: time is at a premium during these events and other people of various skill levels will likely be jumping in and coding with you.
If you want to do an ambitious mobile app, that’s great — as long as you are considering the time that it takes to set up and get all of the emulators up and running or devices working on whatever wifi they might have at that venue.
I’ve done web, mobile, and cloud projects at hackathons and web app are by far the fastest for me to set up and start building, even though I develop with cross-platform mobile and cloud solutions almost every day.
With a little planning, I am much more productive and end up having more fun (and getting more sleep!).
In short, go to a hackathon!
Let me know if you have any questions or if I missed something here. I would love to read about some of your experiences as well!
Now I’m going to catch up on some shut eye 😉