Working Together to Succeed: Hackathon

This is part of a five part series for my E-Portfolio. Section: Teamwork

Hackathons are the crux of every beginner programmer’s step into the real world. They emulate real-world time constraints and force students to abandon their procrastination and create a viable end product. The code quality is sometimes horrendous, if anything more than a boilerplate, and (unfortunately) presentation matters more than any finished product. But most importantly, they encourage teamwork and cooperation between students and at times very egotistical programmers used to working alone, and force them to assign roles and compromise to achieve their goals.

I was recently a participant in HackTPS, the first Toronto Police Services-sponsored hackathon aimed at finding new, digital solutions to their problems. I came with a team: some acquaintances from a prior hackathon just a month prior and an old friend.

Credit to Sen Sachi

We all came from different backgrounds. One came from Queens, majoring in Finance, another came from Ryerson, a hospitality major that had gone ahead and self-taught herself front-end development. We even picked up a new member on the spot — a designer from McMaster specializing in prototyping. We had the perfect startup team — we just needed to coordinate and work efficiently together.

As the common connection between the members, I quickly took up the lead and gathered and ran through a list of ideas. We discussed pros and cons of each idea, going through the difficulty of implementation and possible business cases. By actively mediating the discussion, I made sure everyone was able to present their views and opinions, allowing us to identify solutions that none of any single one of us would be able to generate. We eventually landed on the implementation of a mobile app aimed at assisting citizens.

I helped to split up our responsibilities: two of us would work on the Node.js backend while another two would work on the React Native frontend. Our designer would guide our front end and generate prototypes for our presentation. It was on!

Work in Progress. Credit to Katie Liu.

After 24 hours of constant coding (split up into two 12 hour chunks), we finally managed a functional prototype. We had information panels, guidance for citizens, and a live chat feature for immediate human assistance. Given the millions of unnecessary 911 calls in Toronto every year, we hoped to save a significant amount of resources and valuable police time.

Unfortunately, we did not make it to the final three. We had not included any “revolutionary” aspects to our app, and had focused too much on implementing it than simply achieving a wireframe and focusing on the presentation. Ultimately, we were too focused on the small details than the big picture. We definitely improved our skills at Node.js and React Native, and the components of making a good and viable startup presentation, but $10000 is a lot to miss out on.

Congratulations to the Winners! Credit to The DMZ

Reflection

I often monopolize work during hackathons — I can quickly ramp up my coding speed and often understand new concepts faster than my teammates, leading me to become the main (and sometimes only) coder in admittedly hard to delegate projects. This was the first that I had a team of members that were each specialized in their own fields and could work independently on a facet of our project.

The amount we accomplished in 48 hours was amazing. The key reason: teamwork. Rather than try to avoid the hassle of communicating and understanding my teammates’ thoughts and ideas — every second lost to confusion and talking was another second I could have been coding — I will be looking forward to bring my team together to cooperate and collaborate in future projects and hackathons. I learned that it was not simply about the code, but also about the design and the presentation.

Given another chance at this hackathon, I would have skipped the thought of trying to build an app from scratch. The feeling of originality is not worth the time nor the effort. Rather, compromises and priorities should be assigned and worked on by everyone together, each in their own way. With another try, we might have even won.