Долгий путь к программированию: история выпускника магистерской программы JetBrains&ITMO

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Нас часто спрашивают, можно ли поступить на магистерскую программу JetBrains в Университете ИТМО без профильного образования в бакалавриате. Мы отвечаем, что можно и подобные истории случаются каждый набор. Но нельзя не отметить, что в таком случае подготовка к поступлению и само обучение дается гораздо сложнее: студентам приходится осваивать больше материала в сжатые сроки. 

Ярослав Чернышев – выпускник 2020 года программы «Разработка программного обеспечения». В этом интервью он рассказал свою историю, которая, возможно, немного успокоит вас и подтолкнет  изменить сферу деятельности. Несколько лет назад Ярослав решил уйти из юриспруденции в IT. Что из этого вышло, читайте под катом. 

На фото – Ярослав Чернышев
На фото – Ярослав Чернышев

— Расскажи, кем ты сейчас работаешь и чем занимаешься?

Я работаю в JetBrains в команде Kotlin Build Tools c 2019 года. Наша команда занимается разработкой и поддержкой проектов на Kotlin в различных автоматических системах сборки. В мои задачи входит разработка и поддержка импорта Kotlin-проектов в среде разработки Intellij IDEA. Также в прошлом году я реализовал функциональность для расширенной поддержки менеджера зависимостей Cocoapods в Kotlin Multiplatform проектах.

— Верно ли, что твое первое образование было по совершенно другой специальности? 

Когда я поступал в магистратуру, у меня было два высших образования: техническое по специальности «Прикладная математика в нефтяной отрасли» в Грозненском государственном нефтяном техническом университете и юридическое в Московском университете МВД России. Именно по второму профилю я и работал в предыдущие годы. 

— Чем ты занимался до того, как поступил в магистратуру?

После армии я в течение шести лет проходил специальную службу в органах внутренних дел, в частности в подразделениях по работе с личным составом, штабных подразделениях и образовательных организациях МВД России. Со службы уволился в 2016 году, после занимался коммерческой деятельностью.

— Когда тебя увлекло программирование? С чего все началось?

Все началось еще в средней школе, первые уроки программирования были именно тогда. Я учился в специализированном классе с дополнительными занятиями по математике и программированием на Pascal. Благодаря этому интересу уже во время работы мне удалось автоматизировать многие рутинные задачи, такие как генерация и отправка отчетов, модифицировать 1С и прочие сервисы под свои нужды. Это, конечно, нельзя назвать полноценным программированием, но эта активность поддерживала меня в тонусе на протяжении долгого времени и сохранила интерес к программированию.

— Как ты решился настолько кардинально поменять область своей деятельности?

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

— Откуда ты узнал о программе? Рассматривал ли другие варианты  и почему остановил выбор на этой программе?

Когда я начал проходить курсы по программированию на Stepik, больше для души, чем в качестве подготовки, то узнал про Computer Science Center  и корпоративную магистратуру JetBrains. Я был далек от разработки программного обеспечения и ничего не знал о компании и ее продуктах. В тот момент именно поступление в Computer Science Center было моей целью, поскольку стать студентом магистратуры казалось задачей невыполнимой. Однако, вопреки сомнениям, я подал заявку на поступление и прошел этап онлайн-испытаний.

— Как ты готовился к поступлению?

Я начал подготовку за полгода. Изучил вопросы с собеседований предыдущих лет и составил список тем и предметов для изучения. Основными инструментами для подготовки стали сборники задач по высшей математике и курсы на Stepik. Наиболее полезными оказались курсы по программированию на C++ (базовый курс и продвинутый), по алгоритмам и дискретной математике. Этого набора знаний с натяжкой, но хватило для прохождения вступительных испытаний. 

— Помнишь, как проходило собеседование? Был ли ты уверен, что все прошло хорошо или нет? 

Прекрасно помню! Собеседование состояло из двух частей: письменной и устной. Сначала мне выдали лист с 10-12 заданиями по математике и программированию и посадили решать их в отдельный кабинет [в 2021 году абитуриентам будет предложено ответить на один теоретический вопрос и решить одну задачу – прим.ред.]. За отведенные 45 минут мне удалось ответить на большинство из них, хотя я не очень был готов к написанию кода на листе бумаги. После этого мою работу проверили, и мы обсудили как правильные решения, так и ошибки. 

