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 have been analyzing data in one form or another. I like to come to new cities for myself, establish new contacts, come up with fresh ideas, implement old ideas in a short period of time and adrenaline during a speech and announcement of results.
This post is the first of three posts on the hackathon theme, 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 in their conduct, and what they led to. The third post will be devoted to answering questions about about-hakatonnuyu topics.
What is a hackathon?
A hackathon is an event held over the course of several days, the purpose of which is to solve a problem. Usually there are several problems on the hackathon, each represented as a separate track. The sponsoring company provides a description of the task, success metrics (metrics can be subjective, like “novelty and creativity”, and can be objective - accuracy of classification on deferred data) and resources for success (API companies, hardware, hardware). Participants in the allotted time should formulate the 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.
After the announcement of the tasks, the hackathon participants are united into teams: each “loner” gets a microphone and talks about the chosen task, his experience, idea and what plan he needs for implementation. Sometimes a team may consist of one person who is able to perform all the work on a project independently at a high enough level. This is relevant for hackathon data analysis, but it is often forbidden or undesirable for grocery events - the organizers are aimed at further continuation of the work on the project, but already in the company; A formed team has several advantages over the participants who wish to create a product alone. The optimal team usually consists of 4 people and includes: a front-end, a backend, a date of a scientist and a business person. By the way, datasans/grocery hackathons are fairly simple - if you have datas with a clear metric and leaderboard or you can win with a code in jupyter notebook - this is a datasaan hackathon; all the rest - where you need to make an application, website or something sticky - grocery.
Usually, the start of the project starts at 9 pm Friday, and the deadline is 10 am Sunday. Some of this time should be taken to sleep (do not sleep and coding - this is a sure way to failure, I checked), which means that the participants do not have much time to do something qualitative. To help participants, on the site there are representatives of the company and mentors.
Work on the project begins with communication with representatives of the company, as they better understand the specifics of the task, the 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 it is worth to focus your attention and time on.
On one hackathon, a regression task was set on a dataset with tabular data and pictures and a clear metric - RMSE. After I talked to the company datasaentists, I realized that they needed not a regression, but a classification, but just someone from the management decided that the problem was best solved in this way.And the classification they need is not in order to obtain the growth of monetary metrics, but in order to understand which parameters are most important when making a decision and then processing them manually. That is, the initial task (regression with RMSE) changes to classification; the rating priority varies from the accuracy obtained to the possibility of explaining the result. This, in turn, denies the possibility of using stacking and black box algorithms. Such a 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 the check-ponity - 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 correcting the route of your project. A fresh look at the problem may suggest an interesting solution.
Since a large number of beginners participate in hackathons, from the organizers, lectures and master classes are a good thing. There are usually three lectures on how to present your idea in the form of a product, a lecture on technical topics (for example, the use of open APIs in machine learning, so you don’t have to write your speech2text in two days, but use ready ones), a lecture on pitching (like present your product, how to wave your hands on the stage so that the audience would not be bored). There are various activities to encourage participants - a session of yoga, table football and tennis or a game of console.
On Sunday morning you need to provide the results of your work to the jury. On good hackathons, everything starts with technical expertise - does what you claim really work? The purpose of this test is to weed out teams with a beautiful presentation and buzzwords, but without a product from the guys who really did something. Unfortunately, technical expertise is not present on all hackathons, and there are cases when a team with 12 slides and a mindset “... blockchain, quantum computing, and here the AI will finish ...” wins first place. Such precedents are not so frequent, but since they are best remembered, many people think that a good presentation is a 99% victory in the 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 makes a decision on awarding the winners. This is where the official part of the hackathon is completed.
Motivation to participate in hackathones
In terms of experience gained, a hackathon is a unique event. In nature, there are not many places where you can realize an idea from nothing in 2 days and get instant feedback about your work. During the hackathon, critical thinking, the ability to work in a team, time management, the ability to work in a stressful situation, the ability to present the results of their work in an understandable form, the skill of presentations and many others are pumped through. That is why hackathons are a great place for people with theoretical knowledge who want to get real experience.
Typically, the hackathon prize fund is approximately 1.5k - 10k euros for first place (in Russia - 100-300 thousand rubles). The expected benefit (expected value, EV) from participation can be calculated using a simple formula:
EV = Prize * WinRate + Future_Value - Costs
is the size of the prize (for simplicity, we assume that there is one prize);
is the probability of winning (for a beginner team, this value will be limited to 10% above, for the more experienced one - 50% and higher; I met people who left a prize from each hackathon, but this is rather an exception to the rules and in the long run their win rate will be below 100%);
is a value that shows the future profit from participating in the hackathon: it can be profit from acquired experience, established relationships, information received, etc.This value is almost impossible to determine exactly, but it must be remembered;
- the cost of transport, accommodation, etc.
The decision to participate is made on the basis of comparing the EV of the hackathon with the EV activity, which you would like to do if the hackathon were not: if you wanted to lie on the weekend on the couch and pick your nose, then you should be involved in the hackathon; if you spend time with your parents or a girl, then take them to the team for a hackathon (just kidding, decide for yourself), if you make bribes, compare the dollar-hour.
According to my calculations, I can say that in Russia for the average dataseentist junior level - the middle to participate in the hackathons is commensurate with the monetary profit from the usual working day, but there are also nuances (team size, type of hackathon, prize fund, etc.). In general, hackathons at the moment - this is not a bonanza, but they can give a pleasant addition to your personal budget.
Hiring a company 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 on the hackathon than on an interview by twirling a binary tree on a board (which, by the way, does not always correspond to what you will do in a real datasaentist, but tradition must be honored). Such a test in “combat” conditions can replace a test day.
I got my first job thanks to the hackathon. On the hackathon, I showed that more money can be squeezed out of the data, I told how I am going to do it. I started the project on the hackathon, won it, then continued the project in the sponsoring company. This was the fourth hackathon in my life.
Ability to get a unique dataset
This is a very relevant point for the date of the hackathon's Saenz, the importance of which not everyone understands. Typically, sponsoring companies provide real datasets during an event. These data are private, they are under NDA, which does not prevent to show you the proof of concept on a real dataset, and not on a toy titanic. In the future, such results will greatly help in finding a job in a given company or a competitor company or in justifying similar projects. Agree that, other things being equal, to have completed projects that are positively rated better than not having them. In general, such implemented projects play a similar role with medals and statuses on a kagla, but for the industry their value is more obvious.
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 newcomer:
The essence of hackathons. Briefly
- Do not be afraid to go on hakatons even if you have no experience or team. Think about what you could be useful. For example, can you have an interesting idea or are you well versed in any field? You can use your domain knowledge when formulating a problem and find non-trivial solutions. Or maybe you can google the best? Your skill will save a lot of time if you can find ready-made implementations in a githaba. Or are you very good at tuning the lightgbm parameters? In this case, do not go to the hackathon, but prove it in kagla competitions.
- Tactics are more important than maneuvers. Your task on the hackathon is to solve the problem. Sometimes to solve a problem, it needs to be revealed. Check that your identified problem is really relevant for the company. Check your solution for compliance with the problem, ask yourself the question about the optimality of your solution. When evaluating your decision, first of all you will look at the urgency of the problem and the adequacy of the proposed solution. The architecture of your neural network or how many hands-auk you have received are of few people interested.
- Attend as many hackathons as possible, but do not hesitate to leave badly organized events.
- Add the results of your work on the hackathon to your resume and do not be afraid to write about it publicly.