One of the best ways to learn to code is to attend social events where people code together, such as a hackathon. A hackathon is usually a one or two day event where teams of people compete to build a solution to a problem. For example, the City of Vancouver recently hosted an event called Decode Congestion where participants hacked on projects that could help ease traffic in the city by encouraging people to carpool, bike, or transit. The team that I was on built a location-based transit game, sort of like Pokémon Go! Some hackathons put less emphasis on necessarily building solutions, and instead encourage contestants to focus on developing business plans and descriptions for prototypes of hypothetical projects. After a set period of time for development, contestants generally present their projects in a science-fair style before presenting in front of a panel of judges.
These kinds of events are valuable for two different reasons. First, students and people who are new to the tech industry are given an opportunity to work on larger team projects which look great on their resumes. The organizations that run hackathons also benefit from the work that contestants do, since the organizations can access the untapped talent and expand on those new business ideas with the help of the participants. The organizations that host hackathons include non-profits, municipalities and for-profit companies looking for new perspectives on tough problems.
Preparing for your first hackathon can feel a little daunting. Some people think that you need to have killer coding skills to contribute to a team, but there are actually many different roles to fill in a hackathon. Designers, for example, are in very high demand. I was surprised to learn that a big component of succeeding at these events is having a nice user interface for the applications that you build, as well as putting together a glossy presentation. Non-technical people can also be very valuable in steering a hackathon team through ideation, project management, and market research. The best thing to do when preparing for a hackathon is to collect a group of friends to compete with if possible, and to remember to not take things too seriously!
On the day of a hackathon, people often split into their groups and start brainstorming the possible projects that they’ll take on. If there are multiple ideas, the team may do a small analysis to see which project is the most technically viable, and how well each project lends itself to impressing the judges. In a team of three or four people, some people will then take on technical roles while the rest of the team members get working on designing and preparing a presentation. It’s important for a team to remember that the project they’re building doesn’t need to be perfect; it just needs to be a prototype. There’s a reason they’re called “hackathons”, so you shouldn’t feel bad if you cut corners a little bit.
As with most things in the tech world, hackathons sometimes carry a bit of problematic baggage. First of all, attendees need to be able to set aside the time to spend at a hackathon, which simply isn’t possible for some people. Attendees are also competing against people who may be able to push themselves beyond reasonable limits, such as pulling all-nighters to finish prototypes. Hygiene can sometimes be an issue at these kinds of events, coupled with traditionally unhealthy food options which can be pretty off-putting. All of these can be pretty alienating factors and with a historic underrepresentation of many minority groups in STEM, I can understand why some people may have avoided hackathons.
However, organizers in recent years have responded to requests for more inclusive events. There are some events that explicitly limit working time to between 9 AM and 5 PM so that participants don’t work during the night. I’ve also noticed that the food offered at recent events has included plenty of healthy options, which is a welcomed change!
There are definitely numerous benefits to attending hackathons. For someone starting a career in tech, they can be exceptional places for networking. I’ve gone to my fair share of job fairs and meetups and I’ll be the first to admit that it’s very hard to stay motivated and social while on the job hunt, especially because you can often feel like you’re simply lining up for a chance to speak with an employer. At hackathons, however, you have the opportunity to network with peers while collaborating on an interesting project, and the employers will come to you during the judging process.
I’ve also found hackathons to be an excellent venue for practicing skills like learning new languages, working with completely new technologies, and taking on new roles in a team setting. I’m definitely the kind of person who puts off learning new things sometimes, so it’s nice to put myself in a structured environment where I can try that stuff with other people.