HomeArchiveFeedShelf

Hackathon Participation Guide

Let me introduce myself. I participated in the first Hackathon organized by SegmentFault in 2012. SegmentFault is now recognized as the organization that brought Hackathons to China, so I can be considered one of the earliest domestic Hackathon participants. From 2012 to 2014, I attended many Hackathons of various sizes, achieving both great and poor results, and I have experienced both excellent and terrible organizers. Under the pressure from Ke Ye, I am writing this article to discuss Hackathons from the perspective of a participant.

What is a Hackathon?

Due to the sensationalism of mainstream media, the term "hacker" has become synonymous with cybercriminals in the minds of the general public (which is why people in the industry now use "geek" to describe what hackers originally meant). However, in a Hackathon, "hacker" refers to someone with exceptional programming skills and the ability to quickly prototype ideas. A Hackathon is essentially a competition to create a prototype in a short period of time. The typical competition lasts 24, 36, or 48 hours, requiring teams or individuals to create a product from scratch within the allotted time, which is then judged based on creativity, completeness, and other criteria.

Clarify Your Purpose for Participating

Generally, there are several purposes for participating:

To Hone Your Skills

Most of the time, I participate in Hackathons to hone my technical skills. Therefore, I try to work on things I haven't done before, using technologies I haven't used before, and under the pressure of a tight deadline, I push myself to quickly master new knowledge. If I can create a decent product using this technology, it should indicate that I have a good grasp of its application.

If your goal for participating in a Hackathon is to improve your skills, I suggest you step out of your comfort zone and choose technologies that are not too difficult to learn for your product.

To Create Something Fun After a Year of Mundane Work

Most working programmers are constantly pressured by product managers to change requirements and rarely have time to work on cool stuff that interests them, especially since not every company has a "20% rule" like Google. Therefore, participating in a Hackathon is a great opportunity, and your focus should be on the completeness of your work because after these 24 hours, you may never have a large block of continuous time to develop your cool stuff again. How sad it is.

To Attract Investment

Some competitions invite investors as guests, and these Hackathons often see many startup teams participating, all working hard. However, while others are coding for fun, you are coding for money. In that case, you might as well cheat and bring a project that your team has been developing for six months to a year, pretending to have completed it in 24 hours. There’s nothing shameful about this; it’s a valid tactic to secure funding. Others may criticize you in private, but that’s irrelevant; their goals and focuses are different, which is perfectly normal.

To Meet Amazing People

In addition to investors, you might meet the following people at a Hackathon: impressive programmers from the organizing team, talented programmers participating, impressive programmers among the guests, impressive CEOs giving opening speeches, and HR from impressive companies looking to recruit talented programmers, etc. So as long as you dare to engage with others, the networking effect can be quite good.

If your purpose for attending a Hackathon is to meet amazing people, then your ultimate goal is to see how many WeChat contacts you can collect.

To Win Prizes

Here, "prizes" refer to special awards. Almost every Hackathon has sponsors who often provide their own "special awards," some of which can be very enticing. For example, some offer the latest Apple products, others provide their own latest products, and some even offer cash (by the way, offering vouchers is really stingy and lacks sincerity).

Generally, the judges for special awards are the sponsors themselves, so you should tailor your project from the beginning around the SDK or cloud services provided by the sponsors, using as much of the SDK and cloud services as possible. You should even proactively showcase your work to the sponsors during development to increase your chances of winning.

Things to Note

Sleep

This varies from person to person and also depends on the progress of your project. Just be careful not to stay up all night for the sake of it; health is the foundation of everything.

Team or Solo

Some full-stack developers can write code quickly on their own, but when collaborating with others, they may struggle with division of labor. If you can completely decouple your work, you might not even need Git, as the scale of the project developed in such a short time is unlikely to be very large. If team collaboration is truly unsuitable, going solo is also fine.

MVP

