Interview with Alexander Skidanov at the meeting with ICPC 2008 winners
The team of Izhevsk State University (ISTU) ISTU # 1 Godlike took third place in the overall standings and was awarded gold medals (according to ACM, the first three go to gold). I would like to introduce an interested public to an interview with Alexander Skidanov, captain of Izhevsk programmers.

To begin with, I must say that the interview was held as part of a meeting of winners with employees of the IT company in which I work (we have been sponsoring the Olympic Games movement in the region for several years). The guys talked about going to the finals in Canada, the event itself, highlighted some of the nuances and subtleties of such a competition. After the meeting, I managed to ask Sasha several questions prepared in advance.
“In general, the term“ sports programming ”does not give an unambiguous understanding of the direction of the olympiads. What is more in sports programming today, directly programming or mathematics? ”
Each tournament has its own specifics. For example, on the whole chain - a quarter-final, a semi-final, a final - guaranteed more programming than mathematicians. In almost all problems, it was just necessary to reason logically and come up with a new algorithm, some well-known algorithms almost did not come in handy. Although the organizers manage to include in the list tasks with an emphasis on various sections of mathematics.
At local competitions in Petrozavodsk or the CBOSS open cup, there are a lot of mathematics, especially geometric problems. I really do not like them, other members of the team, too, so sometimes in such competitions we do not perform in the best way.
“Is there any specificity in various tournaments? For example, the tasks at the Ural Championship have some fundamental difference from the final tasks of the ICPC? ”
There are no fundamental differences. The only thing that should be noted is that at local tournaments a shift in emphasis towards mathematics is noticeable. Well, of course, at local tournaments we feel much more comfortable. Tasks for the Urals Championship in Yekaterinburg are written literally by 3-5 specialists from year to year, therefore, over the years of participation, we have already learned how to “predict” the direction of upcoming work.
“They say sports programming is an industry today. Accordingly, the requirements for tournament participants are constantly growing. Does it happen that in order to maintain one’s level one has to “score” on some disciplines at a university? Simply put, are there situations when your surname is printed on the list of winners and on the deduction list before the dean’s office? ”
Well, I think everyone understands that there is no connection between success at the Olympics and overall performance. My surname is not in the lists for expulsion, only because the dean’s office, is trying in every possible way to help the olympiadniki of his faculty and to delay the deadlines for passing some disciplines. On the other hand, it often happens that the situation with students from the list of deductions is much better than mine. There is nothing to be done - you have to pull yourself up, hand over the material.
“In general, how does sports programming intersect with traditional industry programming? It doesn’t turn out that today you train to solve olympiad problems only for the sake of olympiads? "Do you think these skills will be useful to you in your further" adult life "?”
Firstly, participation in the olympiads taught me, at least, to accurately and quickly write code. When in the last minutes you write the 400th line of code in the final task of the finale, the impossibility of further debugging in case of an error is very acute. The task "went" the first time, the code was correctly written - can such skills not be useful in industrial programming ?! In addition, I believe that with today's development of information technology and, in particular, the Internet, I can find a worthy application for my knowledge and skills.

