I finally got to do something I’ve always wanted to. I took part in a hackathon.
The Koding hackathon was a 48-hour online hackathon, which happened over the first weekend of December 2014 (not going for specific dates, because timezones). For me, it was a great choice for a first hackathon because it helped eliminate the biggest problem that stopped me from taking part in a hackathon so far - getting to the venue. This was in the middle of my holidays, and I could work from home. Everything felt right. I managed to complete my working web app, “G33K”, in the 48 hours (I did screw up big time, though). It was a great sense of accomplishment knowing that I had the most productive 48 hours I’ve had in a long time. And over that weekend, I learned a lot.
Here’s what I learned from my first hackathon.
- Get a team
Do NOT go for a hackathon solo, no matter how good you are. It’s always better to have people to share the load with. I didn’t expect to get shortlisted to the hackathon, so I didn’t talk to anyone about teaming up with them. Once I got the email from Koding that I was in, I scrambled to find a teammate. I asked a few of my friends, but none of them were free for the weekend, and that’s when I decided to go solo for the hackathon. It was fun to try to take the whole thing alone, but after a while it gets to you. You need a team to share the work and to share the load of the pressure.
- Find a comfortable position to work
I could barely move my neck after the 48 hours, and I’m not even 21. This is more than just about a hackathon - this is something I should have in mind considering I may be working long hours very often. I need to find the most comfortable and physically ideal position for working, and incorporate it.
- Maintain your todo list
Lack of sleep is not an ideal situation to be in while working, but it’s something you’re forced into during a hackathon. So when you’re sleep-deprived, it’s not too easy to remember what you have to do or how you planned to do them. Have a notepad or use post-it notes to keep track of everything you need to get done. This is a great way to avoid forgetting to put in some feature that you originally planned to.
- Be comfortable with your stack
There are two ways you can decide a stack for your hack - use something you are familiar with, or experiment with something you’ve always wanted to try out. A hackathon is a great platform to learn new skills or to cement expertise in existing ones. But either way, it’s good to have a basic working idea of everything you will be using, so you don’t waste time learning from scratch during the hackathon.
- Make sure you don’t make noob mistakes
Sleep deprivation does bad things to you. Very bad things. In a sudden moment of idiocy, you could end up making stupid mistakes that you notice too late. There’s not a lot you can do to “avoid” this - just hope you keep your sanity through the entire duration of the hackathon.
- Be sure about your deployment options
The PaaS industry gives you so many options. Heroku is my personal favourite. You could also go for extremely popular options, like Google App Engine. But in some cases, you will have to improvise - case in point, the Koding Hackathon. The hackathon required participants to host their apps on Koding VMs. That meant I had to think about Apache or Nginx and all that stuff, in the last 2 hours of the hackathon. It was especially hard because I never had to worry about such stuff before. I managed to get it done (barely!), but it made me realize that it is necessary to have some basic knowledge about such sysadmin stuff.
- Get help as soon as possible
During a hackathon, you definitely do not have time to stay stuck on a problem for too long. Get help as soon as possible. Ask people around, check StackOverflow or other answers pages and check the docs/FAQs again. If it’s a problem with a particular service, message their support team or send them a tweet. Good services have an active service/support team that will respond immediately. Get your problem sorted out quickly and get back to work !
Getting through till the second round of judging is a really huge achievement, given how much I had to scramble to put this together. I know where I messed up, so I know quite well what I have to fix. I plan to continue working on G33K - fix up my mistakes, add new features and deploy it.
I learned a lot from this hackathon, and it also gave me an awesome side-project to work on.
Coming soon : #G33K by Team #TheY2KProblem