В гостях у OTUS: от Junior до Senior за 13 месяцев

Как быстро в IT можно подняться по карьерной лестнице и что в этом поможет? Сегодня наш гость Python web-разработчик Максим Кузнецов рассказал, как за 2020-й год с позиции джуна вырос до сеньора. Внутри — его история, советы по обучению и прохождению собеседований, и немного айтишной мудрости.

Прежде всего обрисуем контекст, чтобы создать правильные ожидания от статьи. В IT при трудоустройстве грейды Junior, Middle и Senior не всегда отражают реальный опыт и умения специалиста. Можно обладать талантом, делать свои проекты или годами программировать на фрилансе, но при попытке устроиться в IT-компанию — столкнуться с тем, что тебя будут рассматривать только на позицию джуниора именно из-за отсутствия официального стажа.

Наш герой пришел в коммерческую разработку в январе 2020 на позицию Junior-разработчика, а уже в феврале 2021 года его компетенции соответствовали Senior-уровню. Но перед первым трудоустройством у Максима был хороший фундамент из профильного образования и практический опыт на стажировках. Поэтому начинаем рассказ с этого бэкграунда, и передаем слово Максиму.

Стажировки — главная ценность вуза

Привет! Мне 24 года, живу в Вологде. Действительно, у меня был серьезный айтишный бэкграунд. Я учился в Вологодском Государственном университете на кафедре Автоматика и Вычислительная Техника по направлению программной инженерии. Эта специальность нашего бакалавриата что-то типа прораба или тимлида для программистов. 4 года нас учили кодить, алгоритмам, мат.моделированию, системам принятия решений, управлению программными проектами.

Понятно, что в институте практика — вырожденные задачи, но у вуза есть ценный бонус — обязательные стажировки, где тебе дают уже реальные задачи. На втором курсе я стажировался в Сбере, на третьем в Playrix.

В Playrix я работал на Python, задача была связана с автоматизацией скриптов. Мне поручили сделать микросервис с большим количеством тестов на основе старого большого скрипта, потом все это нужно было завернуть в Docker. Задача была полностью на мне, и я разбирался с ней все две недели стажировки.

Фактически при трудоустройстве джуном у меня уже было 3 года опыта разработки + свои проекты, о которых расскажу дальше.

Про выбор языка

Я действовал не самым эффективным образом — пробовал не менее 10 разных языков, 5 разных баз данных и другие технологии. В институте начинал с Java, но выбрал все-таки Python. Java показалась мне не то чтобы сложной, но вот это управление библиотеками и зависимости мне не очень нравилось. Так что после стажировок я решил продолжать развиваться как веб-разработчик на Python.

Максим Кузнецов, Senior-разработчик

Junior. Совмещал работу с очной учебой

январь-июль 2020, компания Traffic Light, CPA-сервис

Первая работа была в офисе. Хотя компания московская, у них был офис в Вологде, и многие разработчики работали тут. Я пришел на должность full-stack Python Developer.

К тому моменту я заканчивал последний курс вуза, но смог договориться со всеми: пропускал лабораторные, но приходил на лекции, в остальное время работал в офисе. Однажды засиделся там до 11 вечера, и меня закрыли.

На собеседовании с работодателем мы обсуждали, что после диплома меня повысят до мидла. Но когда дошло до дела, руководство оказалось против: 90% времени я решал проблемы интеграции с клиентами и времени на другие задачи почти не оставалось. Может быть, я задержался бы в компании подольше, но ощущение, что я могу решать задачи сложнее меня не покидало. Я пошел на HeadHunter и за полдня нашел работу мидлом с зарплатой выше 100 тыс. рублей.

Про освоение навыков

Начинал с того, чтобы самому себе придумывать задачи. Я смотрел урок на Ютубе, изучал код и говорил себе: «А давай его сломаем?». Потом чинил его и опять ломал: игрался, добавлял что-то.

Затем уже начинаешь придумывать pet проекты. В интернете можно найти awesome-наборы — списки полезных библиотек, фреймворков, утилит, написанных на нужном тебе языке. Из этого набора можно почерпнуть идеи для своих проектов. (Прим. Awesome Python, Awesome Rust, Awesome Go)

Например, в качестве дипломной работы я сделал прототип распределенной вычислительной системы для кода Python.

Что касается доп. образования, то я освоил Гарвардский курс по C. Курсы как раз могут быть хороши тем, что не надо придумывать себе задачи. У меня с этим не было проблем, но знаю, кому-то эта часть самоподготовки дается с трудом.

Максим Кузнецов, Senior-разработчик

Middle. Очень много читал и не спал ночью

июль-декабрь 2020. Компания Swap wallet, криптовалютный кошелек

Самое сложное в этом периоде — первые две недели, когда я совмещал работу в старой и новой компаниях. Собеседование в Swap wallet я прошел очень легко: просто пообщались по Python с тимлидом, даже не пришлось решать задачки.

