There are a lot of reasons to love hackathons. You get to meet some new people in a casual way, you get a bunch of free food and merch, but most of all, it’s a focused weekend project for you to really grow as a developer. Each the three hackathons I’ve participated in, I’ve learned some valuable lessons that I still carry with me.
The first hackathon, I was able to help put together a basic web front-end with a few graphs. Problem was, I had no idea how to get this thing onto the internet! Thankfully the other members of the team had that covered, but I gotta say, I was shook. The next week, with my newly highlighted flaws, I learned how to deploy to both Azure and Github pages. That feeling of being totally out of my depth was worth it. I really thought I was getting the hang of coding, but I was just introduced to the world that exists around it.
The next hackathon was a year or so down the track. Over the weekend I was able to set up an API with a database, and get it deployed to Azure. Nice! However, I was so focused on what I had to do, that I wasn’t being available to the team members building the front-end. “It’s simple enough to connect to”, I thought to myself. Through the magic of hindsight, I now realise I should focused a little less on my personal task, and a bit more on what the team was working together to achieve. We weren’t trying to build an API with nothing connected to it, we needed an API and a front-end working together.
The last hackathon went a lot better. I was happily building my API, I was helping to connect it to the front-end. Communication throughout the team was flowing nicely, and short stand ups kept us in sync. We finished on time, and it was functional! Yaaahooooo! The problem this time wasn’t clear to me until the very end. Our project wasn’t very exciting. This hackathon was a competition, and we didn’t play to win. We didn’t venture far enough away from everyday ideas and technologies, and we got something adjacent to exciting.
That weekend I gained a greater appreciation for the purpose of hackathons. A chance to experiment and have fun. Throw a new idea on the table and see how you can mold it. Get a new technology in the mix, use something you want to try, don’t worry if you fail. Your two day project probably isn’t going to be used for something after this, so who cares.
If you have a chance, I highly recommend giving hackathons a try. For me, each one has been something I can look back on fondly. Not just from what I was able to build, but how I was able to use it to grow. It’s a great chance to learn something new about yourself, and even if what you learn is “I don’t want to go to any more hackathons”.