На устном этапе собеседования мы обсуждали базовые понятия теории алгоритмов, основы языка программирования на выбор абитуриента (я выбрал C++, так как проходил курсы на Stepik). Кроме этого были интересные вопросы “на подумать”, такие обычно задают для проверки Problem-Solving Skills. Мне достался вопрос, связанный с генератором случайных чисел, на который я ответил неправильно, но преподаватель завязал беседу, и мне удалось выйти на правильный ответ. Спустя некоторое время мне позвонили и сообщили, что собеседование я прошел успешно и могу быть принят в магистратуру.

— Учеба на магистерской программе: как справлялся, был ли готов к такой нагрузке?

Я ожидал, что учиться будет сложно, но объем материала и интенсивность его подачи превзошли ожидания. Первые полгода было прям очень трудно: два больших теоретических курса по алгоритмам и дискретной математике, три языка программирования с абсолютно разными концепциями и синтаксисом, которые “радовали” большими домашними заданиями. Пожалуй, главным своих подвигом я до сих пор считаю пережитый первый семестр магистратуры: через пересдачу двойки за экзамен по дискретке, через досдачи незачетов, через допсессию. 

На фото – Ярослав Чернышев
На фото – Ярослав Чернышев

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

Больше всего мне запомнился курс по программированию на Java, в ходе которого мы выполняли объемные и очень интересные домашние задания. Сдать этот курс мне удалось только со второй попытки: сначала не осилил многопоточность, а потом как осилил!

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

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

— В этом году ты выступил уже в роли научного руководителя одного из выпускников. Был ли этот опыт интересным и полезным для тебя? 

Одна из первых задач, которую я решал в проекте Kotlin, былаинтеграция Kotlin Multiplatform проектов с популярным менеджером зависимостей Cocoapods. Эта функциональность оказалась востребованной у сообщества разработчиков, поэтому возникла идея воспользоваться накопленным опытом и расширить возможности интеграции на другие менеджеры зависимостей. Осенью 2020 года я предложил магистрантам выпускного курса в качестве дипломного проекта реализовать интеграцию Kotlin Multiplatform проектов с менеджером зависимостей Swift Package Manager, которую разрабатывает и активно продвигает компания Apple. 

Результатом работы выпускника стал плагин для системы автоматической сборки Gradle, позволяющий разработчикам подключать Swift Package зависимости в свои проекты и преобразовывать Kotlin Multiplatform проекты в Swift Package зависимости. Кроме того, была опубликована статья на международной конференции Finnish-Russian University Cooperation Program in Telecommunications (FRUCT). Этот опыт однозначно был очень полезным, и вдвойне радостно, что в совместной работе удалось достичь высоких результатов.

— Что бы ты посоветовал абитуриентам? 

Трезво оценить свои моральные и физические возможности, а также быть готовым на год-полтора выключиться из личной жизни, сосредоточившись на обучении. В обратном случае весьма вероятно, что отсутствие фундаментальных знаний и навыков и неспособность их в сжатые сроки компенсировать приведут к преждевременному завершению учебы.

Подробнее о корпоративной магистерской программе JetBrains мы рассказывали в этом посте. Подача документов продлится до 9 августа 2021 года. Ждем вас!

Источник: https://habr.com/ru/company/JetBrains-education/blog/565132/


Интересные статьи

Интересные статьи

Рассказываем, как развивались способы создания презентаций до появления привычных нам сервисов. Мы привыкли делать презентации в специальных программах или онлайн-редакторах: у нас...
На вопросы отвечал Павел Зыков, СТО DomClick.ru ДомКлику скоро 5 лет. Давайте немного вспомним историю и заодно познакомимся. Компания была основана в 2015 году. Ты помнишь день, с которого вс...
Что будет, если использовать всем известное in-memory-хранилище ключей и значений в качестве персистентной базы данных, не используя TTL? А если оно запущено с помощью надёжного, казалось бы,...
Друг затеял интересный проект и я подумал, почему бы им с вами не поделиться (с его согласия, конечно же)! Вот сама история: «Пару месяцев назад меня попросили помочь с проектом аркадно...
Почти 60% посетителей сайта покидают его в том случае, если его загрузка занимает более 3 секунд. 80% таких посетителей на сайт уже не возвращается. Это говорит о том, что успех веб-проекта не в ...