3 ms·
I've done 2 hackathons with a large group over at UC Berkeley (sponsored by the CS Undergraduate Association and Startup @ Berkeley) but both times worked alone
by avk 16y ago
I've done 2 hackathons with a large group over at UC Berkeley (sponsored by the CS Undergraduate Association and Startup @ Berkeley) but both times worked alone. I also did the overnight hackathon at Chirp, the Twitter Developer conference, last month.
General tips:
------------
- Make sure there's enough food & drink. It's very hard to think and keep working when you're thirsty or hungry.
- Second monitors for everybody involved are a must.
- Definitely still use version control. I've seen some people avoid this for the sake of speed but the ability to try things out and quickly recover is vital in a chaotic coding environment of a hackathon. Take the time to set it up.
- Don't keep things in your head for too long. It's faster to express yourself and communicate on paper. Bring LOTS of scratch paper and pencils.
- Take breaks unless you're in the zone. Get up, stretch out, walk around, get food, talk with others. It'll help re-energize your thinking.
- Don't sleep. All my hackathons were less than 24 hours and I didn't sleep. I got a good night's rest the night before I started and I stayed away from naps because it's very hard to wake up once you fall asleep.
- TDD is optional. If it's part of how you already code all your projects, keep at it. If you're not in the church of testing, don't bother. It will only slow you down. A hackathon is not about coverage or whether your code is well-tested, it's about whether you have code that works at all.
Splitting time:
--------------
- Never hesitate to stop and brainstorm, just don't let a session go on for more than 30 minutes.
- Leave visual design for last. My goal has always been to build something functional, not necessarily pretty or usable. I can also crank out CSS pretty quickly so I'm comfortable leaving most or all of the visual design for the very end.
- It's worth sketch out the flows early on. It will help guide and structure your code and other ideas. Just don't obsess over a great user experience in the beginning.
- Spend the vast majority of your time coding. Iterate like you've never iterated before. Hack, hack, hack, and only refactor if the latency is really bothering you. Get to something that works first and foremost, then worry about code quality, performance, readability, and all the things you're supposed to when you have more time.