I like to do hackathons. That fact, strangely surprises some who know me. They think after coding more than 40 hours a week, the last thing I would want to do is more code outside of work. And they're wrong. No only do I like it, I like it more.
When I first began programming it was about having fun hacking code. I would simply think something up and start to build it. Now, I rarely finished anything, instead, I would finish enough of the idea to see if it was viable. In many ways, I was doing private hackathons long before I had actually heard the term.
As a corporate developer I rarely get time to have fun. My time is a precious commodity and must be allocated against projects. Projects need to be planned, allocated, and budgeted. Even the most trivial idea can take weeks to work their way through the system. More complicated projects can take months and even a year from start to finish. And the worst thing is that at any point along the way, someone can pull the plug and send all of your work to the trash can.
Hackathons bring the fun back into development. In fact, only two things separate hackathons from those glorious days of hacking nights and weekend: first the theme comes from someone else. Note that I said theme and not idea. Most hackathons have a theme and guidelines which come from the sponsors, but each participant will have their own idea about how to implement. The second thing is prizes! Most hackathons give cash prizes for first and sometimes second place. The amounts of the cash range from a few hundred dollars to a million dollars. And in case you don't get the big money, most give schwag ranging from mugs and t-shirts to phone and tablets.
Hackathons are by definition short. They last any where from a few hours to a few days. Your idea goes from concept to completion quickly. Now the first confusion that many have is that the finish product is code complete and production ready. This never happens. In fact, depending on the venue, there may not be even a single line of code written. Instead hackathons are normally about the quality of your idea. Do other people get your idea and will they embrace it. The bulk of your time is spent on two things: build enough of your idea for people to get it and preparing your presentation so that people will embrace it.
All of the hackathon contestants I have ever spoke to get the first part, but many don't get the second part. In fact some are surprised that they need to prepare a presentation. But getting people to embrace your idea is key and fun part of the hackathon.
So now you know a bit about why I like hackathons. Next time I will talk about what you should do if you want to participate in a hackathon.