I just returned from a 24-hour hackathon sleepy, red-eyed, tired, exhausted, and yet writing this post. You know why? Because I skipped it the last time, and the time before, thinking I would do it the next day and that sleep was more important — but I never did it. I'm not going to make the same mistake again, so here I am.
For those who are unaware of what a hackathon is, it is an event where dreamy-eyed people enter and leave with red eyes. It is a single-night sprint where people come together to build something that they believe will make them a billionaire or, like the Silicon Valley series mentions time and again, ‘will make the world a better place!’ Well, jokes aside, a hackathon is an event/competition where teams/individuals build software/hardware in a single sprint of 24 hours.
Hackathons have a theme, ranging from generic things like improving the community to specific themes like solving a specific delivery problem a company faces. Some hackathons are closed, conducted only for the members of an organization, while some are open to all. Some hackathons focus on the profitability of an idea and implementation, with teams winning sponsorships from investors, and some focus only on ideas and imagination of the participants. All in all, a hackathon is a developer’s Disneyland!
Do you feel like you have ideas, but no time to develop them, try them out, or run them by other people? A hackathon is a place for you to build your dream concept into reality. If you are an amazing developer who can punch in code and get things working in no time, a hackathon is a place for you to show your skills. If you like to interact with people, share ideas, and learn how people feel about them, a hackathon is a place for you to validate your product. If you have a concept, but are looking for skilled brains to develop it, a hackathon is a place for you to spot skills and recruit them. If you are a nerd, an introvert, who loves to code (the stereotypical software developer), walk right in, there are many like you in there. If you are a night-owl who believes that sleep is for ‘cats’, you will fit right into a hackathon. Imagine a place that provides electricity, Wi-Fi (I have your attention now, don’t I?), food, seating space, and everything else you need, and leaves you undisturbed for 24 hours with the freedom to build your dream into reality, now that is a hackathon. (Put like this, it sounds better than Disneyland!)
Now, let's say you wish to go to a hackathon and ‘make the world a better place’ — you need to have a plan, like with everything else. There are things that you should and should not do. There are things that you should and should not carry. I have, over time, built a list of items I carry to a hackathon and, like other ideas, validated it against others during the hackathon. So, what we have here is a list of items people generally bring, though not every item will apply to you. It is like a camping list, but for geeks.
Preparing for the Hackathon: Logistics
- Prepare for your idea: Think, elaborate on it, plan it. This is also a test of your agility, all your skills in iterative, agile development are going to be tested. Know that a 24-hour hackathon is three working days' time on your hand. It is a lot, so plan how to utilize it best.
- Choose the right team: Long hackathons tend to be team games. Choose your team wisely. You should have compatible yet slightly overlapping, targeted skills and equal passion. You probably do not need a marketing executive or the so-called ‘product owners’ on your team unless the idea is from their domain. It is not a conference, you do not get a booth there. And passion, yes, you do not want your team members jumping into sleeping bags at the chime of 10 only to get up at 6 the next morning.
- Identify what open source projects can help you, know how to use them. Play around with them. Maybe send a pull request for missing features. But know what is going to help you get your project done faster and plan for it.
- Set up your machines. You do not want to be downloading a database server or creating cloud service provider accounts at the hackathon.
- Set up productivity tools suitable for your idea. For example, get accustomed to using a clipboard manager; write and keep handy scripts to automate simple tasks like starting DBs, launching DB shells, clearing tables, generators for various frameworks, etc.
Packing for the Hackathon: Supplies
- Laptop: Of course! Humans have yet to build a computer one can use to develop software in thin air — unless that is your idea for the hackathon.
- Laptop charger: You will be surprised how many people forget this. Although your machine has juice for one workday, it is not enough for a hackathon. Remember, it is actually three working days there, and you don’t want to be making ‘connections’ by asking people for charging cables.
- Phone and charger: You are going to interact with a whole lot of people, so carry your phone to note down numbers. Not everyone brings the business cards — it is not a conference. Hackathons are for thinkers and doers, not talkers, yet the excessive use of phone screens drains them, so carry your chargers. Some hackathon venues do provide charging stations, and you should check to confirm if there is one.
- Peripheral devices: If you prefer to use an external mouse, drawing pad, a VR headset or whatever you need, carry them. Pack the devices you need to build your idea, like a Raspberry Pi, a hovercraft kit, or whatever. Keep pen-drives handy. You can check or request if the organizers provide an external screen, as it will be too huge to carry anyway. Meanwhile, it is all developers and geeks there, so I would not blame you if you do not trust the security of the Wi-Fi there. In that case, carry your own portable hotspot.
- Proof of ID: You have registered online, but the organizers need to know who you are before you can enter.
- Toiletries: Do I need to explain? Just don’t stink — you do not want to be remembered for that.
- Medicine: If you are on medication, do not forget to carry them. If you get heartburn by staying up late, carry antacids. If you get headaches, carry a mild painkiller. Have allergies? Carry an antihistamine. Afterall it is a competition, so you want to be your best throughout.
Wearing for the Hackathon
- Wear something casual and comfortable: If suits are your thing, so be it, but remember, you are going to be scratching your head over a lot of things in the next few sleepless hours, so be comfortable. You do not want to be scratching other parts of your body due to uncomfortable clothes. You do not need to look pretty/handsome — make-up and hairspray are not required, but your personal comfort is.
- If you are representing a startup, wear them on! Hackathons are good for creating awareness and hype.
- It is okay to wear your lucky accessories, but limit it to that — avoid the temptation to wear Superman's uniform under your clothes.
Hacking at the Hackathon
- Don't take it literally. Do not hack others’ devices. You can get banned from the premises or worse.
- Divide your hours like they were days. Four hours represent your half day of work in there. Have regular discussions.
- Divide your tasks and identify interfaces where your tasks meet.
- Use version control systems extensively. If it is a hardware product, keep taking photos from all angles. At a hackathon, I prefer to change the way I commit; usually, I commit often but push after cleaning. At a hackathon, I commit and push extremely frequently, on every unit completion. It would not be an exaggeration to recommend making the version control system your undo log. This also helps prepare for an unfortunate event if your machine decides to take a nap while you are banging the keys.
- Ban headphones on the team. Unless there is interaction, there is no team.
- Plan your long breaks, like lunch, dinner, and snacks to be in sync with your discussions.
- Take frequent breaks apart from the discussions, individual or team breaks, but get up and walk around. I drink a lot of water, that forces me to take frequent breaks and helps avoid health issues as well. It is also a good idea in your day to day work.
- Do not sit it through. Walk around, jump around, interact, stay active and awake.
- If you can, take naps in between. Just make sure you allow your partners to pour a water bottle on your head to wake you up, just in case. You do not want to miss all the fun by sleeping through it.
- There tends to be side events every few hours in long hackathons. Participate in them, get to know people.
- Meet people. You will find a whole lot of them are working on something amazing. You might end up meeting your next employer, co-founder, your living idol, or even your soulmate, if you are looking for that. You never know. All those coming to the hackathon tend to be there for their passion.
- Have fun. Win or lose, unless you have fun at the event, it is pointless. Have what fun means to you. No one forces you to take part in any of the events or to talk to people. If you just wish to code, so be it. But enjoy the 24 hours — you do not get platforms like this every day.
After the Hackathon
- Wrap up everything, pack your items and belongings — do not forget your chargers and peripherals.
- Have one final meeting, plan out what you would like to do with the idea and the code/product built so far.
- Divide the tasks for the future and decide timelines. If you leave here without a plan, and if you have not won the prize, it is highly likely that the idea will never be pursued further.
- Know that what you are feeling, the mild body ache, sleepy red eyes, is similar to jet-lag and treat it as such by sleeping only at your usual time. Avoid taking an untimely nap during the day and get your routine back as soon as possible.
- Write a blog!
If there is something that should be added to the list to make it more usable, please suggest it. See you at a hackathon someday!