While hackathons are proving to be very trendy, I often worry that (our clients in particular) expectations of what professional software developers can deliver in 48 hours will become unrealistic.
Let me start by saying that I absolutely love the idea of hackathons. There have been so many great articles featuring the excitement of the code-sport, and the more I read about them, the more I want to continue reading about them. Really neat ideas and products have been created at hackathons. Anything that has everything to do with bringing people together to create something is sure fire way to be on my radar.
Here are my thoughts on hackathons in general:
- Hackathons get products built incredibly quickly. By cutting out the heirarchy of approvals, code reviews, and formal corporate structure that can often hold programmers and product teams back, product ideas can be implemented very quickly. For the same reasons list above, the process leaves a significant amount of room for error relying almost entirely on the programmer’s intuition.
- Hackathons drive short bursts of creativity: with the intensity of a hack, people’s creative muscles are flexed in a variety of different ways they may not generally encounter in their normal workplace. With that said, there can be a significant lack of organization and focus due to the frat-style gathering. Ping pong tables, music, and a lot of people hyped-up on Red Bull can make for a really distracting environment to work.
- Hackathons are a fantastic way to network. Given the ‘cool’ factor of hackathons right now, you can be spending 48 hours with some of the top programmers around. Also, there is a warm sense of community that comes along with spending 48 hours in a dimly lit office or basement, hacking away while you share a pizza and a Coke. On the flip side, you lose a few days (and nights) to the project, and that can be detrimental to someone who still works full time (most of us!), not to mention one’s overall mind/body health.
- Hackathons are a great way to spot talent. Recruiters everywhere are rejoicing! A hackathon is a tremendous opportunity to showcase spectacular talents and to be seen by some of the top tech companies out there. That said, hackathons can lose the vibe they are so famous for with recruiters and company hot shots lurking around. The more glitz and glamour that comes along with the event, the less likely the best hackers are to come out and participate.
- Hacakthons are a great way to get things done. Companies like Facebook, Google, Dropbox, LinkedIn, Zappos, and many others have been running internal hackathons for a while now and they’ve proven to be a cost effective way to get internal tools built outside of their normal budgeted processes. This gives developers in the trenches the opportunity to speak up and deliver something that they are passionate about, without worrying about getting approval from the corporate hierarchy.
My question is this: is a quality web or mobile application really make in a day? No.
The most beautiful software I’ve seen takes many iterations over the course of months to perfect. Sure, some great, snazzy, innovative products come out of hackathons, but so do the demo version that come out of the first or second iteration of a software development firm’s project. The downside to the hackathon is that with no market study or user testing, the fun products may not necessarily be a hit, and the code may be a mess. This can get costly down the road.
When a software development shop delivers a beta product, we’ve studied the market and communicated with the users so we know we’re on the right path with our clients’ investments. As anyone would expect, clients care deeply about their typically large investment in their custom software, and it’s up to us to provide the best quality code that is going to get them the highest return on investment.
Creating good software requires a lot of thought, lots trial and error, heaps of evaluations, iteration after iteration, user testing, learning, more thinking, and more trial and error. People dream that good quality software be built quickly, and it can, but creating a functional, well-tested tool with brilliant UX design is simply not done in a day.