QA: Hackathons

QA: Hackathons

The final part of the hackathon trilogy. IN the first part I talked about the motivation to participate in such events. The second part was devoted to the mistakes of the organizers and their results. The final part will answer questions that did not fit in the first two parts.

Tell us how you got started participating in hackathons.
I studied at the master's program at the University of Lappeenranta, solving competitions in data analysis along the way. My typical day looked like this: getting up at 8, a few classes at the university, then competitions and coursers until midnight (while the submission is considered, I watch lectures or read articles). Such a tough schedule paid off, and I won the MERC-2017 data analysis competition (which was even post on hub). The victory gave me self-confidence, and when I accidentally stumbled upon information about the SkinHack 2 hackathon in Moscow, I decided to visit my parents and at the same time find out what it is - a hackathon.

The hackathon itself turned out to be quite funny. There were two tracks on data analysis with a clear metric and a dataset with a prize of 100k rubles. The third track was for app development with a prize of 50k and had no contestants. At one point, the organizer said that a window with a button without functionality could win 50k, because the prize could not be paid. I didn’t start learning how to program applications (I don’t compete where I can be easily “turned over”), but for me it was a clear message that the fields in hackathons were not clogged.

Then I solved both tracks on data analysis alone. I found a leak in the data that allowed me to hit the perfect score, but the column with the leak was not in the test data that I received two hours before the end of the event (by the way, then I understood that the presence of the “target” column in the train does not count as a leak ). At the same time, the leaderboard opened, my no-face submission took third place out of five, there was a big gap before the first one, and I decided not to waste time and left.

After I analyzed with a fresh mind what happened, I found a bunch of errors (one of my habits is to mentally scroll through what happened to the notebook and analyze the errors, their cause, and what could be changed - such a pleasant legacy of semi-professional poker). But one thing was clear for sure - there is a lot of value in hackathons, and I simply have to implement it. After this event, I started monitoring events and groups, and the next hackathon was not long in coming. Then another, and another...

Why are you doing hackathons and not cagle?
At the moment I don't like Kagl. From a certain skill level, with no specific reason to participate, calling becomes less useful than other activities. I participated a lot before, apparently, I managed to somehow “get off”.

Why hackathons and not work on your own project?
I like the idea of ​​making something cool with my hands at a slow pace. The guys from ODS organized ODS pet projects for everyone who wants to work on their project in a circle of like-minded people on the weekend. I think I will join them soon.

How do you find events?
The main source is hackathon.com (world) and telegram chat Russian Hackers (Russia). Plus, event announcements pop up in social media ads and linkedin. If you didn't find anything, you can look here: mlh.io, devpost.com, hackevents.co, hackalist.org, HackathonsNear.me, hackathon.io.

Do you prepare a solution plan before participation or is everything decided on the go? For example, a week before a hackathon, you think: “There will be a need for such and such a specialist, you will need to look for it”?
If the hackathon is a grocery one, yes, I’m getting ready. A few weeks before, I figure out what I will do, figure out who can be useful, gather a team of friends or participants from past hackathons.

Is it really possible to hack a hackathon alone? What if there is no command?
Data science hackathons - really (I am a living example of this), grocery ones - I have not seen, although I also think so. Unfortunately, sometimes the organizers impose a limit on the minimum number of participants in a team. I think this is due to the fact that not all “loners” reach the final (that is, they just leave with the first difficulties), participation in the team still holds them back. After the event, you are expected to continue working on the project. With a team, it will be easier to bring the project to mind.

In general, I advise you to always participate with a team. If you do not have your own team, the organizers will always help you find or create one.

