Why you should participate in hackathons

Why you should participate in hackathons

About a year and a half ago, I started participating in hackathons. During this time period, I managed to take part in more than 20 events of various sizes and topics in Moscow, Helsinki, Berlin, Munich, Amsterdam, Zurich and Paris. In all events, I was engaged in data analysis in one form or another. I like to come to new cities for myself, make new contacts, come up with fresh ideas, implement old ideas in a short period of time and adrenaline during the performance and announcement of the results.

This post is the first of three posts on the topic of hackathons, in which I will tell you what hackathons are, why you should start participating in hackathons. The second post will be about the dark side of these events - about how the organizers made mistakes during the holding, and what they led to. The third post will be devoted to answering questions about near-hackathon topics.

What is a hackathon?

A hackathon is an event held over a period of several days, the purpose of which is to solve a problem. Usually there are several problems at a hackathon, each presented as a separate track. The sponsoring company provides a description of the task, success metrics (metrics can be subjective like “novelty and creativity”, or they can be objective - classification accuracy on a delayed dataset) and resources to achieve success (company API, datasets, hardware). Participants in the allotted time must formulate a problem, propose a solution and show a prototype of their product. The best solutions receive prizes from the company and the possibility of further cooperation.

Hackathon stages

After the announcement of the tasks, the hackathon participants unite into teams: each “loner” receives a microphone and talks about the chosen task, his experience, idea, and what kind of specialists he needs to implement. Sometimes the team may consist of one person who is able to do all the work on the project independently at a sufficiently high level. This is relevant for data analysis hackathons, but is often prohibited or undesirable for product events - the organizers are aimed at further continuation of work on the project, but already in the company; the formed team has a number of advantages over the participants who wished to create the product alone. The optimal team usually consists of 4 people and includes: front-end, back-end, data scientist and business person. By the way, the division of data science / product hackathons is quite simple - if there is a dataset with a clear metric and a leaderboard, or you can win with a code in a jupyter notebook - this is a data science hackathon; everything else - where you need to make an application, website or something sticky - grocery.

