View from coffee line, rockstar TEDActive barista making my drink 2011 . You learn a lot by watching the process!
Thanks to a link from Dare Obasanjo, I was reading Scripting News " Hackathons are Nonsense." It's a perfect nugget of thoughtful skepticism, where he notes that you won't have a Julia Child movie about software because unlike food being assembled for a recipe, you can't see the code blocks form inside the developer's head. Also, a few hours or a sleep-deprived weekend is too short a time to be real software development.
With all due respect to Dave Winer, I think about hackathons differently, and it may be because I've been a program manager most of my technical career, charged with the idea that the entire project runs smoothly. Steve Jobs didn't *code* the iphone.The software that comes out of a developer's head can take the same detail mania, the same creative high bar, all that mental acuity we ascribe to Steve Jobs. But, Jobs wasn't the dev on the iphone OS, and his overall role at Apple shows you that there's more to a product than just the code. Someone had to figure out how to get the hardware working. Someone had to figure out how to get the software working. Someone had to get customer requirements and have the artistic sensibility to make it useful and usable. Someone had to shill that stuff on stage and in the retail shops, customer by customer. Winer would possibly agree with those examples- but he suggests they come after the coding is done first. I would argue why not toss them in at the prototype stage?
Hackathons (while often producing code), are actually in tandem producing several other things - the first possibly being an ad hoc team of people united around an idea, the first step toward fleshing out an idea that may start in code and end up in hardware or as real-life service (think Zipcar, airbnb, etsy). A byproduct of the hackathon may be a startup, or something that leads to a startup. Even if it's one guy/gal hacking on one idea, at the end of the event that guy/gal has to answer to judges, their peers, attendees. There is a dialogue with their work from the time the hackathon opened its doors. It's not like writing code at home or making design decisions no one will see.
Don't get distracted by code as the output of hackathons. By getting a bunch of devs in a room, it is likely you will get code coming out. If you put a bunch of oil painters in the same room, I suspect you'd get paintings to solve the problem. But a lot of interesting things happen in addition to good code when you let OTHER people in the room with the developers. The OTHER people get dev-education. The developers get OTHERwise educated. All this regardless of whatever prize a sponsor or the community have created for the "winners" of the hackathon. A lot of life is showing up, and so it is with hackathons.
Obviously, if a developer wanted to code in silence alone, they could have stayed home. When they join the hackathon, they open up their process and become a walking advertisement for the stuff they do without having to say a lot. This is not a bad thing for the dev community - it attracts more people to the discipline (and with luck, more women) and by being in public, the process is demystified.
I cannot tell you how many times over the years I've had to do this mental calculation around "how technical this guy is telling me he is and how mystical he is telling me the code problem is" and "how technical this guy really turns out to be (along with how unmystical and hard work the process of writing code is)." As a woman, sometimes you are handed instant subtraction, like -15 tech points when people meet you, so call me petty, I keep score on folks that talk more than they code or make something a mystery where a more objective dev or tester explains it plainly in two sentences. In the hackathon, some pettiness can be brushed aside. The thing you are getting done with only limited time to do it, trumps everything. Communication is about this thing we are making. Even if its one dev, and the community who watches her work being demoed at the end, communication has happened between the code and the community. She or he stayed up all night - there is no mystery, just the hard-won new day.
What's in it for the devs (besides possible prizes, startups or fame?) Well, there is also something significant about feeling part of a tribe that can improve your own work. Gertrude Stein had salons so writers and artists could swap notes, talk shop, stimulate each others' work. Writerly types will know about NaNoWriMo - the national "write-a-novel-in-November program where thousands of people have uploaded their high-word-count files to prove they did the work, and possibly created art at the same time. NaNoWriMo usually kicks off in each city with a meeting or online discussion - because people want to feel tribe even when creating in their own heads alone for the rest of the month. Some folks meet in cafes to write together, separately. See how hackathons imitate art? :)
In a few hours, I'll be flying to TEDActive where we (Bing) have an interesting hackathonish type project going on and THEN I'm going to Angelhack in Boston (see http://www.angelhack.com) . Both are experiments, both could go north or south, both are assertions in human creativity and the power of teams to make good stuff. Who knows if "software as a product" will ensue? But at the very least we should see ideas (and teamwork) made manifest. That's not nonsense.
PS if you want to see how the Wall Street Journal views hackathons going mainstream, they've got a decent overview article on that here: http://online.wsj.com/article/SB10001424053111903532804576566930629307852.html .