Соревнования TopCoder, интервью участника

Продолжая тему TopCoder Open, предлагаю вашему вниманию интервью с одним из украинских участников, Ростиславом Слипецким (Ростислав занял 3 место на ТСО в категории Component Design).

Розкажи про себе. Скільки часу займаешся програмуванням?

Коли я навчався на першому курсі в Могилянці, до нас прийшов викладач і сказав: «Хлопці-дівчата, я хочу навчити вас програмувати, хто бажає — приходьте до мене на гурток». Так я з першого курсу почав вчити Паскаль і розв’язувати задачки з програмування, а Михайла Медведєва, зараз завідувача однієї з кафедр в Університеті ім. Шевченка, і досі вважаю своїм наставником. З ТопКодером теж познайомив Михайло Геннадійович. На третьому курсі я написав курсову роботу по компонентній розробці ПЗ для TopCoder, Inc. і з того часу уже другий рік пишу змагання з Component Design.

В чому була ідея змагань з прикладного програмування?

Фіналістам дають завдання, взяті з реального життя. Ті, хто пише Component Design, відповідають за розробку архітектури програми, створюють набір UML діаграм, описують основні алгоритми. Component Development полягає в написанні коду програми і його тестуванню.

Наприклад, одне із завдань на фінальній частині полягало в написанні ASP .NET Control’у і відповідної серверної частини, за допомогою яких можна завантажувати на сервер архіви великих розмірів (декільки гігабайт) і надавати можливість отримувачам звантажити даний файл (пересилати такі файли через електронну пошту не можна, оскільки розмір файлів, що додаються, обмежений, а розбивати гігабайтові файли на архіви по декілька мегабайт незручно).

Як оцінювались результати?

Результати оцінювало журі — троє досвідчених учасників ТопКодера, які виставляли всім оцінки за 4-бальною шкалою по десятку різних параметрів: правильність алгоритмів, ефективність алгоритмів, коректність діаграм, і т.д. Твій результат визначається як середнє арифметичне балів від трьох суддів.

Що дає участь (перемога) у подібних змаганнях?

Уявіть собі студента-третьокурсника, який приходить працювати на комп’ютерну фірму в Україні і отримує завдання запрограмувати якийсь компонент комерційної програми. Він працює на своїм завданням, дає його на перевірку старшим програмістам, а вони уже вказують йому на помилки і вчать, як ту чи іншу частину зробити краще. Вам відомі такі компанії в Україні? Боюся, що частіше за все, студентам (а часто і випускникам) дістається робота по написанню UI або тестуванню, та й то ще пощастить, якщо тестування автоматичне.

ТопКодер — це реальна можливість чомусь навчитися, бо твої результати оцінюють більш досвідчені програмісти, плюс у тебе є безкоштовний доступ до результатів переможців, от Вам і «learning by example».

Зрештою, можна зрозуміти і комп’ютерні компанії в Україні. Я сам закінчив бакалаврат в цьому році, і якби не ТопКодер, то практичних знань дістав би набагато менше, аніж потрібно для повноцінної роботи. Це проблема в Україні. Я знаю, що певні кроки роблять в мому університеті — Києво-Могилянській Академії — щоб змінити цю ситуацію. Наприклад, завдяки старанням декількох викладачів-ентузіастів і декана у нас впроваджено курси групової розробки програмного забезпечення, і уже на другому курсі навчання студенти отримують навички роботи в команді з CVS i Subversion, Bug Tracker’ами, тощо.

Зараз в нашому університеті починається робота над тим, щоб залучити комп’ютерні
компанії в Україні до навчального процесу, а саме планується брати практичні завдання для курсів з програмування від існуючих у нас ІТ-компаній. Я теж залучений до цього проекту, і якщо у нас вийде все, що запланували, то студенти ще в університетських аудиторіях зможуть попрацювати над "міні"-комерційними проектами, взятими з реального життя. А поки це тільки плани — є ТопКодер :-)

Дякую.

  • Популярное

12 комментариев

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.

