How to Hack It in a Hackathon
Lessons from a 24-hour coding project in Winooski
Remember college — specifically, the all-nighters powered by energy drinks and junk food? A “hackathon” is kind of like that. A bunch of computer programmers with an array of skills get together, and each one tries to build something within 24 hours — sleep deprivation be damned.
MyWebGrocer hosted Vermont’s first hackathon in 2011; it has since evolved into a larger event called HackVT. Last Friday night, more than 100 participants on 32 teams were tasked with an open-ended mission: employ Vermont data to make something useful for the state. The data sources ranged from government statistics on labor trends to an index of Vermont beers. You could use them to create a mobile app, a desktop website, whatever — anything for “the benefit of Vermont.”
Having covered the event as a journalist last year, I decided to switch teams and try my hand at “hacking” this time around.
In the interest of full disclosure — and of ensuring that this piece isn’t just one long humblebrag — I should mention that my creation, a website for mobile devices to help users find farmers markets in Vermont, received an honorable mention and netted me a giant check for $250. The winning group, Team Datamorphosis, built a web app that visualizes business openings and closings over time on a map, broken down by sector and location. It was a fascinating example of how digital platforms let us visualize data and stories in new ways.
Here are some of the things I learned at my first hackathon:
If at first you don’t succeed, google, google again.
Here’s the wonderful thing about making stuff on the internet: No matter what’s vexing you, someone else has inevitably had this problem before. And there’s almost always more than one way to fix it.
A computer is great at telling you something’s wrong — or just refusing to do what you think you told it to do — but it’s not so good at telling you why something went awry.
Luckily, there are great resources penned by real live humans to help you self-diagnose and correct just about anything. In lieu of an owner’s manual for the internet, this works pretty well: Google (or Bing, whatever) your problem, and you’ll find no shortage of solutions from the great online developer communities, such as StackOverflow or the WordPress forums. Countless blog posts and videos provide tutorials and solutions to common issues, too.
Prime example: The Google Maps application programming interface (API) allows web developers to insert Google Maps centered on a given location. Like most Google products, it’s absurdly simple, even for me as an amateurish developer — but it wasn’t playing nicely with my site, developed in WordPress and jQuery Mobile. It took a little effort to find a workaround that functioned correctly, but I stumbled across one on my third Google result. The trick I needed wasn’t included in Google’s official documentation, but a fellow coder I found online forged his own way, and it worked for me, too.
Even when you’re working on a project alone, like I was, the internet always has your back. Just google it.
Stay away from the Red Bull.
Seriously. That shit is bad for you.
Not only did I eschew all energy drinks during the hackathon, but I didn’t drink any coffee, either, committing a sacrilege against both coding and journalism in the process.
Instead, I drank the equivalent of several bottles of cold water over the 24 hours. The subsequent hourly pee breaks provided ample opportunity to clear my mind as well as my bladder. Get up, walk around, do jumping jacks, go outside for some fresh air; a refreshed mind yields long-term productivity that more than makes up for the time away from your computer.
Did I mention the HackVT swag bag? Every participant got one, and among the branded T-shirts, gadgets and trinkets was a hearty acorn squash. Geeks are not known for wise dietary choices, but good on HackVT for trying to change that. A healthy coder is a good coder.
Get some sleep.
Staying up for 24 hours in the name of creation is a romantic idea, but science says sleep is good for you. I’m sure the HackVT participants dozing off at their desks would agree.
Fortunately for me, I don’t live far from the Champlain Mill, so I got to sleep in my own bed for about five hours early on Saturday morning. (I had planned to leave the hack space an hour earlier than I did, but I was on a roll for a while there.) When I arrived back at the Mill around 8:30 a.m., I was working much faster, and more productively, than I was at 2 a.m.
It’s tough to stay focused when you’re sleep deprived.
Think small and fail quickly.
My goal in entering HackVT wasn’t to win anything — I only dabble in code as part of my day job, so my expectations were low. I just thought it would be a fun way to learn some new skills and practice old ones.
What I failed to consider was that not every skill can be learned through cramming. My initial ideas — a virtual version of the Vermont brewery passport, a vaguely defined app for sorting out political contributions — involved complicated programming tricks in which I didn’t have enough expertise. By midnight Friday, I realized I’d have to change course to produce something that actually worked by the end of the hackathon.
Coming up with groundbreaking ideas is the easy part, but seeing them through to the end is harder. Greatness takes time, and 24 hours isn’t much. It’s a perfect window of time, however, to take things that you already know, add one or two small new skills, and come up with something simple and effective.
My farmers market mobile site does pretty much one thing: It shows you where to find farmers markets. But I was happy with how well it did that one thing, even if more features could still be added. Ideas can evolve, even after the hackathon. When time is of the essence, start with one healthy seed.
Do your best not to lose your mind.
I once heard an artist — Vermont native Jonathan Harris — say working with computer code messes with your mind. When I’m working on a code-intensive digital project, I find myself thinking differently — but not in the way those old Apple commercials had in mind. I get much more antisocial, preferring to interact with my computer rather than any actual humans. I have to be in a headphones-on zone with nothing to distract me. (See earlier tip about drinking lots of water. Without the bathroom breaks, I would never be able to pull myself away from the screen.)
Despite the mind games that coding plays with you, the end result of the creation process is incredibly satisfying. When the project you’ve been building is finally live and functional, after innumerable false starts and detours, the feeling of accomplishment is amazing. Like any achievement, it only comes at the end of a long, hard road. The difference is that when you’re programming, the struggles are not physical, or even mentally taxing in the traditional way. You have to trick yourself into thinking in a way that our brains are not generally wired to do, no matter how rational we think we are. It’s a fun, if exhausting, game to play with yourself.
Coding seems like magic to some people, especially to those who aren’t tech savvy. I’ll admit that it feels somewhat magical to see a jumble of letters, semicolons and bracket symbols turn itself into a smooth, functional app on my iPhone. But this loses sight of the fact that computers are dumb; they only do what humans tell them to. Building a digital application isn’t the most tangible form of construction, but it’s still hard work done by people. At the end of the ’thon, when tired, yawning hackers presented their projects to other tired, yawning hackers, the human element was clear.
HackVT rounded up and showed off some of the talented, innovative people who make up Vermont’s rapidly growing tech sector. Just imagine what they can do on a full night’s sleep.
Tyler Machado is the digital media manager at Seven Days. He graduated from St. Michael’s College in 2010 with a degree in journalism.