«Стажировка была чем-то вроде исследования»
Студенты Питерской Вышки часто попадают на стажировки в крупные компании. Этот шаг помогает ребятам задуматься о карьере, найти интересное направление, а иногда и вовсе найти постоянную работу. Поговорили с двумя студентами 3 курса «Прикладной математики и информатики» о том, чему они научились на стажировках и как это было.
Никита Денисов, стажировался в «Тинькофф» летом 2022 года
Стажировки — это хороший способ попробовать реальную работу и провести лето с пользой. Я пытался подаваться и после первого курса: даже прошел несколько алгоритмических этапов собеседования в «Яндекс», но тогда для меня не подобралась команда. Летом 2022 года я вернулся к этой идее.
Я подал заявку на стажировку в «Тинькофф» через сайт компании. Там нужно было решить семь алгоритмических задач за ограниченное время. Основная сложность в том, что в итоге я не получал вердикт — не знал, какие задачи я решил верно, но думаю, что у меня получились все. Еще нужно было заполнить анкету и рассказать о своем опыте — с ней я справился без проблем. А дальше я уже проходил собеседование с тимлидом. Так я и попал в бэкэнд-команду, которая занимается разделом «Поиск» для мобильного банка и «Тинькофф. Инвестиций».
Сама стажировка была крутой, и рад, что мне удалось на нее попасть. Насколько я знаю, конкретно на эту подавали заявки больше 700 человек, и, помимо меня, прошли только двое ребят — все они очень сильны в программировании. У каждого стажера был персональный ментор, к которому можно было обращаться по любым вопросам. Про работу команды мы узнавали что-то новое каждый день.
Во время стажировки я кодил, в основном, на C++. А вот небольшие скрипты для сервисов были уже на Python. Оба языка мне не в новинку: мы их проходили в университете вместе с Java и Haskell. Помимо этого, я разобрался с поисковой частью бэкенда для нашего проекта, познакомился с трекерами задач вроде Jira и научился работать в команде по спринтам над разными блоками задач. В Вышке этому всему тоже учат — как раз на третьем курсе. Все-таки до этого нам важно было освоить азы программирования.
Я пробыл стажером два месяца, с 1 июля по 1 сентября, а потом мне предложили позицию младшего разработчика в этой же команде. Очень этому рад — значит, я успел разобраться во всех нюансах проекта и влиться в команду. Совмещать работу с учебой, конечно, трудновато, но у меня получается — и без вреда для моей успеваемости. Я просто договорился со своим руководителем о более гибком графике.
В будущем мне хотелось бы побольше позаниматься машинным обучением. Такая возможность у меня есть уже сейчас: вместе с моим однокурсником Денисом Шестаковым я работаю над исследованием распознавания речи в реальном времени. Надеюсь, удастся попробовать еще что-то.
Артем Захаренко, стажировался в Saint Petersburg Research Center осенью 2022 года
Стажировка в Saint Petersburg Research Center длилась с начала августа по конец октября, это был первый подобный опыт для меня. В марте я отправил заявку через сайт, выбрал интересную для меня команду. Какое-то время спустя со мной связалась HR и назначила мне собеседование — оно прошло успешно.
Я попал в команду, которая занималась алгоритмическими задачами для облачного сервиса компании. Например, компания занимается тем, что продает свои вычислительные мощности — виртуальные машины. Одной из задач команды было размещение виртуальных машин на серверах Saint Petersburg Research Center таким образом, чтобы это приводило к наименьшему количеству затрат. Писать код приходилось в основном на Python, но иногда для оптимизации я использовал C++.
Сначала мне дали те задачи, которыми занимался предыдущий стажер, я по ним добился хороших результатов — закончил работу всего за месяц. Задача по сути состояла в том, чтобы составить составлении наименьшего по времени расписания для перемещения данных с одного набора серверов на другие. Потом у меня была более глобальная задача. Схема работы была такая: сначала я придумывал решение, потом — алгоритм, и уже потом его кодил. Иногда решений нужно было несколько: поскольку задачи сложные и точного решения для них нет, то непонятно, какой код в итоге окажется лучше. Алгоритм при этом нужно было продумать так, чтобы была возможность оценить ответ.
Во время стажировки я узнал про стандартные рабочие подходы к задачам: что-то почерпнул из статей, иногда брал идеи из каких-то книг. Еще я понял, насколько важно визуализировать любое решение задачи — чтобы не было ситуаций, когда алгоритм выплюнул какой-то ответ, но откуда он взялся — непонятно. Какой сервер загружен — тоже не видно. Чтобы все работало правильно, нужно проверить время работы этого алгоритма и проследить за тем, сколько серверов занимает виртуальная расстановка машин.
Август и первую половину сентября я провел в Москве, а остальные полтора месяца я работал уже из питерского офиса. Вот это время было иногда сложно совмещать рабочие задачи с учебой. Собственно, поэтому я и не остался после стажировки, хотя мне предлагали позицию в компании.
Вообще стажировка была чем-то вроде исследования. Что такое программирование — я представляю хотя бы немного, а вот с исследовательскими задачами столкнулся впервые. Постажироваться где-нибудь еще мне бы тоже хотелось — но уже, наверное, в промышленной разработке. Буду думать, что делать дальше
Попасть на стажировку помогают не только знания, но и опыт — его можно получать через проекты для портфолио. У абитуриентов Школы физико-математических и компьютерных наук будет такая возможность: в конце февраля состоится первый этап Школы по практическому программированию. Подробнее о мероприятии можно прочесть на сайте.