Hackathon is a competition among developers to create digital solutions for the benefit of the customer. Although this type of event is very popular in the IT environment, many talented professionals are wary of participating in them. One of the reasons is the stereotype about the guaranteed loss of rights to the developed solution. Evgeny Mavrin, one of the winners of a large-scale hackathon, dispels this myth, and also talks about the advantages and prospects of programmer competitions.
Evgeniy is a promising young developer. Taking part in the Megapopis Moscow track, organized by the Moscow Innovation Agency as part of the VirusHack online hackathon, he, as part of the EGD BAG team (together with Alexei Airapetov and Anna Kovalenko), performed better than the rest of the task of creating an information bot for the ICQ New messenger, which reported users about the spread of coronavirus infection.
- Eugene, what did you and your team members do before participating in the hackathon? Where did you study, where did you work, what projects did you run? Have you been in business?
- We are a team of classmates. Graduated from the magistracy of the Bauman Moscow State Technical University under the program "Information Systems and Technologies" in 2019. We are all engaged in programming, but in different directions. For me, for example, the main stack is C ++ / Qt, and for Lesha (Alexey Airapetov - author's note) - Java. In addition to our main work, each of us had our pet projects at different stages of completion (read abandoned). In general, little has come to the release. None of our team has ever been involved in business. But we participated, let's say, in “friendly freelancing”, when we just need IT help from someone we know.
Thanks to education and common interests in the IT field, it is not difficult for us to offer and implement a working solution to almost any problem.
- Was it the first time you took part in a hackathon? How did you find out about the Megapolis Moscow track?
- Personally, I have already participated in the Aramco Upstream Solutions Technathon 2019 hackathon in a team with comrades from the Russian State University of Oil and Gas named after I.M. Gubkin, but we were unlucky that time. There was no match in the team among the participants.
We learned about the Megapolis Moscow track from friends: they just threw an advertisement from some Sharp community (C # developers) into the chat. They approached the participation in the VirusHack hackathon responsibly: we decided in advance on the task and roughly assigned responsibilities. And it really helped.
- How do you assess the complexity of the ICQ New customer's task? What is the level of the opponents?
- The task ideally, in my opinion, fits into the time frame of the hackathon. Often, in a couple of days that are allotted for a hackathon, many teams present a concept or prototype as a final decision. We presented a finished product, which later, together with the customer, was quickly brought into production. The level of the opponents was high. And I was really worried to see the results of other teams. Many participants allowed themselves a free interpretation of the task: someone, for example, made a bot with which they could play simple casual games.
- Tell us about the decision that came out in the end? What tools were used to develop it?
- As a result, we got an information bot that informed users about the spread of coronavirus infection.
By geotag, people could receive information about new and old cases of infection of citizens, find out the addresses of the nearest medical institutions and laboratories for passing tests for COVID-19 and the addresses of pharmacies and stores nearest to them. Also, a simplified SMS message generator was built into the bot to receive an electronic pass.
To adjust the computational flows when writing the bot, standard Java language tools were used. To significantly simplify the bot's work, an API library from ICQ was chosen. We also solved the problem of simplifying the deployment of a bot in a production environment: knowing that Docker is the standard in enterprise development now, we prepared a Docker image.
In general, the result is a product that is easy to modernize and scalable.
- What was the hardest part?
- The most difficult, probably, was to "comb" all the functionality of the bot so that it was convenient to use. We have implemented the interface in such a way that the user enters data in text only in extreme cases, such as to indicate the reason for issuing a one-time pass (yes, until recently it was relevant). All interaction with the bot was reduced to the competent use of the tools of the messenger itself. We have completely disabled the ability to manually enter commands. By the way, here is a demo video of the bot: https://youtu.be/1xMXEq_Svj8
- You became the winner of the hackathon. How did events develop further?
- We learned one very useful thing - as it turned out, we ourselves remained the copyright holders of the bot, which even surprised me a little. I thought that any hackathon is, roughly speaking, an exchange of an idea born in a team brainstorm for a valuable prize. But I re-read the agreement and the rules of participation and did not find anything like it. So to other hackathon participants who are worried that they will have to transfer the rights to their developments, I want to say that no, it is far from the fact that you will be obliged to do this. At the VirusHack hackathon, it was even possible to store the code in private repositories, and one of the jury members could simply be given temporary access to make a decision. In any case, before the hackathon, always read the participation documents so that there are no surprises in the future.
After the hackathon, on our own initiative, we prepared a bot port for the Telegram API in case of the second wave of the coronavirus pandemic. But it is better to keep this project in private repositories forever.
Now we are thinking about adapting the bot's functionality to the current situation, when the self-isolation mode is removed. For example, to search for fitness centers, restaurants and other city sites. Members of the ICQ New team do not mind hosting an updated version of the bot at their facilities.
- Should programmers participate in hackathons? What, in your opinion, can they give to participants and winners?
- Definitely worth it. It is a great experience to complete an applied task from scratch in a couple of days, which can then be discussed with experts. Plus this is an opportunity to evaluate your skills and "skills" of team members on a real two-three-day marathon. It's also networking. In any area, especially in IT, this is a very important aspect of development, it seems to me. You can find new people useful to you, communicate with them, see their projects. In addition, being engaged only in development at the main place of work, you can try yourself at the hackathon in a new role, for example, as a product owner, team lead, or other role. But for the winner, this is an opportunity for successful cooperation with top companies, assistance in promoting his idea. There are many cases when large-scale projects grew out of hackathons.
- In August, applications for a new hackathon will start to solve the city 's problems "Digital Transformation Leaders" . Its winners will receive substantial rewards. Will your team participate in it? How will you prepare? If you win, what will you spend your prize money on?
- For me, as for the rest of the team, the main goal of participating in the hackathon is the opportunity to develop a product prototype within an area of interest to us.
We gain experience in team development and a good project in the portfolio, we face interesting and challenging tasks. Of course, we want to win. However, we are not aiming at getting a prize money. If the project is useful, this will be our victory.
To prepare for the competition“Leaders of digital transformation” we will try to expand the composition of the team: in the previous hackathon there were three of us and, frankly, there were simply not enough hands. In addition, we will resolve the issue with the installed software so that all team members have the required set of programs before the start of the competition (as experience has shown, a huge amount of time is spent precisely on solving problems with software synchronization).
If we still manage to get a prize, then we'll spend the money on the PS5 and go home for a couple of weeks. Joke! Of course, we understand that the cash prize is, first of all, financial assistance for the further development of the project. Hosting, virtual machines, and so on are part of where finances will be allocated.