The understanding of "lean startup" in the industry has become much more rational compared to two years ago (mainly due to the necessity of releasing versions for native app development, with Apple’s App Store requiring a 7-day queue, Web is great). However, Hackathons should fully embody the guiding principles of lean startup. In fact, the products ultimately judged in Hackathons are the Minimum Viable Products (MVPs). Therefore, during development, avoid unnecessary user registration and login, eliminate superfluous features, and prioritize quick and dirty solutions. Everything is aimed at showcasing a product with core functionalities to demonstrate what you have created.

Thus, if a web app can do what you need, it’s best not to develop an iOS or Android app unless you are very confident in your team’s development speed, or if your goal is to practice iOS or Android development.

Microsoft fans, please don’t attack me ^v^

Prepare for the Presentation

The final presentation is extremely important, and you should even consider how to present while developing. If necessary, significant changes to the product for the sake of presentation quality are worth it. You can even start by considering what kind of product to create based on the presentation effect.

So when the MVP principle conflicts with presentation quality, prioritize the presentation. This means you should spend more time on the interface (keeping it clean and fresh), user experience (simple processes, like drag & drop), and animations (avoiding abrupt cuts). Core functionalities can even be demonstrated using mock services; as long as it runs, that’s sufficient.

During the presentation, tools like AirServer or Reflector to project your mobile screen (as your work is likely a mobile project) are almost essential. It’s not advisable to spend too much time on PPTs; firstly, developing the product will take a lot of time, and secondly, every slide you create is just teasing the audience. They want to see your product demonstration. A simple introduction of yourself and a brief statement about your work will suffice. Of course, if you are very confident in your Keynote skills and believe it is an indispensable part of your presentation, then you should analyze the situation accordingly.

Essential Tools

Hackathons have been around longer in foreign countries, and there are even tools like Hackathon Starter on GitHub. This suggests that you should choose a tech stack that allows you to complete your work quickly, whether it’s MEAN, LAMP, Rails, or Django. The faster, the better; there’s no such thing as too fast.

Common Pitfalls

I’ll mention three common pitfalls:

Network

Organizers always seem to overestimate the bandwidth capacity of the venue. I once attended the Youth Dream Cup organized by a domestic internet giant, and the network was practically unusable, forcing us to go to an internet café to code. Trust me, be prepared to share your mobile data with your laptop.

Cheating

I’ll use that same Youth Dream Cup as an example. During those two days, my teammates and I overcame various difficulties and hardly slept, completing a project from scratch called "LydiaBox." Yes! It’s the same project that later won first place in the "IDG Campus Entrepreneurship Competition" and is now funded by Yunji.

Guess what happened during the presentation? A bunch of teams from prestigious universities, after nearly 48 hours of struggling with a practically unusable network, introduced their products by saying, "Our product now has iOS, Android, Windows, Mac, and Linux versions." I was truly shocked! If you can’t play fair, then don’t play at all.

There has never been a good way to prevent cheating in Hackathons, and while cheating is wrong, it is also understandable. Enjoy your 24 hours, create something cool, just for fun. If you’re good enough, and your product is good enough, you don’t need to prove yourself at a Hackathon.

Although I was very angry and frustrated at that time, this is my current perspective.

Incompetent Judges

I’ll again use that Youth Dream Cup as an example. Only a few judges were from the internet industry; most were teachers from universities and leaders from the Ministry of Education. They believed that judging a Hackathon was no different from judging a "Challenge Cup." They still evaluated your MVP with the same criteria they would use for projects like "Hotel Management System based on xxx" or "Device Management Platform based on xxx." One middle-aged judge even seriously questioned whether the calligraphy in the product was authentic.

First of all, reputable Hackathons typically have participants vote for each other, with judges only making up part of the overall opinion. If the outcome of a Hackathon is entirely controlled by guests, and the judges are not from the internet circle or do not understand the hacker spirit, then it’s better not to participate in such a Hackathon.

@2015-04-27 16:41