"What plans do you have for the future? You have TopCoder and ImagineCup ahead. What do you expect from these tournaments? ”
I'm afraid that I have to skip ImagineCup - I didn’t do it at all, although I still have time. On the other hand, there is not so much left, and if other applicants had two months to prepare, and I decide everything on the last day, then the result will be appropriate.
The semi-finals of TopCoder, which will be held in Las Vegas, I definitely will not miss. Another thing is that only 10 people will go to the finals, and so far I am in 23rd place in the overall standings.
“What happened at the end of February, where did the TopCoder graphics fail?” Preparing for AFM? ”
Not. Training before ICPC did not distract me from TopCoder. The February disruption of the schedule is associated exclusively with one single competition, which for some reason I did not immediately notice. TopCoder sometimes reminds me of a lottery, it’s just out of luck - it happens. On the other hand, I regained my rating in the next contest.
“This ACM Final is the last tournament of this series for you. In spite of the fact that you “slammed the door loudly” and took the gold, would you be sorry to leave this event forever? Will you take part in alternative championships after graduation? ”
Of course I'm sorry. Over the course of several years, I had a steady goal in my life, which I essentially achieved, but then the road to the ICPC is closed to me. Of course I will continue to participate in TopCoder, as well as many other finalists. Although this is not such a promoted tournament as the events held by ACM, at least there is no age limit in it. Yes, and much more disciplines - you can try yourself, for example, in applied programming. Without constant training, my rating will certainly decline over time, but at least I can continue to do what I love. In addition, the online TopCoder seems to me more interesting than the long and sometimes tedious ACM ICPC.
“How are the roles distributed in your team?
Are they clearly assigned to each participant, or vary in the process of solving each specific problem? ” We have two coders - me and Zhenya. At tournaments we do programming directly. You have to write code quickly, a lot, and most importantly, accurately. Vitya is able to think very unconventionally, therefore, as part of the team, he is engaged in the generation of ideas. He has to come up with solutions for particularly "vile" mathematical problems.
“Does the title of team captain imply any additional duties or responsibilities?”
I do not know how the other teams, but in our captain is essentially an informal leader. No additional responsibilities are assigned to me. Often, before major tournaments, we agree whose decision we will use in case of a contentious situation. It happens that radically different decisions appear in me and Viti. Previously, being confident in each of our options, we tried to prove to each other the correctness of our own decision. From a certain moment, in order not to waste time, we simply began to agree in advance whose word would be decisive. In any case, the title of team captain does not give me any additional privileges over other members and does not burden me with duties.
“How much time have you spent training, let's say, in the last six months?”
In general, during the most stressful and responsible period, I had to train 4 times a week for 5 hours. Of course, it didn’t always work out, but I tried not to miss the training, I think the result is from here.

“Among the programming competitions, there are so-called“ marathons ”. The team is given a task that does not have an ideal solution. At the same time, it is required to be solved in the most efficient way, depending on the rating system. Do you think that behind such marathons is the future of sports programming, which will thus somehow begin to come into contact with the industrial? ”
In general, sports programming has its opponents. This probably indicates the maturity of the industry (laughs). It often happens that upon returning from the next Olympiad, we have to read somewhere in forums and conferences that sports programming is the last century, it has no practical value and has long become obsolete. They say a lot about the fact that all effective algorithms have been written for a long time, and today at tournaments the participants simply adapt them for specific tasks. I do not want to argue with this - in fact, there are times when we use classical, albeit not ordinary, algorithms to solve competitive problems. The task list of a major tournament always has simple tasks that most participants can solve using a standard algorithm. Moreover, in the same list there is always a task or tasks, which will not be decided by any team in the tournament. Therefore, I believe that it is incorrect to say that we got gold by “rewriting” of classical algorithms for speed.
As for the marathons, I can say that such contests are certainly more interesting than regular competitions, but I could not achieve any meaningful results in them, as much as I have not tried. In any case, I think that marathons will be gaining popularity and I would like for a code to have an event on a scale comparable to ICPC, but using a model of marathons to evaluate the results.
“The ICPC finals results table is rather similar to the results of the“ inter-squad ”teams of the former CIS. As rightly noted in the comments on the news on the web: "It is not clear why in this country everyone is rooting for football." What is missing from sports programming to become a national sport, how did chess become in its time? Can you make a show out of sports programming? ”
Unfortunately, I have no idea what reforms are needed to turn ICPC into a show (laughs). Although I reliably know that some people follow this competition from sports bars on the same principle as they follow football, hockey, etc. On the other hand, there are not so many such people. TopCoder in this regard is a much more spectacular event. In order to be watched and nothing needs to be done, the audience is steadily growing every year. Regarding the conversion of sports programming into a national sport, I can answer with the words of my coach. Vladimir Georgievich believes that this requires first of all state intervention at the highest level. At least today, he does not see other ways.
“The profession of a programmer is paid well, even in our country. Is it possible to earn commensurate money by participating in sports programming tournaments? ”
If your name is Pyotr Mitrichev - yes, if somehow otherwise - no. I get many different scholarships - state, university, sponsorship. I get cash rewards for participating in TopCoder. But even if you take all these small sources of income that I have thanks to my skills in sports programming, their amount will not come close to the average salary of a programmer in our city.
“Does the pink pig mascot really work?)”
Of course not (laughs). Pink piggy is marketing.
- PS. To fans to get to the truth in a question of a content origin I want to tell that an interview was not published anywhere before Habr. So consider it exclusive.
PPS More photos from the meeting and a photo report on the ACM website .