Сначала занимался оптимизацией, а потом мне поставили верхнеуровневую задачу по созданию чатов. Как-то однажды я предложил использовать websocket вместо http — перед этим хорошо изучил вопрос и привел аргументы. После чего уже все решения за бэкенд чатов лежали на мне.

Middle — это «рабочие руки» команды, так как его не нужно опекать как джуна, но у него пока нет большой экспертизы для принятия решений. На любой позиции всегда нужно погружаться в бизнес-логику, не бояться задавать вопросы или показаться некомпетентным. Например, может быть такое, что в бизнес-логике косяк — не разобравшись в ней, ты просто перенесешь этот косяк в код. Мне приходилось много изучать материалов, искать решения, следить за новостями и трендами в разработке.

За время работы мы поменяли много особенностей в бэкенде, чтобы ускорить процесс разработки. А когда я уже стал подготавливать решения по архитектуре, компания закрылась.

Путь разработчика

— В самом начале разработчик не понимает, в чем он хочет развиваться. Это нормально, главное — не замыкаться. Я пользовался бесплатными источниками и платформами, где можно поиграться с технологиями.

— Если трудно определиться, можно выбрать компанию и вакансию и мимикрировать под их стек, построить road map и последовательно изучать.

— Работодатели ценят тех, кто приносит доход. Во многих компаниях есть performance review, где коллеги дают фидбэк по сложности и скорости решенных задач. Джуны должны проходить его раз в 3 месяца, старшие специалисты — раз в полгода-год. Очень полезный инструмент для роста.

— Затем уже в компании хорошо быть в диалоге с руководством. Даже просто прийти и спросить: «Что я могу сделать для повышения?».

— Главное не попасться в опасную ситуацию, когда думаешь «А я Senior, мне уже не надо ничего изучать».

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

— Еще один способ избежать застоя в профессиональном развитии — начать учить других.

Максим Кузнецов, Senior-разработчик

Senior. На собеседованиях спрашивал, что надо сделать, чтобы стать тим лидом

май 2021. Компания Akvelon, Senior Python Developer

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

С заданием я справился успешно, а вот компания поменяла свои взгляды — теперь им были нужны мидлы, а я оказался для них overqualified — сказали, что сейчас не могут предложить мне интересных задач, соответствующих моему уровню. То, что можно оказаться слишком хорошим для компании, меня удивило, но и подбодрило. Я стал рассматривать только вакансии в Senior грейде.

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

Сейчас устроился в компанию Akvelon как Senior Python Developer. Работодателей немного смущал мой быстрый подъем по грейдам, но мой опыт и трудолюбие помогли показать, что они сделали правильный выбор.

Временами рефлексируя, я думаю, что на этот уровень можно было бы выйти еще быстрее, но коммерческий опыт — бутылочное горлышко. Без стажа в Traffic Light меня не взяли бы на мидла. Потому что HR-ы смотрят, в том числе на опыт командной работы, софт скилс и умение отстаивать свою позицию.

Из опыта трудоустройства

— Название должности в резюме играет роль. Я поменял «программист Python» на «Senior Python Developer» и сразу начал получать по 3 приглашения в день. Было неожиданно.

— Проходить интервью методом проб и ошибок. Просить обратную связь сразу, еще на собеседовании.

— Помнить, что HR — друг, даже если иногда так не выглядит.

— Многие рекрутеры не учитывают фриланс. Если ты в программировании 5 лет — 4 из которых на фрилансе и 1 год в компании — тебе предложат позицию, соответствующую 1 году опыта.

— Напоминать себе, что это не ты плохой специалист, а просто позиция не соответствует тебе. И не воспринимать отказы остро, обязательно найдется та самая должность мечты.

— На собеседовании сначала задавать вопросы про технологии и только потом про печеньки.

Максим Кузнецов, Senior-разработчик

Формула успеха

Моими козырями были уверенный фундамент знаний, стажировки, Pet проекты и стремление постоянно учиться. Такая «раскачка» заняла у меня 3 года, а сам путь от джуна до Senior-разработчика ограничивался лишь условно принятыми в IT порядками, какой стаж соответствует джуну, какой мидлу и т.д.

Чтобы не засиживаться в одном грейде мало просто хорошо выполнять свои задачи. Любознательность, готовность взять ответственность, умение находить и аргументировать решения — все это должно быть. Ну и не ждать, когда повышение случится, а проявлять инициативу.

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

OTUS запускает проект «Портал в IT» для тех, кто только присматривается или делает свои первые шаги в IT. В рамках проекта мы поможем разобраться, как сконцентрировать свои усилия, чтобы как можно скорее стать востребованным специалистом и подняться по карьерной лестнице.

23 июня в 19.00 приглашаем вас узнать больше о карьере в IT и определиться с профессией на нашем вебинаре с карьерным консультантом Светланой Поросковой.

Светлана разберет карьерные треки, тренды на рынке вакансий и подскажет, на что обратить внимание, делая первые шаги в IT.

0
Комментарии

Комментарий удален модератором

Развернуть ветку
Читать все 0 комментариев
null