Typically, the start of work on the project begins at 9 pm Friday, and the deadline is 10 am Sunday. Some of that time needs to be spent sleeping (staying awake and coding is a surefire way to fail, I've tested), which means that participants don't have much time to do something of quality. Representatives of the company and mentors are present at the site to help the participants.

Work on the project begins with communication with company representatives, as they better understand the specifics of the task, metrics, and most likely they will judge your work at the end. The purpose of this communication is to understand which areas are most relevant, and what is worth focusing your attention and time on.

At one hackathon, a regression task was set on a dataset with tabular data and pictures and a clear metric - RMSE. After I talked with the data scientist of the company, I realized that they needed not regression, but classification, but just someone from the management decided that the problem was best solved that way. And they need classification not in order to get an increase in monetary metrics, but in order to understand which parameters are most important when making a decision and then process them manually. That is, the initial problem (regression with RMSE) is changed to classification; the priority of the assessment changes from the obtained accuracy to the ability to explain the result. This, in turn, negates the possibility of using stacking and black box algorithms. This dialogue saved me a lot of time and increased my chances of winning.

After you understand what you need to do, the direct work on the project begins. You must set checkpoints - the time by which you need to complete the tasks; along the way, it’s a good idea to continue communicating with mentors – company representatives and technical specialists – this is useful for adjusting the route of your project. A fresh look at the problem can suggest an interesting solution.

Since a large number of beginners participate in hackathons, it is good practice for the organizers to hold lectures and master classes. Usually there are three lectures - on how to present your idea in the form of a product, a lecture on technical topics (for example, on the use of open APIs in machine learning so that you do not have to write your speech2text in two days, but use a ready-made one), a lecture on pitching (how present your product, how to wave your hands on stage so that the audience is not bored). There are various activities to cheer up the participants - a yoga session, table football and tennis, or a game on the console.

On Sunday morning, you need to submit the results of your work to the jury. At good hackathons, it all starts with technical expertise - does what you say really work? The purpose of this check is to weed out teams with a beautiful presentation and buzzwords, but no product from guys who actually did something. Unfortunately, technical expertise is not present at all hackathons and there are times when a team with 12 slides and a mindset “… blockchain, quantum computing, and then AI will finish it…” wins first place. These use cases are not as common, but because they are the most memorable, many people think that a good presentation is a 99% win in a hackathon. The presentation, by the way, is really important, but its contribution is no more than 30%.

After the performance of the participants, the jury decides on the awarding of the winners. This concludes the official part of the hackathon.

Motivation to participate in hackathons

Опыт

In terms of experience gained, a hackathon is a unique event. There are not many places in nature where you can implement an idea from nothing in 2 days and get instant feedback about your work. During the hackathon, critical thinking, teamwork skills, time management, the ability to work in a stressful situation, the ability to present the results of one's work in an understandable way, the skill of presentations and many others are pumped. That is why hackathons are a great place for people with theoretical knowledge who want to get real experience.

Prizes

Usually the prize fund of a hackathon is approximately 1.5k - 10k euros for the first place (in Russia - 100-300 thousand rubles). The expected value (EV) from participation can be calculated using a simple formula:

EV = Prize * WinRate + Future_Value - Costs

where Prize - the size of the prize (for simplicity, we will assume that there is only one prize);
win rate - the probability of winning (for a beginner team, this value will be limited from above 10%, for a more experienced team - 50% or more; I met people who left each hackathon with a prize, but this is rather an exception to the rule and in the long run their win rate will be lower 100%);
Future_Value - a value that shows the future profit from participation in the hackathon: it can be a profit from the experience gained, established connections, information received, etc. This value is almost impossible to determine exactly, but it must be remembered;
Costs - costs of transport, accommodation, etc.

The decision to participate is made based on comparing the EV of the hackathon with the EV of the activity that you would like to do if the hackathon did not exist: if you wanted to lie on the couch and pick your nose on the weekend, then you should probably participate in the hackathon; if you spend time with your parents or a girlfriend, then take them to the team for a hackathon (just kidding, decide for yourself), if you freelance, compare a dollar-hour.

According to my calculations, I can say that in Russia for an average data scientist of the junior-middle level to participate in hackathons is commensurate with the monetary profit from a normal working day, but there are also nuances (team size, such as a hackathon, prize fund, etc.). In general, hackathons are not a bonanza at the moment, but they can give a nice boost to your personal budget.

Company recruitment and networking

For a company, a hackathon is one of the ways to hire new employees. It will be much easier for you to show that you are an adequate person and know how to work at a hackathon than at an interview, twirling a binary tree on a board (which, by the way, does not always correspond to what you will do in a real data scientist job, but traditions must be honored). Such a check in “combat” conditions can replace a test day.

I got my first job thanks to a hackathon. At the hackathon, I showed that more money can be squeezed out of the data, told how I'm going to do it. I started a project at a hackathon, won it, then continued the project at a sponsoring company. This was the fourth hackathon in my life.

Possibility to get a unique dataset

This is a very relevant point for data science hackathons, the importance of which is not understood by everyone. Usually, sponsoring companies provide real datasets during the event. This data is private, it is under the NDA, which does not prevent you from showing you proof of concept on a real dataset, and not on a toy titanic. In the future, such results will greatly help in finding employment in a given company or a competitor company or in substantiating similar projects. Agree that, other things being equal, having completed projects that have been positively evaluated is better than not having them. In general, such completed projects play a similar role to medals and statuses on kagle, but for the industry their value is more obvious.

Tips

In general, working on a hackathon is a rather diverse experience and it is difficult to formulate a list of rules. However, here I would like to give a list of observations that can help a beginner:

  1. Don't be afraid to go to hackathons even if you don't have experience or a team. Think about how you could be helpful. For example, do you have an interesting idea or are you well versed in some area? You can use your domain knowledge when formulating a problem and find non-trivial solutions. Or maybe you are the best at Google? Your skill will save a lot of time if you can find ready-made implementations in the github. Or are you very good at tuning lightgbm parameters? In this case, do not go to the hackathon, but prove it in Kagla competitions.
  2. Tactics are more important than maneuvers. Your task at the hackathon is to solve the problem. Sometimes, in order to solve a problem, you need to identify it. Check that your identified problem is really relevant for the company. Check your solution against the problem, ask yourself the question of the optimality of your solution. When evaluating your solution, they will first look at the relevance of the problem and the adequacy of the proposed solution. Nobody is interested in the architecture of your neural network or how many hand-auctions you got.
  3. Attend as many hackathons as you can, but feel free to walk away from poorly organized events.
  4. Add the results of your hackathon work to your resume and don't be afraid to write about it publicly.

Why you should participate in hackathons
The essence of hackathons. Briefly

Source: habr.com

Add a comment