My love/hate thing with hackathons is how it gives non-coders the idea that you can put together a product in a weekend.
There's a vast difference between hackathon code designed to maybe last for an hour during a demo (with no security or privacy concerns) and production code that can actually support a business model. And it's not just "so... that'll take twice as long to make?". Turning a weekend hackathon demo into an actual production code base can take weeks or months.
But explaining that to a non-coder is really difficult. Hackathons set expectations so high.
I got a similar feeling from the last technical test I did.
"It should take two or three hours". The failed me on a long list of nitpicks, including not setting up mocks for testing, not running pylint (I would need to install it on my personal machine) not providing a setup.py (which was never asked for) and numerous other trivial things some of which directly contradicted what the spec actually asked for.
If I had actually done all the things they complained about it would have been closer to two days worth of work. Wankers.
It was less than incompetent. Like I say some of the points went against what was actually written in the spec. They asked for a "page" of data, "no need to style it" then complained that I returned HTML and not JSON data.
Kind of pisses me off that I wasted a morning on it.
My experience with professional software development looks like this, in a loop:
Let's add a new button! How many story points is the button? (Insert 2-hour discussion about what a story point is) Okay, "Uncle Bob says" we need at least seven layers of code around it. Someone insists on doing it "TDD", even though the UI framework is not testable. Oops, the Agile Consultant broke Jira, it will be back up in two days. The PR gets stuck for days because of trailing whitespace violations. The button doesn't actually work, but the outsourced developer complains loudly until someone gives in and merges it. Review time!
The code that results from this madness is not better than Hackathon code, just bad in a different way. If anything, my last Hackathon has made me aware of how much I want to work for an effective company at some point in my life, so I guess it was worthwhile.
Totally agree that half the fun of hackathons is throwing away all that shit and just fucking building something :)
But I never have to go back to hackathon code 3 months later and fix it. Bitter experience has taught me that at least some of that stuff (like the unit tests) is not optional if I want to stay sane.
I feel your pain. But ideally, once the PR code is merged, the end result should be solid code. Anything you write at a hackathon is fake/barely-functional throwaway code that only exists for the demo at the end. There's no architecture, no error checking, and just no time for anything elegant or any real insight into your problem space.
I encourage anyone who enjoys coding together with friends in a competitive setting to check out the demo scene. Demo parties predate hackathons, but they are somewhat alike, except on demo parties you also get to drink beer and no boring corporate guy from marketing will come and steal your ideas after you've won.
I find the time constraint to be a strength (used to do these in college - won some prizes, sometimes didn’t finish in time). It’s a beautiful thing to work on an ambitious thing against a clock, knowing that if you fail you can walk away. The ticking clock forces you to put your ego and perfectionism aside and ask questions of the interesting people around you.
A hackaton can be a fun excuse to experiment with random, but when I learned about the pan european hackaton against the corona virus organised by the EU commission I didn't know if I should to laugh or cry. Its like children playing doctor:
It's also not like there are no problems outside medicine caused by the current situation. A hackathon won't solve those either, but can provide exactly the mentioned space to experiment and communicate can be the starting point for larger projects. I think the big recent ones didn't do a particularly good job at pointing people in the right direction though, so there's been a lot of projects that indeed seem questionable.
I.e. the platform that sprung up that crowdsources which stores etc closed and which didn't doesn't heal people, but has been quite helpful to find something I needed urgently. The grassroots effort that filled gaps in the PPE supply by scaling from a few hackerspaces doing 3D printed faceshield holders to organizing companies and community spaces to get parts injection-molded, material distributed, and shields assembled in the thousands is exactly about finding and connecting people with the right skills and resources. etc...
In my experience this is a solid, well thought-out list, much more than just health related. It covers a lot of ground looking at the impact this virus most likely has.
Aren't most of your "hates" about hackathons related to in-person hackathons, yet earlier in the article you say you just attended your first, which was an online hackathon? (which of-course they all are these days) I'm a bit puzzled at how you can hate elements of in-person hackathons if you've never attended one.
Maybe he hates the idea or experiences he's heard of, for in-person ones enough to never give it a shot. Which kinda detracts from the article's legitimacy, IMO.
I went to one with a few friends and it was pretty fun, if exhausting. Almost like not all hackathons are the exact same thing.
This! I participated at couple hackathons and solved the challenges of the sponsors. Basically free idea generation for corporations. Low networking value, only innovation managers and HR for graduate recruitment. Afterwards I got invitations to hackathons where I must even pay for participation. Thank you, but no!
I’ve done my fair share of hackathons, and to me it was a fun social thing. Like a rave for nerds, but, like spending the weekend in a sweaty factory staying up all night, you’re not going to make great choices and they take it out of you. But, if you’re young it’s really damn fun.
In recent years most things calling themselves "Hackathon" sadly seem to emphasize the competition aspect. You quickly find teams, it's important to be really productive in the short time, theres big prizes for the winners, and the sponsor wants something in exchange. I tend to prefer ones that are more relaxed and cooperative. Often calling themselves "hackdays" instead?
OP, if you're reading this, just some feedback that on mobile I found it hard to read due to how much real estate the header and banner take up. Screenshot:
IMHO hackathons' should have lot of constrains, and maybe even a few prep/tutorial docs to get everyone up to speed beforehand. Otherwise the scope is too huge, and everyone just codes as they would at home anyway.
His points in "What I don’t like about Hackathons" are frankly why I like hackathons (time constraint, a lot of people in same mindset, a lot of socializing)
Michael David Crawford protested a Hacker Dojo event by calling the fire department and pulling the overloaded traps the computers were hooked up to. He claimed nothing would ever come of the projects being developed and that they are using the hackers to get ideas.
The whole point of a hackathon is to have hackers meet VC people.
There's a vast difference between hackathon code designed to maybe last for an hour during a demo (with no security or privacy concerns) and production code that can actually support a business model. And it's not just "so... that'll take twice as long to make?". Turning a weekend hackathon demo into an actual production code base can take weeks or months.
But explaining that to a non-coder is really difficult. Hackathons set expectations so high.