Virtual Hackathons and Why They are Beneficial
--
The way things are now with COVID-19, I think we all need good distractions in our lives.
Hackathons have been one of my many distractions to keep me productive in this strange time. Besides being fun, they have been quite useful for me as an emerging software engineer. They have provided me with experiences that I wouldn’t have been exposed to otherwise, especially with social distancing still in full effect. I was very hesitant to try them out at first since I am still learning the ins and outs of programming, but I jumped in anyway and am now hooked!
All of the hackathons that I have done so far have been under the same company, Mintbean. Each hackathon is about 4 hours long, comprised of coding the project ( ranging from 2 hours & 15 mins — 3 hours) and then about a half hour of code reviews on GitHub to decide the winner. Anyone is able to participate as long as they have experience with JavaScript — the one rule of all these hackathons specifically is that it must be in JS. And, unlike most onsite hackathons, these are for individuals as opposed to teams of people working on the same project. In addition, there is occasionally a guest speaker after the contest has ended who will typically give advice on how to get hired in the tech world.
In my coding bootcamp, I wasn’t introduced to code reviews and I didn’t know how important they would be in a professional environment. Being a part of these competitions, I have been able to practice these skills for the first time. I personally have learned how to structure my code in a more readable fashion and to use comments more when the purpose of the code might not be so obvious. From reviewing my peers’ code, it has helped me to understand how to interpret it and how it is implemented in a different way than how I approached the subject. I feel that I am even more detail-oriented than I was before now that I have the pressure of knowing that there will be other people looking at my code. It is definitely different, a little nerve-wracking even. This has also given me new perspectives and ideas of what is possible since I can now see how others have approached the same problem set to find a solution.
Code reviews are important for developers for several reasons. One of which is that they give you an insight on how others are seeing your code and how readable it is to an outside perspective. Being able to write beautiful, uniform code is a must for anyone in the tech industry because there will be teams of people working on the same project at different stages of development. One misstep in that process, and the whole timeline can be thrown off. Another reason is that code reviews help to identify bugs and coding errors that someone that has been staring at the code for too long might overlook.
I am not always able to finish the hackathons in the time frame for submission, but even so I have learned at least one thing from each new competition and that is really the point of participation. The very first project I was able to submit, was developing my own Google Chrome extension that manipulates a new tab page. This was surprisingly not as hard as I thought it would be. I ended up creating a very simple extension that would generate a random image on the page when you add a new tab to the browser. Not very useful for the real world, but still, I completed the task and was proud to make my first submission.
Another application that I completed was recreating Conway’s Game of Life. I ended up making the app with React, but had to follow a tutorial for most of the project since this was a difficult challenge for me. In fact, this project proved to be tough for all participants, so the competition was extended for another 4 days for people that wanted to keep going. Before this hackathon, I had never played the game before and was having trouble understanding the rules. Because I ended up building out this project, I was able to understand the main concepts of the game.
In addition to those applications, I built a “noisemaker” that utilized the web-audio-api. This project was particularly exciting because I hadn’t experimented with audio yet at all and finally had the chance to. I created a JavaScript app with Tyga’s and Curtis Roach’s song, “Bored in the House,” which is appropriate for the current state of the world, I think. The song would play/pause by the click of a button and there were also controls to change both the volume and the stereo panning of the speakers which was really cool.
Besides the code reviews and learning how to build all kinds of new JavaScript applications, I have also enjoyed being a part of this new community of developers. I didn’t have many friends that did any type of programming before these hackathons, so it has been an invaluable source of support. We all communicate with each other through a Discord channel when we aren’t doing code reviews and it has been a great place for me to chat with my peers. The people in the channel have all been so supportive and welcoming of each other that it has made these hackathons that much more fun, competing with people that feel more like friends now.
Once we are able to go outside safely without worry, I plan on competing in an in-person hackathon to see what else I can learn. Until then, I will continue to master the art of coding through these virtual hackathons and continue to grow.