Дарья Крохина (Cognitive Technologies): Я со школы знала, что хочу быть программистом

Дарья Крохина – тренер по спортивному программированию, разработчик-алгоритмист в Cognitive Technologies. Мы поговорили с Дарьей и расспросили ее о том, как победить в олимпиаде по программированию и карьере разработчика.

Дарья, расскажи, пожалуйста, какое образование ты получила? Как обучение в НИТУ «МИСиС» повлияло на выбор профессии?

Я еще со школы точно знала, что хочу быть программистом. Я училась в очень хорошей математической школе и уже тогда участвовала в олимпиадах по программированию. Потом я пошла учиться в МФТИ, однако это оказалось для меня слишком сложно. После 2 курсов я перевелась в МИСиС.

Выбор в сторону МИСиС был сделан из-за наличия в институте секции по олимпиадному программированию. В общем-то, на мою профессию программиста МИСиС никак не повлиял, я бы в любом случае стала работать по этой специальности.

qkfdogwf55m

Можешь рассказать подробнее, что такое ACM ICPC? Как ты стала его участников?

ACM ICPC – это самое серьезное соревнование в мире по программированию среди студентов. В соревновании участвуют команды от институтов, по 3 человека в каждой. Есть несколько этапов соревнования: четвертьфинал, полуфинал и финал. Традиционно четвертьфинал для москвичей проходит в Москве, на него допускаются все желающие команды. Это соревнование регионального масштаба. Следующий этап – полуфинал – туда допускаются лучшие команды по результатам четвертьфинала (для Москвы это около 20 команд). В полуфинале участвуют студенты из России, Беларуси, Грузии, Армении, Латвии, Казахстана и Узбекистана. Он проходит в Санкт-Петербурге. Лучшие команды по результатам полуфинала проходят в финал чемпионата мира по программированию ACM ICPC. Он каждый год проходит в разных странах. В этом году, например, финал будет проходить в Америке, а раньше проходил в Таиланде и Марокко. Ну, а когда я была в финале, он проходил в Санкт-Петербурге. Надеюсь, что я когда-нибудь уже в качестве тренера побываю в финале где-нибудь за границей.

Как я уже говорила, я участвовала в олимпиадах по программированию еще со школы, и ACM ICPC – это логичное продолжение моего участия.

Как проходят олимпиады по программированию? Какими знаниями нужно обладать, чтобы принимать в них участие? Что стимулирует к участию в них?

Каждый этап ACM ICPC – это порядка 9-13 задач по программированию, которые студенты должны сделать за 5 часов. Для каждой задачи решением является программа. Правильность программы проверяется в специальной тестирующей системе. Решение задачи проверяется на наборе тестов. Если программа прошла все тесты, то решение считается верным.

Для участия в ACM ICPC естественно надо уметь программировать. Для написания программ разрешено использовать один из трех языков: C++, Java или Python. Но этого недостаточно, надо знать алгоритмы и структуры данных, а также иметь хорошую математическую подготовку. И, самое важное, уметь все это творчески применять и нестандартно мыслить. Ну а еще, чтобы хорошо участвовать в олимпиадах, надо много-много работать и прорешать огромное количество задач.

mlfh1iqx57i

Победа и даже участие в финале ACM ICPC – это действительно большое достижение, и оно помогает студентам при последующем трудоустройстве. Однако сомневаюсь, что это основной стимул – мне кажется, для большинства это скорее приятный бонус. Основные же причины – это любовь к решению интересных головоломок и спортивный азарт.

Как проходила твоя первая олимпиада, с чего всего начиналось, и почему ты решила продолжить учить других участников соревнований?

Ну, первую свою олимпиаду я совсем не помню – я все-таки занималась спортивным программированием с 8 класса. Но сомневаюсь, что мои результаты на ней были высокими. Для хороших результатов надо много работать – это не та отрасль, куда можно забежать и сразу получить все плюшки победителя.

Тренером по спортивному программированию я стала потому, что так и не смогла избавиться от интереса к решению задач и от спортивного азарта. А еще мне очень хочется, чтобы команда МИСиС достигла самых больших высот в ACM ICPC.

Какие участники запомнились тебе больше всего?

Естественно, в олимпиадном программировании, как и в любом спорте, есть свои легенды. Например, есть Геннадий Короткевич, который уже во втором классе стал призером республиканской олимпиады по программированию (то есть получил право поступления в любой ВУЗ без экзаменов). А в 12 лет у него было уже серебро на международной олимпиаде. Ни один участник в мире и близко не имеет таких достижений. Обычно на международную олимпиаду попадают школьники 10 – 11 классов (и само попадание на олимпиаду является очень большой заслугой).

Какой процент девушек принимает участие в олимпиадах по программированию?

Совсем недавно видела картинку про статистику по участникам ВКОШП (аналог ACM ICPC для школьников). Статистика, конечно, не в пользу девушек, но, как мне кажется, с каждым годом их участвует все больше и больше.

Какие планы по развитию карьеры есть сейчас?

Вообще у меня все хорошо с карьерой. Подготовка студентов к олимпиадам не является моей основной профессией, это скорее приятное хобби. Главное мое место работы – Cognitive Technologies, там я разрабатываю систему распознавания дороги для беспилотных автомобилей. Исследованиями в области компьютерного зрения тоже очень интересно заниматься.

Какие книги вдохновляют?

Так, чтобы вдохновляли, сложно сказать, да и не так уж много я читаю. Последние 3 прочитанные мной книги – «Атлант расправил плечи», Лолита и фанфик «Гарри Поттер и методы рационального мышления». Последний мне понравился больше всего.

Что можешь пожелать нашим читательницам, чтобы не возникало страха идти работать в IT?

Того же, что и любому человеку в любой области: заниматься тем, что интересно, думать своей головой и много-много трудиться.

Комментарии

НАПИШИТЕ НАМ

Напишите нам по любому вопросу, мы постараемся ответить как можно быстрее

Sending
or

Log in with your credentials

or    

Forgot your details?

or

Create Account

X

Спасибо!

Теперь редакторы в курсе.