A group of programmers in my country ( #czech ) decided they'll create #software for #government for free during 48 hours, for free. While that seems cool at first, I think that is in fact a very #bad idea. Why?
Well imagine you want to do the same e.g. with a building. To save the architect's time and money on his salary you tell him to design the building in one hour as best as he can. While you'll immediately save money, the result will likely be a building that's badly designed, will have many issues you'll be paying for during the next decades.
Hackatons, gaming jams etc. are extremely popular because they look cool and save time, but they create terrible results and teach very bad practice, which is driven by today's short-sighted society. The whole history of #engineering taught us that haste makes waste, but nowadays we're abandoning all sanity because of #capitalism, #markets and #consumerism. The result of course is huge #bloat, ugly, wasteful, obscure, unmaintainable, buggy and even dangerous technology. Let's not do this.
I never liked jams and hackathons because I don't like pressure but I think there's a good idea behind all this that isn't emphasized enough. A jam could teach you how to keep the scope of your project reasonable, how to aggressively cut its features while maintaining design integrity. I like the idea of allocating a small amount of time to just try something new, to build something small yet useful. But I also want the freedom to upgrade a casual project to a more serious one if I so desire and deadlines don't help with that.
I think the idea itself can be good, but is mostly misunderstood and abused. E.g. if the results are to be just proof-of-concept prototypes that explore new ideas, then it's okay, however what I see is just time-constrained competitions to create real usable SW, which is basically a competition in who can best hide the internal issues and bloat under a shiny appearance (i.e. what businesses like to do).
buildings are typically rigid structures which need to be designed as a whole before construction.
in the strictest of examples, so is software, but the reality is a commonly lot more dynamic.
hackathons can work for software, provided there is some kind of quality assurance when it matters. it often matters. there needs to be some kind of qa. especially if people need this software-- if its something a lot of people are going to rely on.
Sure. It wouldn't be easy to get the data, things like code quality are difficult to measure. We'd also need a control group of the same kinds of programs in order to be able to compare long term attributes of hackathon and non-hackathon programs. I think a serious paper would be very difficult to produce.
I didn't even want to bring up my personal experience, I am thinking simply the logical point of view is enough to believe and suppose hackathons are more bad than good. Having this supported by data would be nice, but I feel like the burden of this proof is on the advocates of hackathons.
I feel like the burden of this proof is on the advocates of hackathons.
their proof is in the software they offer to people who are satisfied with the results--
maybe youre right that they shouldnt be satisfied. maybe if i had your experience, id agree with you. since i dont, i have to look at what youre saying and decide if i think its fallacious or worth considering. imo it could be both-- but your claim that the software they produce isnt good enough doesnt really tell me much. it isnt data, its an anecdote. however if i find some data that corroborates what youre saying, then at least i can say "ive heard that before, actually." im not convinced this is a bad process, nor do i know if it results in bad quality. but you do. im not sure how the burden of proof transfers to advocates of hackathons, until i find more data to support the bad outcomes you speak of.
Just as with game jams, results emerging from hackathons should not be considered final. It is unreasonable to see them as more than either mere functioning mock-ups or failed experiments. Unfortunately there's always the risk of someone running off with your ideas when concepting in the limelight. Also I think the words of Donald Knuth apply here:
"Premature optimization is the root of all evil."
Returning to the architectural analogy; a sketch is not a blueprint.
When creating a Qt GUI program, I often start out in the designer, but I do not like forms in my final program.
I've never looked at hackaton from this angle. For sure hackaton grade code is not production grade code. I suppose that some can develop bad programming habits. I've never participaded, but I envy those who do. Writing a simple app takes me so much time, a lot of redesign are implement cycles. Sometimes I wonder, if I joined I would make it...