Тоже оффтоп: Медведев зав. кафедры МИ? Это шутка? Если нет — жалко родную кафедру: — ((не знаю насчет докторской -, но кандидатскую его читал — типичный пример абсолютно бессмысленного исследования — если б не авторитет Анисимова — хрен бы защитился (после него ту же тему развивал другой аспирант — фамилию не помню точно к сожалению, так он хоть алгоритм довел до ума и реальных алгоритмических оценок)).

2 passer-by: Да, он (Ростик) конечно был 13 на отборах, но в финале занял 3тье место (пусть даже Pops и не учавствовала), так что я думаю не надо умалять его достоинств

По комментариям выше отчетливо видно самое распространенное заблуждение насчет ТС — то, что это конкурсы исключительно по спортивному программированию. Ну это и понятно — эти конкурсы самый раскрученный трэк ТС, особенно в Восточной Европе. Так вот:) Чтобы заполнить этот досадный информационный вакуум по прикладному трэку ТС, если сообществу девелоперз.орг.юа интересно, можно устроить у вас на сайте QA-сессию по «компонентам». Отвечать буду я, кто-нибудь из Украины, кто уже успешно участвует в них, и, возможно, главный архитектор ТС Дейв Мессинжер.

Algorithm competition — Jan_Kuipers (Netherlands) Design competition — kyky (живёт в америке, хотя сам бывший киевлянин) Development competition — hefeng (Chine)

а кто выйграл этот TopCoder Open в этом году?

Ошибочка при печати — вместо «не очень нелёгкого перелёта» читай «очень нелёгкого перелёта»

@Vadim VoitukКакими такими организаторскими вопросами занимался Медведев? Заказывал билеты на самолёт? Он это сделал «мастерски» — у парней почти не было времени на переакклиматизацию и отдых перед финалом после, скажем так, не очень нелёгкого перелёта.Сейчас про Рыбака и Кошляка ничего сказать не могу, но тогда от них было оччень много толку — в финале решали одну задачу на двоих, но так и не решили. А если бы решили, то было бы не третье место, а выше...

2 ВадимНа топкодере как уже писалось в другой статье есть несколько видов соревнований. Выскажусь на счет спортивного решения алгоритмических задач: на мой взгляд на современном киевском рынке, такие навыки дают мало конкурентных преимуществ, так как не так уж много компаний занимаются разработкой ПО со сложной алгоритмической составляющей. Больше востребованы специалисты с указанным выше опытом ООП и знанием технологий и фреймворков. Ребята сильные в алгоритмах зато могут попробовать попасть например в Гугл и Майкрософт.

@Siansor: А хотя-бы видели задания на TopCoder? Посмотрите, пристыдитесь и напишите опровержение своему комментарию. Если вам не нужны думающие программисты (aka спортсмены) — присылайте ко мне! @passer-by: Медведев занимался организаторскими вопросами, без которых ни Рыбак ни Кошляк попросту на олимпиаду не попали бы.Кстати это пример спортсменов-программистов, которые вопреки бытующему мнению умеют рисовать UML, описывать архитектуру приложения, находить элегантные решения поставленных задач и в конце-концов отлично кодировать.

Насколько я знаю, Ростислав Слипецкий попал в финал в этом году лишь потому что у многих людей оказались проблеммы с визой. То же самое было и в development’е — там даже не смогли набрать нужных 8 человек.Отдельное слово про Медведева. Он когда-то типа ’тренировал’ команду Грушецкий/Рыбак/Кошляк для олимпиады acm, хотя реально готовил команду один Грушецкий. В финале они заняли 3-е место. Так этот красавец Медведев на кафедре в универе прицепил табличку, что, мол, команда Медведева заняло 3-е место.

Он конечно молодец. Но на работе требуют совсем другие знания чем те которые нужны для спортсменом-программистов (хотя навыки и смекалка всегда пригодится) Требуется решать конкретные задачи и на качество, а не на скорость. Конечно даже во Львове если ты спортсмен программист то тебя без проблем возьмут на роботу. Но таких можно на пальцах пересчитать. Вообще в спорт программирование идут больше математики чем программисты. Хотя быть программистом спортсменом перспективно, если учесть призовой фонд в 20 млн. у. е. Но я думаю лучше время потратить на другие вещи чем на то чтоб очередной раз изучать алгоритмы, которые вдруг могут попадутся на турнире и не попадутся на практике (на работе) Что то я загнул сильно) Просто у меня знакомый проджект менеджер недавно на работу искал простого программиста.Я ему говорю что есть один спортсмен, а он мне чуть ли не матом что ему простой нужен програмер со знаниемC/C++ JAVA ООП + англ яз...

Небольшой оффтоп. Медведев стал зав. кафедры на Мат. Информатики?

Подписаться на комментарии