This past weekend I went to a hackathon, called Stupid Hackathon. It’s not the first hackathon I have ever been to, but it’s the first hackathon I’ve been to since learning web development. I was excited about it from the moment I first heard about it since the theme was “stupid shit nobody wants and dumb ideas.” There is so much I love about that. All in all, it was a great day, but for me, it was a massive failure. And that’s totally okay.
Learning to accept failure is hard. I think the only way to get better at it is to fail a lot. However, you can fail gracefully, and you can fail hard. You can other get depressed over it, or you can take it as a learning experience. I tried to do the latter, and so, here’s what I learned:
I completely overestimated my abilities. I thought I understood everything about Rails. Okay, maybe that’s not true, but I thought I could at least get a simple app up and running. The problem was that my app was not actually simple. The data models were different from anything I had ever worked with before, and I strugged to map out all of the model, view, and controller relationships. I also got way too caught up in trying to follow Rails conventions rather than just making something and fixing it later. It’s a hackathon, after all, and a stupid one at that.
I underestimated how much time each separate piece would take. There were a few moving parts, including integrating with Stripe and Amazon’s Mechanical Turk API. While using each one of these separate isn’t so hard, getting the whole thing to work together is. And all of these things add up.
I underestimated time, in general. I forgot that hackathons are full of interesting people who are very distracting because I want to talk to them. I learned the best approach is to make something relatively simple, a minimum viable product, and then go from there.
I’m pretty good at debugging. Once I had gotten exceedingly frustrated with my project, I went to help out a friend with a project. She was having some issues with her Chrome Extension, and I was able to throw in a few debugger statements in the right place and figure out what was going on. I also fixed the bug! It was cool, knowing that I’m good at breaking down a problem like that. I guess it makes sense though, since that’s mostly what I did at my previous job.
I got way too excited about my project before thinking about the other people around me. I should have focused on the skillset of the people around me rather than getting excited about my dumb idea. Working with people is kind of the point of a hackathon.
I need to get better at being impulsive. I spend too much time marinating on thoughts and not just doing sometimes. It’s like Drake says, YOLO.
- Presentation is an important aspect of your hackathon project. It might be worth it to run across the street and buy matching bugundy turtlenecks with your project partner. It’s definitely worth it to make a great powerpoint, with lots of gifs and jokes.
The best part is that I got to be around a bunch of other awesome people making awesome things. There was a Chrome Extension that mimicked browsing the web from within the North Korean intranet. There was one that told you whether or not you were holding your phone. There was one that translated movie subtitles to emojis. Every single one was simultaneously stupid and brilliant. These are my favorite types of projects.
Oh, and I got a pretty cool free t-shirt of George Bush with a selfie stick.
I’m still in love with my project, despite having some rough moments with it, so maybe I’ll finish it one day. Hopefully. And at the next hackathon I go to, I’m going to kill it.