The best piece of advice that no one ever seems to give about hackathons:
--
Hackathons may or may not be for you. Try it once. Don't stay the whole time if you don't want. If they aren't for you, don't go again. If they are, great, have an awesome time.
--
For some reason, they're touted as this end-all be-all social event that if you don't go to YOU ARE MISSING OUT AND YOU WILL NEVER RECOVER. As many people posted here, the situation's combination of adrenaline and seratonin depletion gets people into some pretty seriously fucked mental states that causes odd group dynamics. Some will thrive on this. Some hate it.
Case in point: I grew up in the rural midwest, but had computers. So computers are something I deal best with in situations with little to no people around. Hackathons are the opposite of that. Took me like, 2 attendances to realize that, and now I just avoid them. Hell, I even avoid career situations that put me in that environment, because I don't work well there.
Not to say I haven't pulled some insanely stupid hours in my time, but I still even did most of those alone, and I'll continue to do so.
> Case in point: I grew up in the rural midwest, but had computers. So computers are something I deal best with in situations with little to no people around. Hackathons are the opposite of that. Took me like, 2 attendances to realize that, and now I just avoid them. Hell, I even avoid career situations that put me in that environment, because I don't work well there.
Sounds familiar. I think there's basically two types of developers (and people): extroverts and introverts. Hackathons, 'social' coding, pair programming and whatnots are for the extroverted category; external stimulation (in the form of other people, the ability to bounce ideas off of them) is what stimulates them, while introverts don't need that to become stimulated; they can, in fact, be overstimulated and end up trying to filter out the excess of impulses, which is draining to them, not to mention distracting.
I've attended two hackathons. The first was for Open Government projects, and it was well-organized and low-pressure. I didn't pull an all-nighter, but I doubt anyone did. I attended the whole thing and really enjoyed myself.
The other was a much bigger affair with at least as many biz folk and designers as programmers. I was pitched on all kinds of half-baked ambitious ideas. It seemed like a big scheme to get programmers to build MVPs on spec. After the first night I didn't go back.
Something I like a lot that is much more sustainable is weekly "hack nights." Here in Portland we have many of these. Generally they meet at a pub, and there are maybe 10 people who show up, work on the side projects, and socialize. I've found those to be great: you meet people, you catch up, and you get a little done. And around 10 or 11 you go home.
All of these are valid criticisms, but in my mind a hackathon is a treat: pizza, soda and staying up all night is fun sometimes, regardless of whether you play Halo, watch movies, or write a cool app. I agree with a lot of the comments that say you can't get much done; it's mostly a case of connecting existing libraries and data sources to create a sort of 'mash-up'.
That said, being able to prototype quickly is an awesome skill, and it completely exercises different parts of my skillset than my normal job. Going from coding a large C application, to hacking together a Ruby app is a very refreshing experience. Maybe if you spend your whole day working on the same stack in the same domain, it's less fun.
Finally, it's a good way to get something you've had in mind done. If your whole life isn't made of crunches, the occasional high-stress, urgent deadline situation is (once again) a welcome change. For people who work under these conditions all the time, yeah, it's probably not fun.
I went to my first hackathon last weekend, and I'll agree, it definitely is a treat! It's a lot of fun to practice something you don't normally do, but I definitely think it's not something to do for the result. The process and crunch time is what really makes it any fun.
What surprised me the most is how much time I needed alone. A lot of my best design decisions come to me when I'm holed up in the shower, and the hustle and bustle of a hackathon isn't anything close to that. I couldn't make any sound design decisions while really "at" the hackathon. I ended up repeating the same pattern: I'd hole up in a corner for a bit, or wander off for a walk. Then with a little focus, I could figure out what I was actually coding!
Coming "back" to the hackathon, however, was really important, as it kept my work ethic honest. I have a problem with premature optimization (not to just mention laziness), and the environment made me want to get back to work. You don't want to be the odd kid out just staring at browser tabs all day!
Sometimes, you gotta churn out code after you've made all the sexy design decisions, where the work is really just laborious idea-to-code elaboration. That's usually really hard for me to do, but a hackathon is a really good place for that sort of work.
Hackatons are fun. I don't get the point of saying that hanging out with people with similar, drinking beer and eating pizza is somehow bad for you. Maybe is about seeing it less as a competition and more like a regular social event.
When I moved to SF I knew next to nobody. I worked freelance at a coworking place and went to hackathons. Most of my SF friends are from these social environments.
I think the bigger issue here is not that they can't be fun, it's, basically, coding under duress and how society views programmers. Sure, if you're going to a hackathon to party and hang out, then it's not really a hackathon - it's a party. If you have to produce a usable result, then you will fail.
The op is absolutely right - we are constrained by our physical bodies and they require the proper fuel and rest in order to operate at peak efficiency. Just because you're using your brain instead of certain muscles, doesn't mean you can consume garbage. This isn't a bad on your comment as much as is it a comment on society as a whole. The whole Zuck bs legend has really damaged programming on multiple levels and it completely reject that ethos.
I've worked with devs that ate garbage all day, couldn't sleep, always came in late (they were non-drinkers too) and their job performance sucked. Their attention sucked. Their attitude sucked. Their code sucked. Needless to say they were all fired. But alas, this is a tale not about the voices of reason, but of bs movies and news headlines and even tho the op is critical (realistic?) of this, that opinion I'm sure is in the minority.
> if you're going to a hackathon to party and hang out, then it's not really a hackathon
so a hackathon is only coding without socializing to get victory? Accept that people don't generally see hackaton as a competition but as a place to have fun.
> we are constrained by our physical bodies and they require the proper fuel and rest in order to operate at peak efficiency
yes, and a hackaton can't ask people to gather somewhere they don't necessarily live for days, weeks, etc...
Yea, I definitely know that within my college experiences with hackathons, it was something that everyone looked forward to. You would be able to create something cool, hangout with your friends, get free food, and just have a great time.
Hackathons run by companies have always seemed to me to be a way for them to unleash creative thinking without having to devote significant company time to it or make strategic tradeoffs.
The best companies find a way to build the spirit of hackathons into the daily culture and provide scheduled, dedicated time to do this during normal business hours.
That being said, if you're young and have no kids then hackathons are probably a lot of fun. After you have other commitments in life, it just doesn't work.
If you're running a hackathon in a company do it on company time and make sure to be prepared to do something with the ideas they generate. Results of our recent hackathon is a good example how to do it: out of 7 out of 14 projects are finding their way to the product roadmap. We run it on Thursday-Friday with demos on Monday morning.
If you don't follow up, event may backfire and will remain an example how a company merely pays lip service to ideas coming from developers.
"Hackathons run by companies have always seemed to me to be a way for them to unleash creative thinking without having to devote significant company time to it or make strategic tradeoffs."
Yes. The internal hackathons I've been involved with have taught me a lot about a) problems developers face that they're motivated to fix, and b) areas developers are personally interested in and motivated to put forth some effort. (I suppose those are sort of the same thing, although what I meant by the first was fixing problems, and the second was introducing new features or products.)
The internal hackathons at Yahoo (Europe) were essentially an exercise in futility. They jumped on the hackathon bandwagon, but were unprepared to deal with the after effects of a hackday - what to do with these ideas.
From what I saw, hackday was used to pretend the organisation cared about the ideas of it's engineers and web developers, but at a safe enough distance not to affect their product roadmap. When push came to shove we were all enthusiastically encouraged to patent our ideas, because it protects us from evil people stealing all our ideas. Naturally I refused.
The Yahoo Open Hackdays also, was an exercise in futility. Yahoo didn't do anything with ideas generated, or encouraged the people who attended and built something. It was just a two day event over a weekend where a venue was populated by groups of people who may be building something, or not. Esssentially it was just a marketing ploy to get developers using the Yahoo APIs for a weekend.
Looking at that, these hackdays offered no value. I don't need a hackday / hack-weekend to work on ideas I consider interesting. I don't need to be in a noisy drafty building where the roof opens up during a thunderstorm ( http://developer.yahoo.com/blogs/ydn/posts/2007/06/hack_day_... ).
I gave up on the internal hackdays, after participating in two: winning one, and getting a notable mention for the second. Ideas are no good gathering dust on the shelf. And all hackdays accomplished was for the company to have an inkling on the ideas I was working on in my own time, so they could decide to claim ownership if they liked.
Open Hackdays are only useful to meet up with people you haven't seen for a long time. So having free beer and pizza is useful, I guess.
To be honest, the things I did gain from being at an open hackday:
* Watching James Aylett build a social network from scratch, and fully unit-tested. That demolished most of my reservations of unit-testing and development agility.
* Meeting some of fine Yahoo US folk during that time: Ryan Kennedy and Dav Glass.
* The internal hackday win led me to meeting David Filo to give him a quick demo. Not often I meet people who are also Wikipedia entries.
It all depends how you approach it. We recently went away for a week (with our wives) as a development team, locked ourselves in a rural cottage, and built the first iteration of an iPhone app for the site.
We worked normal hours, spent evenings relaxing, and still got a huge amount done in the week because we weren't in the usual environment of having distractions and other things popping up. A great time was had, and because we hadn't spent a weekend coding for 36 hours straight we were fresh and ready to go on Monday morning.
At my last job I worked at a YC startup where the entire codebase was written in the 3 months leading up to demo day when the team was under a lot of time pressure. Sure it worked fine as a demo, but with the pace of startup land this same code was then thrown into production and as the startup grew the codebase couldn't quite keep up. There weren't many catastrophic failures but there ended up being a lot of patching that had to happen on a daily basis. I would say 80% of my time was spent tracking down weird bugs in the code and trying to figure out what the hell the original authors were thinking when they designed things so poorly.
The point is, you probably will write really bad code if you are under a lot of time pressure. Hackathons seem like they are probably useful for some things like bouncing around ideas and quickly fleshing stuff out but please, for the love of god, if you decide to take your hackathon idea and run with it DELETE ALL OF YOUR CODE. Just do it. Then take some time and think through your overall design because trying to make major modifications when there are paying customers relying on your site every day really sucks.
In my experience (at various hackathons, global game jams and startup weekends), the tactic that's given me most success is to be very strict about what features to implement, and to keep any unfamiliar technologies at a minimum. When you only have so much time, don't waste it writing profile settings pages (why even have auth at all? everyone just types in a username and they're logged in as that person now!), don't waste time dealing with any browser compatibility (just program for chrome, or whatever tablet you're going to demo on). There are so many things that I've seen other people mess around with that just wastes your time and energy.
Regarding unfamiliar technologies, choose a stack you're used to (that way, you don't waste time debugging/googling how to do something) and use whatever helps you get things done fast. If anything, have one unknown thing in the mix so you can take advantage of the learning opportunity. Just make sure that thing is necessary for the product you're working on of course - for example, use mongodb's geospatial indexes for that geo-aware app, or try out d3 for those nifty interactive charts, or use websockets/zeromq for a real-time system.
Hackathons to me have almost been about pushing developers to the limits within a 24/36 hour time frame for free, an excuse used by companies to exploit the "hacker" gimmick and keep most of the IP afterwards. Give them some beer, some pizza and energy drinks and make them stare at a screen all night. I often code at night, but I would never code 24 hours straight, let alone 36 hours.
I only ever entered one hackathon and it wasn't as great as some would tell you. The peer pressure you feel to keep going even when you feel like you're going to pass out from exhaustion is immense. Not a great feeling and I wouldn't recommend it, the fun part is overrated.
I don't know how most places do them, but when something similar was suggested in my place, it was all weekend hack for the company's brand's benefit without us devs getting paid for it.
Part of the confusion here is that, I think, people treat different kind of hackatons differently. I took part in 48-hour coding contests long before they were even called 'hackatons' (back then we called them Jams). Those are some of the best coding experiences in my life. Working in small teams on something fun and creative with tight deadline was absolutely exhilarating and reinvigorating. But there's one caveat.
We did this by ourselves, for ourselves. For fun.
What I personally strongly dislike are the 'company hackatons', in which developers from a company are basically tricked to do some unpaid work for the company. In my opinion, it's dishonest. You can feel the difference in the air - events that are created by the dev community for themselves to play and improve just smell different than the ones started by managers.
So for me, the problem with hackatons boils down to the problem of "fun" vs. "work". Things started as fun, but they seem to be turning more and more into work. Just like in case of SEO and the Web, it's all great until someone from outside comes who wants to profit on this, and this is why we can't have nice things.
We had an internal hackathon at work two weeks ago. I'm really new to the industry and this was my first one and I gotta say I agree with this guy on all counts.
It seems to mesh well with another part of the developers lifestyle though: a severe lack of free time.
"But in the end, I really feel that Hackathons are beneficial less as a place and time to code out your next big idea, but more of a time to mingle and bond with the community. It’s like a gathering of the tribe. And personally, there is more value in that than actually developing anything."
Perhaps in the future I will focus on hackathon projects that are technically unstressful and allow me real time to bond and discuss with the community.
I'll say this up front... I love hackathons (and similar events: ICFP programming contest). I have fun hanging out with a bunch of like minded people, and I find that I learn a ton when I force myself to sit down and actually make something. I can certainly see the points about food/drink, however, the events I've been to (and hosted a bit of) did have healthy options. I think there would be a mass lynching if there weren't unhealthy options too, but ah well, caveat emptor.
However! I actually don't think that occasional hackathons (everything in moderation) is harmful to hacker culture. People do not model their lives around hackathons. As a participant, I can tell you that I do not want to feel that crappy on a regular basis under any circumstances. Rather, hackathons are a reflection of a culture that already exists. Fix the culture, not the results, because I'm sure that lack of good sleep, diet, and exercise are far more pervasive and prevelant problems outside of hackathons.
I think the dysfunctional approach to "hackathons" described here leads to a lot of people just not participating. Maybe it's a stereotype, but for myself and other women I know, the idea of not getting enough sleep and eating crappy food while working for hours and hours isn't very appealing at all.
An exception were the Food + Tech hackathons I went to when I lived in NYC. They took place during the day and there was a variety of good food to eat no matter what your food preferences were. I'd love to organize something like that in Chicago.
I did try to organize a gourmet hack night but it didn't go so well. I got duck confit on my keyboard.
Caffeine isn't a diuretic if you use it regularly. From Wikipedia: "Regular users of caffeine have been shown to develop a strong tolerance to the diuretic effect, and studies have generally failed to support the notion that ordinary consumption of caffeinated beverages contributes significantly to dehydration, even in athletes."
"Contrary to popular belief, caffeine does not act as a diuretic when consumed in moderation (less than five cups a day or 500 to 600 milligrams), and does not lead to dehydration or to a water-electrolyte imbalance; current evidence suggests that caffeinated beverages contribute to the body's daily fluid requirements no differently from pure water."
This particular misconception is kind of a pet peeve of mine, and it drives me nuts how widespread it is.
As someone who has consumed copious * 10 amounts of caffeine, I would disagree. The tolerance to the diuretic effect isn't that much. What some people refer to as "tolerance" is more the effect of dehydration. Of course, drinking large quantities of water to balance the large quantities of caffeinated beverages isn't a brilliant idea either..
As others have posted, scientific evidence shows no diuretic effect. You are peeing a lot because you are drinking a lot. You would have to pee just as much if you were drinking water.
Not true. I have gone off coffee and caffeine a couple of times over the last 6 or 7 years. When I drink a few cups of coffee, I'm up to the bathroom a half dozen times a day. When I switch to a water bottle, I only have to go maybe once per day (during work hours). The difference is stark and the amount of liquid is not the issue.
Is immature snarkiness really needed when someone is talking about a real physical effect carefully observed over years?
Caffeine gives me an urgency to urinate. Having that first urination in the morning after drinking coffee is just like the effect many people describe after drinking the beer. See "Breaking the seal".
I remember the first time I heard the word "hackathon" was in the context of OpenBSD. The folks that worked on that were geographically distributed throughout the world, and approximately once per year they'd meet in a hotel in Canada and have their one chance to work collaboratively in person instead of over email. It sounded cool.
I don't remember when I first heard the Bay Area usage of the word "hackathon", but it sounded decidedly less cool.
Large-scale Hackathons are the best thing that's ever happened. I've learned new languages/frameworks, tools, platforms, and even learned nearly everything I know about programming at hackathons.
Its hard to find a better environment for learning than one in which you are building something you are passionate about and overcoming obstacles like nobodys business with a hard external deadline and plenty of incentive without having to even worry about getting food/drinks/anything at all.
Wow you conjured images of cocaine addicts in my head. Or the less ominous 'sugar rush'. Hackathons should be peaks of activity / motivation / energy, not THE place where you learn 'nearly everything'. You need to find a way to motivate yourself in a calm and relaxed environment.
Coming from zero experience in programming, there wasn't a better place to begin learning. Where better to begin learning than in a room full of top-notch programmers and experts who are 100% willing to help you out?
> Working late into the night and not sleeping for days is lauded and almost considered a necessity by many these days.
> And leaving long-term health out of the equation, lack of sleep hasn’t been known to improve your focus or the ability to be logical or creative, all of which are critical skills for developers.
For me personally, I code late at night because it's the only time during the day when I can truly be distraction-free. No incoming emails, no meetings, no phone calls, no running into people. Coding happens best when you can concentrate for long periods of time [1], and the best time to concentrate is when the rest of the world is asleep. YMMV.
The logic does not prove that something is worth doing, it proves that the one particular argument for something being not worth doing is invalid. "This can lead to hypothetical bad result x" isn't a valid argument by itself, meth is only bad because the badness is sufficiently bad enough, not simply because it is not the healthiest possible choice.
It is a fallacy to assume that if a particular argument is wrong that the opposite of its conclusions must be true. You can easily think everything the blog post says is incorrect and also think hackathons are bad.
I was part of the 'startup weekend' in raleigh last april. Our team came in 2nd out of 20 (actually, there was a 3 way tie for 2nd).
Most other teams had somewhere between 4 and 8 developers or related technical folks. Our team had 1 - me. I know other teams got mired in arguments about what version of Rails to use, which gems, and various other technical trivia, I had just me to answer to, and I got quite a lot done. Other teams got a lot done too, no doubt, but one person just hacking with some non-dev minds to bounce ideas off of was just as effective - perhaps moreso - than a team of developers.
At the halfway point we chatted with another team. I showed what we'd (I) had done, and one guy smirked some. He then showed their system - a mobile app that did XYZ, had some neat features, and was pretty far along. Someone on my team said "but we've only got one developer", and the guy changed his tune, and became visibly impressed in what I'd been able to build in... at that time, around 12 hours. They'd had a team of, I think, 6 devs.
The point is not that I'm some super coder, but that focused concentration and time blocks with a handful of people can get a lot done quickly.
I have never experienced a hackathon, most similar thing that comes to my mind, that I was part of are hackfests on some open-source conferences and those were pretty great.
Usualy a hackfest meant bunch of coders interested in a project sitting in a room for ~5 hours and doing bug fixing, new features, or just discussing. Everything is good in moderation, I guess.
I am totally lost by this post. I've attended several hackathons, but they're nothing like what's described. They tend to be 9-to-5 affairs stretched out over several days. The food at the last one had a lot of fruit, healthy sandwiches, plenty of water, juice, coffee, tea, (and yes, some junk food). We saved the boozing for dinner.
And the hackathons weren't a distraction. Yes, some people ran around and talked a lot and there was definitely socializing going on (if you're not a people person, a hackathon may not be for you), but really: a lot of the talk was with people who were experts in the problem area we were gathered to deal with and this made us so much more productive. I've been to five or six hackathons now and generally just about everyone turns out plenty of great stuff there.
We got a lot of great stuff done, had some fun, caught up with old friends and got to visit a new country (well, not me. The hackathon was here in Paris).
That's the problem with "X is bad/terrible" posts. They focus on one interpretation or implementation then focuses on the bad parts of that one version of the concept. Are late night sleep deprived coding fests terrible ideas as a sustainable lifestyle/development style? Yes. Is that the point of all (or even most) hackathons? No.
The most serious problem with hackathons is that many of them create the misconception that anyone can build a product in a weekend. Most cannot.
A few can build a great prototype; an even smaller miniscule few can build a product. But most hackathon participants produce either no code at all or terrible code.
This is fine if all you want is to make friends or build working relationships or make a throwaway prototype.
But, if you want to make a lasting code contribution, it's almost certainly got to be a small feature or bugfix on an established project, for which the problem definition, skill set required, and relevant parts of the codebase were documented in some detail before the hackathon. Very few hackathons have this level of preparation.
Better preparation or better expectation-setting -- that's what is needed.
Hackathons are just a formalization of what we already do when we're building something we care about. Everyone should take care of themselves but if you care deeply about something and want to change the world, hacking all night once in a while can be invigorating.
The energy, collaboration, exposure to new technology, people, ideas, creativity … far outweighs the cons here. No one’s forcing you to stay until 5AM and eat nothing but skittles and trail mix.
I've done a couple hackathons and while I did lose a good amount of sleep and loaded up on caffeine I found them to be fun and thoroughly enjoyable.
Too be honest I didn't find them any different than the times I have picked up a new game or book and stayed up all night playing/reading or spent time with friends playing marathons tournaments.
Hackathons are no better or worse than a majority of the other things we do, they just happen to be sponsored events where you don't spend all your own money on junk food.
I've only been to hackathons that last eight hours tops and usually involve terrific beer and food (ahh, Portland...).
Especially as a mom with a full-time job, I love the focus on getting things done at hackathons, as contrasted with other nerd gatherings, where the focus is on chit-chat.
Startup Weekend's 48 hours with no sleep model sounds very unhealthy to me, but an excuse to crunch away at a side project for a few hours with free beer and friendly nerds? Yes, please.
A couple points from my experiences, which are really just a sample of corporately sponsored hackathons in LA:
1. In about 6 hackathons over the course of the year, none had alcohol and only one had a post event get together at a bar (Startup Weekend).
2. Generally speaking the food tends to be pretty good quality if you behave yourself. I've never been to one where fruit and salad weren't available. You can drink a gallon of soda and eat a lot of fattening food if you prefer.
3. If you're paying attention you'll find that the people who leave at a decent hour, sleep, and come back early rested and refreshed get more done. I've always finished every project I've been a part of because I stay sharp.
When I was much younger (high school) I used to stay up all night with friends, code, drink Coke, eat unhealthy foods - for fun. No exchange of currency involved. Then I would go and sleep until 2PM. Now I can't do that any more.
The other point is that even activity that is generally considered healthy, like sports, when forced upon you by various means, is going to be a negative. Forcing someone to run adds stress. Running because you enjoy it and want to run reduces stress.
I disagree with his insistence that one must lose sleep to win a hackathon.
Our >40k employee corporation had our first annual corporate hackathon in 2012. I led the team of six that beat forty-seven other teams to win the whole hackathon. No one on my team took any less than twelve hours off between day one and day two.
A hackathon is about developing an impressive minimum viable product and demo. It is not about building a finished product.
...said by someone that is no good at hackathons. :)
Honestly though, hack on something you can finish in a few hours and go home and come back the next day to tell people about it. I'm still running twickery.com from the last F8 opengraph hackathon I went to. Spent a few hours and still use it now.
Hackathons give you an excuse to scratch an itch, learn something new and challenge yourself.
I find it odd that internal motivation could be so low that someone would need to wait for an external motivation, like a hackathon, in order to do something they wanted to do, like learn something new or challenge themselves.
Sometimes it's about having an excuse to make the time. I like the idea of building small games but I can never find the time until I specifically book a weekend "off" to do Ludum Dare.
Article text (there were also about three images):
Hackathons are bad for you.
I love developer communities. I love the spirit, the comradery and energy. But in the last couple of years or so, Hackthons have spread through the community like a plague. There are Hackathons around technologies, ideologies and everything in between. And I feel there is an urgent need to eradicate them.
Here is my main beef with Hackathon. They’re encouraging and spreading a perverse culture of unhealthy lifestyle and unsustainable workflow which has been made popular by sensational media and film.
Here’s a standard recipe for a Hackathon.
Gather a bunch of developers in a location.
Supply them copious amounts of junk food, booze and caffeine.
Tell them to get cracking for 24hrs.
Sounds familiar?
Sleep
There is an almost masochistic take on sleep deprivation in the developer community. (It might be true with other professions, but let’s focus on the devs.) Working late into the night and not sleeping for days is lauded and almost considered a necessity by many these days. Hackthons, many of which last 24hrs, only serve to glorify that.
It is well-known that sleep deprivation has only negative effects on health. Sadly, popular culture in the community has only strengthened the indifference towards health. Y-combinator’s popularized (and prefered?) archetype for founder/developers who eat ramen and code into the night, or the life of Mark Zuckerberg as showcased in the movie The Social Network only make things worse.
And leaving long-term health out of the equation, lack of sleep hasn’t been known to improve your focus or the ability to be logical or creative, all of which are critical skills for developers.
When was the last time you wrote a piece of code while being totally sleep deprived, and looked at it after you woke up to say it was the most beautiful, elegant and awesome piece of code you’ve ever written?
A good nights rest and a fresh mind are critical for a good developer, that’s one thing that Hackathons completely miss.
Food and Drink
Next to sleep, your body needs good fuel to keep going. And NO! I don’t mean coffee. As much as I love my coffee, binging on coffee, red bull or is rarely good for focus. Not to mention alcohol, which makes matters worse.
It’s a short-term vs long-term trade-off. Coffee (and possibly alcohol, although I am skeptical abt it), do help you feel more focused in the short-term. But both caffeine and alcohol are diuretics and only make you lose more water in the long-term. A dehydrated body isn’t much of a help when you need your brain to focus and solve problems. “When was the last time you saw an isotonic drink at a Hackathon?”
Junk food isn’t much of a help to that. I am not even going to touch on long-term effects of eating high carb diets. The usual Hackathon menu of pizza and candy is full of carbohydrates. While sugar highs are great for short-term focus (maybe??) you tend to feel hungry very quickly after a carb heavy meal. That only means you going around for another round of pizza/candy etc. Not really the best way to focus is it?
Sedentary lifestyle
More and more research is showing a link between a sitting lifestyle and health issues. Developers are unfortunate to have a job which is inherently sedentary. Hackthons again make it worse by inciting developers to sit at the same place for 24hrs. “I’m sure your back will thank you at the end of that!”.
And what’s worse is since most Hackathon are held on weekends, the one day you usually get to be active is also spent being sedentary.
Distraction
Hackathons are distraction. There are a ton of things going on. People are talking, discussing ideas, giving talks or just hanging out. All that is competing for your attention while you need to focus. Add caffeine to that mix and that’s one hell of a party on thought in your mind. Noise cancelling headphones help, but then what’s the point?
Solutions?
I’m pretty sure there are better ways to organize hackthons. Having them over 2 days of 12hrs slots would be an idea, to combat sleep deprivation. Supplying and encouraging healthier eating and drinking options would be really useful. Fruits, nuts, and other healthy food are options. Similarly with drink, having access to isotonic drinks and lots of plain water should be a priority. Encouraging participants to do physical activities like calisthenics or just going out for walks on a regular schedule are options to consider.
But in the end, I really feel that Hackathons are beneficial less as a place and time to code out your next big idea, but more of a time to mingle and bond with the community. It’s like a gathering of the tribe. And personally, there is more value in that than actually developing anything.
TL;DR; : Hackthons promote unhealthy lifestyle. If you’re organizing one, urge your participants to hydrate regularly, eat healthy meals and take regular breaks where they do some type of physical activities.
The organizers of last 2 hackathon I participated seems to think that there is no meaning in providing plain water when they have soft drinks for the event. Not to mention the event was held in a pretty remote event. I had to drive 20 minutes to get a drink that don't make my mouth feels like ant feeds.
Yup, which is why those of us that do care about our health just can't wait to maintain the code of those that feel this way after they either die young or end up feeble and unable to maintain themselves much less their projects!
Your brain and whatever else on your body you're currently using to get code from brain to computer are surrounded by a lot things that are important to keep them running and talking to each other. Forget that, and they'll stop. Quickly, and painfully.
I would disagree with that point then. Staying up most of the night and therefore sleep depriving yourself will make you less cognitively able the next morning compared to if you slept 8 hours, but the amount you are able to write in the time you chose to stay up outweighs the slight increase in productivity you would have the next morning from sleeping all night.
And more specifically, even to those of us where it is a high priority, it doesn't have to be 24/7. Like going partying at the weekend is for many "healthy" people, so things like hackathons and Red Bull binges can be for hackers too.
I agree. I'd trade some stomach pain (due to junk food) to get the opportunity to meet someone like minded, or with skills complementing mine, so that some friendship/collaboration/startup) can start.
Moderation is the key. If you attend hackathons often, it really has negative impact on your health, just like spending all weekend nights in a disco, drinking alcohol until morning also does (and allot more people do the latter).
Maybe the author has had a run of bad luck, or I've been lucky in the numerous hackathons I've attended, but I've never been a part of a hackathon where it met his "standard recipe for a Hackathon."
The real crime is that programmers have so little time for the exploratory work that the career requires that they have to do all of that off-hours.
Doctors can read medical journals and call it "working time". Most programmers have feces thrown at them if they're caught learning on the job. This is just something we have to suffer until we develop a stronger tribal identity and demand the conditions of a profession (including ethical rights and obligations that supersede immediate managerial authority).
Do surgeons spend 40 hours per week, 50 weeks per year, cutting open bodies? Of course not. No one would allow it. They work a full work-week, but they spend a lot of that time keeping current with the field. That's how professions are supposed to work. Your metered work obligation is ~15 hours per week, and the other 25-40 you spend keeping current, networking, and performing other off-meter, self-directed work that is important to you and the profession.
Now, hackathons. There are two things one should know about that. The first is that the association of programming with the night hours is a bit of cultural legacy. Forty years ago, when computing resources were shared and scarce, night was the only time you could get low-priority (exploratory) jobs to run. So the hobbyists (young people, usually with access through a connection or favor) did their work at night. Now, we have enough in the way of resources that people can work at any time. Some people are most productive between 6 and 10 in the morning. Others are best from 8 pm to midnight. Whatever works.
The second is that hackathons seem, in many organizations, to exist to recapture the college lifestyle for people who haven't realized yet that It's Gone Forever. The hackathon recreates the "good old days" (?) of the 3:00 am, caffeine-fueled coding fests to get that hard-ass final project to work. It's not terribly unhealthy when you're a college student and have that kind of schedule autonomy (you can crash for a week) but it's a terrible idea to mix that lifestyle with the 9-to-5 regular workday. Also, most final projects are Done, submitted for a grade, and never need to be looked at again. This isn't the case for real-world software.
I tend to see most company's 20%-time and hack-day programs as negative spaces that define anything programmers actually enjoy as "not real work" (because they can be tricked into doing it "for free"). I can't even count the number of times I've seen people using 20%T programs to do things that, if they didn't have short-sighted imbeciles for managers, would just be regular-ol' working time.
Doctors can read medical journals and call it "working time"
Where did you get that idea? I grew up in a family of doctors. If they aren't seeing patients, they aren't billing. They go to school an unthinkably long number of years and then they're put into a sleep depravation nightmare called "interning" for years before they get to have a career that normally includes "on call time" where they're woken up at all hours of the night to go save someone's life.
Sitting around reading journals is what they do on their off time. Everything in your analogy is wrong.
Correct. I probably should not have invoked medicine, because (a) the doctor shortage has produced a culture of very long hours, (b) high fixed costs (e.g. malpractice insurance) skew the relationship between hours worked and payoff, and (c) there is a well-known and long period of intense professional hazing.
The ideal of professionalism is a good one. It has been under attack over the past 30 years.
Incidentally, both the medical and legal profession have suffered in opposite ways. The AMA imposed tight limits on medical school admissions in order to create a doctor shortage, and that has generated a huge per-doctor workload. On the other hand, the lack of control (and declining standards) in law has created a surplus of attorneys that has destroyed the professional culture in traditionally "white shoe" firms.
Doctors suffer very long hours (especially as residents) because there is too much work. Lawyers live in an imploded culture because there is so little desirable work (per attorney) that the partners hold all the cards.
This is irrelevant to software engineers, who should (by any standard or moral calculus) have the autonomy accorded a profession but, currently, do not. It's up to our generation to change that.
Perhaps I shouldn't have picked medicine as an example. The principle of professionalism is sound, but many of the traditional professions have departed from it. Law has outright imploded, while medicine has seen very long hours on account of the doctor shortage.
If they aren't seeing patients, they aren't billing.
Right, but 2000 hours per year wasn't traditionally the requirement. That may have changed. The professions have declined over the past 30 years.
For example, before the legal profession went to hell, 1200 billable hours was the requirement. Remaining time was for networking, keeping current, attending conferences, etc. If you billed 1500 hours, you were a rock star and guaranteed to make partner. Enough money was made in the billed hours to pay for the off-meter stuff.
They go to school an unthinkably long number of years and then they're put into a sleep depravation nightmare called "interning" for years
That is true. Medical school and residency are extremely difficult.
before they get to have a career that normally includes "on call time" where they're woken up at all hours of the night to go save someone's life.
Obviously, medicine can't be limited to the 9-to-5 hours, because people get sick all the time.
Regarding the very long work weeks, this problem was at least partially created by the AMA. They've been limiting medical school admissions to keep an artificial shortage of doctors. That has created an environment in which working hours are much more than they used to be.
For example, before the legal profession went to hell, 1200 billable hours was the requirement. Remaining time was for networking, keeping current, attending conferences, etc. If you billed 1500 hours, you were a rock star and guaranteed to make partner. Enough money was made in the billed hours to pay for the off-meter stuff.
I don't know who told you this, but this is inaccurate. 1600 was the normal billable hour standard prior to the legal boom among large law firms; 1500 was the standard among smaller law firms. Government lawyers were expected to spend 1800 hours or more on legal tasks (36 hours/week accounting for 2 weeks vacation). 1200 was only ever the requirement for partners, since their time by necessity include a lot of unbillable time spent with clients or potential clients.
Enough money was made in the billed hours to pay for the off-meter stuff
Lawyers used to bill their clients for everything, including the paper drafts were printed on. When the state bar associations and clients clamped down on these practices in the late 1990s, billing rates started going up, and kept going up when firms realized that clients were willing to pay.
I don't think your point about the AMA is entirely accurate; I know people that have been practicing medicine for 40 years and they would disagree about the increase in hours per week; in fact, residents now have a cap on the number of hours per week they can work, something that didn't exist in the past.
A bigger problem with the AMA is that it's made up almost entirely of academics and yet wields a massive amount of power over the government's decisions regarding clinical practice.
The thing you might not realize is that in order to maintain board certification, doctors HAVE to read periodicals and go to conferences. There's a continuing education requirement so that they stay current.
"A bigger problem with the AMA is that it's made up almost entirely of academics" followed by "There's a continuing education requirement so that they stay current."
Which is the the fox guarding the hen house. The academics controlling the AMA guarantee their own paychecks. And as you said this, academics controlling the AMA, is the bigger problem. It leads to a huge conflict of interests.
"Your metered work obligation is ~15 hours per week, and the other 25-40 you spend keeping current, networking, and performing other off-meter, self-directed work that is important to you and the profession."
That sounds like the work schedule of professors at universities, but that's the only profession that springs to mind.
The professions (especially academia) have all fallen from grace over the past few decades. Given the abysmal quality of leadership the American business world has had (pay more, get less) it shouldn't be surprising.
I don't know if it's a cultural legacy. Most engineering heavy firms where people are allowed to set their own hours have people roll in between 10 and 11. I don't think I've ever been to a tech company where the majority of people are in by 9 unless they have to.
I think plenty of programmers tend to be natural night owls and it's not uncommon for them to be working at 3am out of their own preference.
The real crime is that programmers have so little time for the exploratory work that the career requires that they have to do all of that off-hours
All professionals do this: doctors, lawyers, accountants, etc. This is why professionals get paid more than non-professionals; they are expected to learn on their own time rather than on the job. Even employers who provide continuing education at the workplace don't count that time as billable time. (Note that people who members of multiple professions must satisfy professional obligations for all of those professions, i.e., a lawyer-accountant must satisfy both CLE and CPE requirements.)
"The real crime is that programmers have so little time for the exploratory work that the career requires that they have to do all of that off-hours."
You want to get paid for improving your craft? Your professional development is up to you. If you are passionate about your choice of a profession, then money shouldn't matter. You will do what ever it takes to learn, experiment and grow your skills because it is what you want. At work we do what we have to to get things done. If we are contributing to our personal experience on work time, are we not taking away from the task at hand if the exploration does not further that task? Hopefully, you can someday work for a company that encourages and facilitates personal development woot!. Hackathons are all about getting together and sharing ideas and pushing the envelope. Or should be in any case. The venue, the timing, the subject matter, all contribute or detract from the experience. But most of all it is the mix of people that make the difference, and the experience itself. Some of my best experiences have been late nights in a "skunk-works" project, building something we weren't sure could be built, and sure enough we did it! It didn't feel like work it felt like an adventure! I hope you get to experience something like that in the future. Don't confuse work and making yourself better. Think about changing the Hackathons for the better -- you get out what you put in.
This depends very much on one's employer. For example, I have enough time to do a reasonable amount of technical research and personal development related to my job each week. And that's even in a "boring corporate" environment.
"The real crime is that programmers have so little time for the exploratory work that the career requires that they have to do all of that off-hours."
One should be wary of making generalizations like this. "Programmers have" or "Programmers don't have" groups an awful lot of extremely different people, and an extreme variation of experience, into one seemingly whole glossy industry.
When I programmed for hire, I never had any problem at all learning on the job. My jobs paid for books, training, and conferences. (Two of my jobs paid for conferences where I was accepted to speak -- that was part of my negotiation.) I also never had any issue charging for research & exploration time explicitly labeled as such in my freelance contracts.
Programmers have one of the world's most in-demand skills. If they have a sucky job that limits their growth, well, they should take those in-demand skills elsewhere. If they don't know how, or are afraid, they should suck it up and figure out how. Read a book on salary negotiation or how to attract better clients. Ask somebody. There's tons of info out there. There's no excuse. If they believe that they have nothing special to offer, so they are at a disadvantage in negotiations, then they have to figure out "Is that true?" and if yes "Then what can I do to gain leverage?"
Attended one sometime back. What hit me was that they didn't even bother to bring water and they remembered when I needed some. Needless to say there was pizza(and the way it was spread around was "yuck"), there was soft drink and beer and there was no water; neither any fruit or even trace of some healthy food or just food.
Nothing new or innovative came out other than sore backs, necks and a guy puking. Yes, there were some 'nice' hacks like "this guy build this using that hooking into that that API and showing this again".
Midway, I felt like sleeping - there wasn't any space and I was sort of looked down upon with scorn - as in "he doesn't belong here". Well, I didn't. I had built a little web app that did some basic(very) search with Tw/Fb. Nth I would like to see or ponder over again. I slept in a corner anyway(had my sleeping bag).
Bad thing it wasn't fun either.
Moral of the story - it's good for sort of a meet-up, not for 'breaking the ground' with your ideas :-)
And if you have to organize one - make sure there's food, water and some place to rest. Proper lighting which can be adjusted in different corners/parts of the hall(or the large room).
PS. And yes, keep it spacious and airy. Man is a messy animal :-\
The hacker community is pretty interesting. Someone hosts an event and brings a bunch of random junk and alcohol, telling people to get cracking on cool ideas. People don't get sleep, sit around, partake in random junk and alcohol, and it's the event's fault somehow. Pretty interesting.
--
Hackathons may or may not be for you. Try it once. Don't stay the whole time if you don't want. If they aren't for you, don't go again. If they are, great, have an awesome time.
--
For some reason, they're touted as this end-all be-all social event that if you don't go to YOU ARE MISSING OUT AND YOU WILL NEVER RECOVER. As many people posted here, the situation's combination of adrenaline and seratonin depletion gets people into some pretty seriously fucked mental states that causes odd group dynamics. Some will thrive on this. Some hate it.
Case in point: I grew up in the rural midwest, but had computers. So computers are something I deal best with in situations with little to no people around. Hackathons are the opposite of that. Took me like, 2 attendances to realize that, and now I just avoid them. Hell, I even avoid career situations that put me in that environment, because I don't work well there.
Not to say I haven't pulled some insanely stupid hours in my time, but I still even did most of those alone, and I'll continue to do so.