Digital breakthrough - how it was

This is not the first hackathon that I win, not the first about which write, and this is far from the first post on Habré dedicated to the "Digital Breakthrough". But I could not write. I consider my experience unique enough to share. I am probably the only person at this hackathon who won the regional stage and the final as part of different teams. Do you want to know how it happened? Welcome under cat.

Regional stage (Moscow, July 27-28, 2019).

I first saw an advertisement for Digital Breakthrough somewhere in March - April of this year. Naturally, I could not get past such a large hackathon and registered on the site. I also got acquainted with the conditions and program of the competition. It turned out that in order to get to the hackathon, one had to pass online testing, which began on May 16th. And, perhaps, I would safely forget about it, since the letter with a reminder about the start of testing did not come. And, I must say, in the future, ALL LETTERS that came to me from the CPU consistently ended up in the spam folder. Even though I clicked the "not unwanted" button every time. I don’t know how they managed to achieve such a result, I didn’t succeed with mailing on MailGun. And the guys don't seem to know about the existence of services like isnotspam.com in principle. But we deviated.

I was reminded of the start of testing at one of the meetings startup club, where we discussed the formation of the team. Having opened the list of tests, I first of all sat down for the Javascript test. In general, the tasks were more or less adequate (like what the result will be if you add 1 + '1' in the console). But from my own experience, I would use such tests when selecting a job or a team with very big reservations. The fact is that in real work, a programmer rarely encounters such things, with his ability to quickly fuck up code - this knowledge does not correlate in any way, and you can train for such things for interviews quite easily (I know from myself). In general, I clicked the test pretty quickly, in some cases I checked myself in the console. In the python test, the tasks were about the same type, I also checked myself in the console, I was surprised to score more points than in JS, although I have never programmed professionally in python. Then, in communication with the participants, I heard stories of how strong programmers scored low on tests, how some people received letters that they did not pass the selection for the CPU, and then they were invited to it anyway. It is clear that the creators of these tests, most likely, have not heard anything about test theory, neither about their reliability and validity, nor about how to test them, and the idea with tests would initially be a failure, even if you do not take into account the main goal of the hackathon. And the main goal of the hack, as I found out later, was to set a Guinness record, and the tests contradicted it.

At some point after passing the tests, they called me, asked if I would participate, clarified the details and told me how to get into the chat for team selection. Soon, I entered the chat and wrote briefly about myself. The chat was full of trash, it seemed that the organizers caught up with advertising a lot of random people who have nothing to do with IT. Numerous “Steve Jobs-level” product managers (a real phrase from one participant’s introduction) posted stories about themselves, and there weren’t even normal developers to be seen. But I got lucky and soon joined three experienced JS programmers. We met each other already at the hackathon, at the same time we added a girl to the team to inspire and solve org issues. I don’t remember why, but we took the topic “Cybersecurity Education” and got into the track “Science and Education 2” with it. For the first time I was in a team of 4 strong programmers and for the first time I felt how easy it is to win in such a composition. We came unprepared and argued until lunch and could not decide what we would do: a mobile application or a web one. In any other situation, I would have thought it was a failure. The most important thing for us was to understand how we would be better than our competitors, because there were a lot of teams around that sawed tests, cybersecurity games and the like. Looking at this and googling tutorials and apps, we decided our main differentiator would be fire alarm training. We selected a number of features that seemed interesting to us for implementation (registration with checking email and password against hacker databases, sending phishing emails (in the form of letters from well-known banks), social engineering training in chat). Having decided on what we are doing and understanding how we can stand out, we quickly wrote a full-fledged web application, and I acted in an unusual role as a back-end developer. Thus, we confidently won our track and, as part of three more teams, qualified for the final in Kazan. Later, in Kazan, I found out that the selection to the final was a fiction, I met many familiar faces there from teams that did not pass this selection. We were even interviewed by journalists from Channel 1. True, in the report from it, our application was shown only for 1 second.

Digital breakthrough - how it was
Team Snowed, where I won the regional stage

Final (Kazan, 27 – 29 September 2019)

But further failures began. All programmers from the Snowed team for about a month, one after another, reported that they would not be able to go to Kazan for the final. And I thought about finding a new team. First, I called out in the general chat of the Russian Hack Team, and although there I received quite a lot of responses and invitations to the teams, none of them hooked me. There were imbalanced teams like product, mobile developer, front-end, swan-like, crayfish, and the pike from the fable. There were also teams that didn’t suit me in terms of technology (for example, with the development of a mobile application on Flutter). Finally, in a chat that I considered trashy (the same VKontakte where the selection of teams for the regional stage took place), they posted an announcement about the search for a frondender team, and I wrote purely at random. The guys turned out to be Skoltech graduate students and immediately offered to meet and get to know each other. I liked it, teams that prefer to get to know each other immediately at a hackathon usually put me on guard with their lack of motivation. We met at the Rake on Pyatnitskaya. The guys seemed to me intelligent, motivated, confident in themselves and in victory, and I made the decision right there. We did not yet know what the tracks and tasks would be in the final, but we assumed that we would choose something related to Machine Learning. And my task will be to write an admin panel for this business, so I prepared a blank based on antd-admin for this.
I went to Kazan for free, at the expense of the organizers. I must say that a lot of dissatisfaction has already been expressed in chats and blogs about the purchase of tickets and, in general, the organization of the final, I will not retell it all.

