Hackathons have evolved into swag fests – aimed at celebrating and engaging the data science community in India and centred around solving unique business problems. Overall, it is also a great way of honing the data science skills, learn something new, identify areas that one needs to shore up, make a headway on business-centric problems, build reputation in the community, and finally win some cash and earn bragging rights.
In India, hackathons have peaked in the last couple of years, turning into glitzy corporate-backed events, allowing developers to push their personal boundaries by providing a supportive environment to do so. According to a report from HackerEarth, India hosted the second highest number of hackathons over the last two years.
From workshops to fireside chats, exposure to new technology and access to quality mentorships, hackathons are the new stomping ground for developers and newbies seeking internships, job opportunities and participants from startups even volley for the VCs attention. They are akin to career fairs, except you make more industry connections here and also gain valuable experience.
But for a complete newcomer, it can be an overwhelming experience. For starters, newcomers may find it hard to fit right into the hackathon — from finding the right projects to work according to the skills and even becoming a part of a team. Many a time, complete beginners at hackathons find the lack of coding experience a major no-no. Most hackathons also feature training workshops on the sidelines to help participants level up and get comfortable before diving into hacking.
Attending a hackathon is an amazing experience and one you should have under your belt. AIM lists down some of the best practices for participating in a data science hackathon:
1) No code experience should not be a deterrent: Hackathons are 24-48 hours sprint or a data science competition wherein teams/individuals build software/hardware. Sometime, these hackathons are for a longer duration and go on for months. For newcomers, it is one of the best ways to get started with a project and code your way to a solution within a short span of time. Most of the projects are divvied up in a such a way that they have a set of tasks for newcomers with a variety of skills and at a variety of skill levels. For certain coding projects, tasks do not require an in-depth understanding of the code base and the build environment can be spun out in less than 20 minutes.
Tip: Most hackathons feature workshops and coding 101 sessions for participants from non-tech background to level up their skills. So, a non-coding experience should not be a deterrent for newcomers.
2) Online Hackathons are all the buzz these days: Online hackathons are the best way to reach a large base of tech enthusiasts who can participate in these events either alone or in a team. Over the last couple of years, online hackathons have evolved into a great platform for newcomers to learn how to code, for top challengers to compete for prizes and tech enthusiasts to brainstorm around varying problems ranging from machine learning to artificial intelligence and augmented reality. Amazon India’s online hackathon for Alexa is inviting tech enthusiast to build Alexa skills and make it even better. So far, the competition has registered 1339 participants.
Tip: We suggest you do your homework and study the APIs before the hackathon. This way you won’t spend much time reading documentation on how to use 3rd party APIs.
3) Multiple Submissions in Hackathons are acceptable: This is a question that is usually posed at hackathons and other data science challenges. There are teams that make multiple submissions, thereby giving them an added advantage to win in multiple categories. However, a single submission cannot compete for multiple prize categories.
Tip: If you or your team submits multiple submissions, you can apply for multiple prize categories.
4) Build a balanced team: Hackathons are competitive events with a big prize money lined up at the end of the event – and building a balanced team is a step towards the goal. One of the major issues associated with the hackathons is the great divide between amateurs and advanced hackers, and this gap leads to disharmony in the team. A balanced team usually has experienced developers and newbies working together.
Here’s a common scenario — sometimes there is so much skill disparity that experienced developers end up building everything themselves rather than handing down tasks to the newbies – just to get a shot at the prize. Remember, it is important to share your passion with your team-members, there’s no need to become a self-styled ‘product owner’ on the team. Because at the end, teams win challenges, and not just individuals.
Tip: This doesn’t mean you stop aiming for the top prize, but try to align this with achieving something challenging and in the process, ensuring it is a fun, learning experience for all the team members.
5) Focus on best results rather than on techniques: In a hackathon, the participant is expected to make a prototype and not a scalable system entirely. You may think of using the best algorithms and programming skills to build the prototype, but remember you only have a specific timeframe to do it. It is best to avoid using flashy algorithms and complex databases and highlight features that showcase your idea well.
Tip: Avoid using complex algorithms and choose the tech stack wisely. Many teams give up in the middle of the hackathon when they get stack with a certain set of technologies.
6) Excellent demo of product at the end is important: We all know how presentation at the end of the hackathon is crucial to success and it is equally important to impress the judges, if you wish to walk away with the coveted prize. An excellent demo of the product can help one secure a good score from the judges and the teams should put a real effort into the communication of what they built up and work on how to make it demo-ready.
In most hackathons, we see beginners playing around with the code but not demoing/presenting anything at the end of the event. Even if they present, it is mostly beginner level stuff which wouldn’t make the cut.
Tip: According to Tim Fogarty, Developer Advocate at mLab, even if the hack doesn’t work or a team couldn’t finish the project, one should always demo their product and talk about the challenges faced, technology used, and what they learned at the end of the event.
7) Prize money is a great attraction but focus on the quality of problem: While most hackathons are about the winning component largely, it doesn’t necessarily have to be about walking away with the prize money. The competition presents business problems which teams/individuals have to tackle by creating innovative solutions in a short span of time. It is also the place to experiment, build something new from scratch, and nobody expects a complete solution.
Tip: Learn, build and share is the common theme at hackathons and it is equally important to have a good time and put your best effort forward. In a hackathon nobody expects a full solution and sometimes even a simple prototype that solves the problem efficiently impresses the judges.
8) Follow the code of conduct: Most hackathons have guidelines and code of conduct for participants to follow. It is an attempt to ensure a welcoming environment for all the members and provide a supportive, collaborative environment. However, it is not uncommon to find participating playing League games, binging on free food and snacks. This can be distracting for serious participants and can affect the experience of other team members.
Tip: Hackathons are amazing fun events but scenarios like these can be distracting for other participants. While winning should not be an explicit end goal for the participants, one should make the most of this experience by honing technical skills and enjoying the community engagement.