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 scales and themes in Moscow, Helsinki, Berlin, Munich, Amsterdam, Zurich and Paris. In all events, I was engaged in the analysis of data in one form or another. I like to come to new cities for myself, make new contacts, come up with fresh ideas, realize old ideas in a short period of time and adrenaline during a speech and the announcement of the results.
This post is the first of three posts on the subject of hackathons, in it 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 conduct, and what they led to. The third post will be devoted to answers to questions about near-hackathon topics.
What is a hackathon?
Hackathon is an event held over 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 sponsor company provides a description of the task, success metrics (metrics can be subjective, such as “novelty and creativity”, or objective, accuracy of classification on a delayed dataset) and resources for success (company APIs, datasets, hardware). Participants in the allotted time should 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.
After the tasks are announced, the hackathon participants join in teams: each “loner” receives a microphone and talks about the selected task, his experience, idea and specialists of what kind of plan he needs to implement. Sometimes a team can consist of one person who is able to carry out all the work on a project on their own at a fairly high level. This is relevant for data analysis hackathons, but it is often prohibited or undesirable for grocery events - the organizers are aimed at further continuation of work on the project, but already at the company; the formed team has a number of advantages over the participants who wanted to create the product alone. The optimal team usually consists of 4 people and includes: frontend, backend, date of Scientist and business person. By the way, the separation of datasaens / food hackathons is quite simple - if you have a dataset with a clear metric and leaderboard or you can win with a code in a jupyter notebook - this is a datasaens hackathon; everything else - where you want to make an application, website or something sticky - grocery.
Typically, the start of work on a project starts at 9 pm Friday, and the deadline - 10 am Sunday. Part of this time should be taken to sleep (not to sleep and to code - this is the sure way to failure, I checked), which means that the participants do not have much time to do something high-quality. To help participants, company representatives and mentors are present at the site.
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 it is worth focusing your attention on and time.
At one hackathon, the regression task was set on a dataset with tabular data and pictures and a clear metric - RMSE. After I talked with the company’s datacenter, I realized that they didn’t need regression, but classification, but just someone from the management decided that the problem is best solved in this way. And they do not need classification in order to obtain an increase in money metrics, but in order to understand which parameters are most important when making a decision and then process them manually. That is, the initial task (regression with RMSE) changes to classification; the priority of the assessment changes from the obtained accuracy to the possibility of explaining the result. This in turn eliminates the possibility of using stacking and black box algorithms. Such a dialogue saved me a lot of time and increased my chances of winning.
Once you understand what you need to do, direct work on the project begins. You must set a check-pony - the time by which it is necessary to complete the tasks; along the way, it’s nice to continue communicating with mentors - company representatives and technical experts - this is useful for adjusting 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 a good tone is to conduct lectures and master classes. Usually there are three lectures - on how to present your idea as a product, a lecture on technical topics (for example, on using 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 arms on stage correctly so that listeners are not bored). There are various activities to cheer up participants - a yoga session, table football and tennis, or playing in the console.
On Sunday morning you need to provide the results of your work to the jury. At good hackathons, it all 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 guys who really did something. Unfortunately, technical expertise is not present at all hackathons and there are cases when a team with 12 slides and a mindset “... blockchain, quantum computing, and then AI will complete it ...” wins the 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 decides to award the winners. This completes the official part of the hackathon.
Motivation to participate in hackathons
In terms of experience gained, a hackathon is a unique event. In nature, there are not many places where you can realize the idea from nothing in 2 days and get an instant feedback about your work. During the hackathon critical thinking, teamwork, time management, ability to work in a stressful situation, the ability to present the results of their 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.
Typically, the prize pool of the hackathon 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
where Prize is the size of the prize (for simplicity we assume that there is only one prize);
WinRate - probability of victory (for a novice team this value will be limited to 10% above, for a more experienced team - 50% and above; I met people who left each hackathon with a prize, but this is more likely an exception to the rule and their winrate will be a long distance below 100%);
Future_Value - a value that shows the future profit from participating in the hackathon: it can be the profit from the experience gained, established relationships, information received, etc. This value is almost impossible to determine exactly, but it must be remembered;
Costs - the cost of transportation, accommodation, etc.
The decision to participate is made on the basis of comparing the EV hackathon with the EV activity that you would like to do if you didn’t have a hackathon: if you wanted to lie on the couch for the weekend and pick your nose, then you should probably participate in the hackathon; if you spend time with parents or a girl - then take them to the team for a hackathon (just kidding, decide for yourself), if you freelance - compare the dollar-hour.
According to my calculations, I can say that in Russia for an average junior middle-level datacenter, participating in hackathons is comparable to making money from a normal working day, but there are also nuances (team size, such as a hackathon, prize pool, etc.). In general, hackathons at the moment are not a bonanza, but they can give a nice boost to your personal budget.
Company hiring and networking
For a company, a hackathon is one way of hiring 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 on a real work of a datacentist, but traditions must be respected). Such a test in “combat” conditions can replace a test day.
I got my first job thanks to the hackathon. At the hackathon, I showed that more money can be squeezed out of the data, told how I am going to do it. I started the project at the hackathon, won it, then continued the project already in the sponsoring company. It was the fourth hackathon in my life.
The ability to get a unique dataset
This is a very relevant item for the date of the Hackathons, the importance of which not everyone understands. Usually sponsoring companies provide real datasets during the event. This data is private, it is under the NDA, which does not stop showing you a 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 this company or a competitor company or in substantiating similar projects. Agree that, ceteris paribus, having completed projects that are positively evaluated is better than not having them. In general, such implemented projects play a similar role with medals and statuses on the cough, but for the industry their value is more obvious.
In general, working at 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 the beginner:
- Do not be afraid to go to hackathons even if you do not have experience or a team. Think about what you might be useful. For example, you might have an interesting idea or are you good at any area? You can use your domain knowledge to formulate the problem and find non-trivial solutions. Or maybe you are the best able to 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.
- Tactics are more important than maneuvers. Your task at the hackathon is to solve the problem. Sometimes to solve a problem, it needs to be identified. Check that your identified problem is really relevant for the company. Check your decision for compliance with the problem, ask yourself a question about the optimality of your solution. When evaluating your solution, they will first of all look at the relevance of the problem and the adequacy of the proposed solution. The architecture of your neural network, or how many hands you received, is of little interest to anyone.
- Attend as many hackathons as possible, but do not hesitate to leave poorly organized events.
- Add the results of your work on the hackathon to your resume and don't be afraid to write about it publicly.
The essence of the hackathons. Briefly