Arriving at Kazan Expo, having registered (at the same time I had some problems with getting a badge) and having breakfast, we went to choose a track. At the grand opening, where the officials were speaking, we went only for 10 minutes. In fact, we already had our favorite tracks, but we were interested in the details. In track No. 18 (Rostelecom), for example, it turned out that it was necessary to develop a mobile application, although this was not in the brief description. The main choice we made was between track No. 8 Pipeline Flaw Detection, PJSC Gazprom Neft, and track No. 13 Perinatal Centers, Accounts Chamber of the Russian Federation. Both there and there, Data Science was needed, and there, and there it would be possible to fasten the web. In track No. 13, we were stopped by the fact that the Data Science task was rather weak there, it was necessary to parse Rosstat and it was not clear whether an admin panel was needed. And the very value of the task was questionable. As a result, we decided that, as a team, we are more focused on track 8, especially since the guys already had experience in solving similar problems. We started by considering the scenario in which our application will be used by the end user. It turned out that we would have two types of users: techies who are interested in technical information and managers who needed financial indicators. When the idea of ​​the scenario appeared, it became clear what to do on the front, what to draw for the designer, and what methods are needed on the backend, it became possible to distribute tasks. The responsibilities in the team were distributed as follows: two people solved ML with the data received from technical experts, one person wrote the backend in python, I wrote the front in react and antd, the designer drew the interfaces. We even sat down so that it would be more convenient for us to communicate, solving our problems.

The first day flew by almost unnoticed. In communication with technical experts, it turned out that they (Gazprom Neft) had already solved this problem, they were just wondering if it could be solved better. I won’t say that this reduced motivation, but the sediment remained. I was surprised that at night the moderators of the sections marked working teams (as they said for statistics), this is usually not practiced at hackathons. By the morning we had a prototype of the front, some rudiments of the back, the first ML solution. In general, there was already something to show the experts. On Saturday afternoon, the designer already drew more interfaces than I would have had time to code and switched to creating a presentation. Saturday was set aside for recording the record, and in the morning, all those working in the hall were expelled into the corridor, then entry and exit from the hall was carried out by badges, and it was possible to leave the hall for no more than an hour. I can’t say that this caused us any significant inconvenience, most of the day we still sat and worked. The food, indeed, was very poor, for lunch we got a glass of broth, a pie and an apple, but again, this did not upset us much, we were focused on something else.

From time to time they gave out red bull, two cans per hand, it was very helpful. The energy drink + coffee recipe, already tested at hackathons a long time ago, allowed coding all night and the next day, being peppy as a glass. On the second day, we, in fact, simply added new features to the application, calculated financial indicators, and began to display graphs on the statistics of defects in highways. As such, there was no code review in our track, experts evaluated the solution of the problem in the style of kaggle.com, according to the accuracy of the forecast, and the front-end was evaluated visually. Our ML solution turned out to be the most accurate, perhaps this is what allowed us to break into the lead. On the night from Saturday to Sunday, we worked until 2 am, and then went to sleep at the apartment, which was used as a base. We slept for about 5 hours, on Sunday at 9 am we were already in Kazan Expo. I hurriedly made up something, but most of the time was spent preparing for the pre-defense. Pre-defenses were held in 2 streams, in front of two expert teams, we were asked to speak last, as both expert teams wanted to hear us. We took this as a good sign. The application was shown from my laptop, from a running dev server, we did not have time to properly deploy the application, however, everyone did this.

In general, everything went well, we were pointed out the points in which we could improve our application, and in the time before the defense, we even tried to implement some of these comments. The defense also went surprisingly smoothly. Based on the results of the pre-defense, we knew that we were ahead in terms of points, we were in the lead in the accuracy of the solution, we had a good front-end, good design, and, in general, there were good premonitions. Another favorable sign was that the moderator girl from our section took a selfie with us before entering the concert hall, and then I suspected that she might know something))). But we didn’t know our scores after the defense, so the time before the announcement of our team from the stage passed a little tensely. On the stage, they handed a cardboard box with the inscription 500000 rubles and each a bag with a mug and a battery for a cell phone. It was not possible to enjoy the victory and celebrate it normally, we had a quick dinner and went by taxi to the train.

Digital breakthrough - how it was
Team WAICO wins the final

Upon returning to Moscow, we were interviewed by journalists from NTV. We filmed for an hour on the second floor of the cafe "Kvartal 44" in Polyanka, but the news showed 10 seconds. After all, a strong progress compared to the regional stage.

To summarize the general impressions of the Digital Breakthrough, they are as follows. The event was spent just crazy money, I have never seen a hackathon of this magnitude. But I can’t say that it is justified, and that it really pays off. A significant part of the participants who came to Kazan were just party-goers who do not know how to do anything with their own hands, and who were caught up to set a record. I can't say that the competition in the final was higher than at the regional stage. Also, the value and usefulness of the tasks of some tracks is questionable. Some tasks have long been solved at the industrial level. As it turned out later, some organizations that led the tracks were not interested in their decision. And this story is not over yet, the leading teams from each track were selected for the pre-accelerator, and it is supposed that they will make BREAKTHROUGH startups. But I'm not ready to write about it yet, let's see what happens.

Source: habr.com

Add a comment