How do you deal with fatigue during a hackathon?
At the hackathon, 2 days are given for work, this is 48 hours (30-48 hours, let's take 48 for ease of calculation). We remove the time for sleep (16-20 hours), there remains no more than 30. Of these, 8 hours (on average) will actually go to productive work. If you organize the work correctly (sleep, nutrition, going out into the fresh air, exercises, minutes of awareness, proper communication with the team and switching activities), then deep work hours can be increased to 12-14. After such work, you will feel exhausted, but it will be a pleasant fatigue. Coding without sleep and breaks, interrupted by energy drinks - the path to failure.

Do you have your own pipelines for hackathons? How did you get them, how are they arranged for you (there are .py files in folders, each for its own task, etc.) and how to start creating these yourself?
I don't use completely ready-made solutions from past hackathons in new ones, but I have my own zoo of models and pipelines from past competitions. I don't have to rewrite standard pieces from scratch (for example, the correct target encoding or a simple grid to highlight the intent from the text), which saves me a lot of time.

At the moment, it looks like this: for each competition or hackathon there is a repo on github, it stores laptops, scripts and a little documentation about what is happening. Plus, there is a separate repo for all sorts of boxed "tricks" (like the correct target encoding with cross-validation). I don't think this is the most elegant solution, but so far I'm happy with it.

I would start by saving all my code in folders and writing short documentation (why, what, how and the result).

Is it realistic to prepare an MVP from scratch in such a short time, or do all participants come with ready-made solutions?
I can only say about projects related to data science - yes, it is possible. MVP for me is a combination of two factors:

  • A viable idea presented as a product (i.e. painted on a business canvas). There should always be a clear understanding of why and for whom we are making a product. Sometimes projects with a well-founded project, but no prototype, win prizes, and this is not surprising. Unfortunately, many participants cannot ignore the bitterness of defeat and attribute their failures to the shortsightedness of the organizers, continuing to cut models for no one knows who at the next hackathons.
  • Some indicator that you can make this product (application, code, description of pipelines).

It happens that a team comes to a hackathon with a ready-made solution and tries to “adjust” it to the task of the organizers. Such teams are cut off at the technical screening or only the part that they did on the site is “counted”. I have not seen such teams among the winners, but I think it is still profitable for them to walk because of the future value (contacts, datasets and more).

Are there any examples of bringing crafts implemented at hackathons to production / startup?
Yes. I had three cases when they brought it to production. Once by myself, twice by someone else based on my ideas and the code that I wrote at the hackathon. I also know a couple of teams that continued to cooperate with the company as consultants. I do not know the final results, but most likely something was done to the end. I didn’t organize startups myself and I don’t know if anyone did, although I’m sure there are examples.

After participating in many hackathons, what advice would you give yourself if you could go back in time?

  1. Tactics are more important than maneuvers. Present each solution as a finished product. An idea, a Jupiter laptop, an algorithm are worth nothing if it is not clear who will pay for it.
  2. Before designing anything, answer the question not “what?” but “why?” And How?". Example: when designing any ML solution, first think about the ideal algorithm: what does it get as input, how are its predictions used in the future?
  3. Participate in a team.

What do they usually eat at hackathons?
Usually at hackathons the food is bad: pizza, energy drinks, soda. Almost always, the food is organized in the form of a buffet (or a distributing table) to which a huge line is built. They usually don’t feed at night, although there was a case at one competition in Paris for the night they left to eat - chips, donuts and cola. I will present the organizers' thought process: “So, what do the programmers eat there? Ah, right! Chips, donuts, that's it. Let's give them this rubbish." The next day I asked the organizers: “Guys, is it possible to do something else for the night? Well, there, for example, porridge? After that, they looked at me like I was an idiot. Famous French hospitality.

At good hackathons, food is ordered in boxes, there is a division into regular, vegetarian and kosher food. Plus, they put a refrigerator with yogurts, muesli - for those who want to have a snack. Tea, coffee, water are standard. I remember the Hack Moscow 2 hackathon - there they mentally fed borscht and meatballs with mashed potatoes in the dining room of the 1C office.

Does the sanity of hackathons depend, so to speak, on the professional sphere of the organizers (for example, the best hackathons are conducted by consultants)?
The best hackathons were from organizers who had either organized hackathons before or participated in them before. Perhaps this is the only factor on which the quality of the event depends.

How to understand that you are not a noob and it's time for a hackathon?
The best time to go to a hackathon is a year ago. The second best time is now. So dare, make mistakes, learn - this is normal. Even the neural network, the greatest human invention since the wheel and gradient boosting over trees, cannot tell a cat from a dog in the first epoch of learning.

What “red flags” immediately indicate that the event will not be very good and there is no need to waste time?

  • A clear description of what needs to be done (relevant for food hackactons). If at registration you will be clearly assigned a task, then it is better to stay at home. In my memory, there was not a single good hackathon with TK. For comparison: Okay - do us something related to the analysis of audio conversations. Bad - make us an application that would be able to split the conversation into two separate audio tracks for each person.
  • Small prize pool. If you are asked to make a “tinder for an online store with AI” and a prize for first place of 500 euros and a minimum team size of 5 people, it’s probably not worth wasting time (yes, this is a real hackathon that was held in Munich).
  • Lack of data (relevant for data science hackathons). Organizers usually provide basic information about the event and sometimes a dataset sample. If you have not provided - ask, you will not lose. If for 2-3 it is not clear what data will be provided and whether they will be provided at all, this is a red flag.
  • New organizers. Do not be lazy and google information about the organizers of the hackathon. If they are hosting an event of this kind for the first time, there is a high probability that something will go wrong. On the other hand, if the organizer and jury members have already hosted hackathons or actively participated in the past, this is a green flag.

At one hackathon, they told me: “You had the best solution for the fast, but I'm sorry, we evaluate team work, and you worked alone. Now, if you took a student or a girl to the team ... ”? Have you seen such injustice? How did you cope?
Yes, I have met many times. I have a stoic attitude to everything that happens: I did everything in my power, if it didn’t work out, so be it.

Why are you doing all this?
All this is just out of boredom.

Source: habr.com

Add a comment