Как быстро в IT можно подняться по карьерной лестнице и что в этом поможет? Сегодня наш гость Python web-разработчик Максим Кузнецов рассказал, как за 2020-й год с позиции джуна вырос до сеньора. Внутри — его история, советы по обучению и прохождению собеседований, и немного айтишной мудрости.
Прежде всего обрисуем контекст, чтобы создать правильные ожидания от статьи. В IT при трудоустройстве грейды Junior, Middle и Senior не всегда отражают реальный опыт и умения специалиста. Можно обладать талантом, делать свои проекты или годами программировать на фрилансе, но при попытке устроиться в IT-компанию — столкнуться с тем, что тебя будут рассматривать только на позицию джуниора именно из-за отсутствия официального стажа.
Наш герой пришел в коммерческую разработку в январе 2020 на позицию Junior-разработчика, а уже в феврале 2021 года его компетенции соответствовали Senior-уровню. Но перед первым трудоустройством у Максима был хороший фундамент из профильного образования и практический опыт на стажировках. Поэтому начинаем рассказ с этого бэкграунда, и передаем слово Максиму.
Стажировки — главная ценность вуза
Привет! Мне 24 года, живу в Вологде. Действительно, у меня был серьезный айтишный бэкграунд. Я учился в Вологодском Государственном университете на кафедре Автоматика и Вычислительная Техника по направлению программной инженерии. Эта специальность нашего бакалавриата что-то типа прораба или тимлида для программистов. 4 года нас учили кодить, алгоритмам, мат.моделированию, системам принятия решений, управлению программными проектами.
Понятно, что в институте практика — вырожденные задачи, но у вуза есть ценный бонус — обязательные стажировки, где тебе дают уже реальные задачи. На втором курсе я стажировался в Сбере, на третьем в Playrix.
В Playrix я работал на Python, задача была связана с автоматизацией скриптов. Мне поручили сделать микросервис с большим количеством тестов на основе старого большого скрипта, потом все это нужно было завернуть в Docker. Задача была полностью на мне, и я разбирался с ней все две недели стажировки.
Фактически при трудоустройстве джуном у меня уже было 3 года опыта разработки + свои проекты, о которых расскажу дальше.
Junior. Совмещал работу с очной учебой
январь-июль 2020, компания Traffic Light, CPA-сервис
Первая работа была в офисе. Хотя компания московская, у них был офис в Вологде, и многие разработчики работали тут. Я пришел на должность full-stack Python Developer.
К тому моменту я заканчивал последний курс вуза, но смог договориться со всеми: пропускал лабораторные, но приходил на лекции, в остальное время работал в офисе. Однажды засиделся там до 11 вечера, и меня закрыли.
На собеседовании с работодателем мы обсуждали, что после диплома меня повысят до мидла. Но когда дошло до дела, руководство оказалось против: 90% времени я решал проблемы интеграции с клиентами и времени на другие задачи почти не оставалось. Может быть, я задержался бы в компании подольше, но ощущение, что я могу решать задачи сложнее меня не покидало. Я пошел на HeadHunter и за полдня нашел работу мидлом с зарплатой выше 100 тыс. рублей.
Middle. Очень много читал и не спал ночью
июль-декабрь 2020. Компания Swap wallet, криптовалютный кошелек
Самое сложное в этом периоде — первые две недели, когда я совмещал работу в старой и новой компаниях. Собеседование в Swap wallet я прошел очень легко: просто пообщались по Python с тимлидом, даже не пришлось решать задачки.
Сначала занимался оптимизацией, а потом мне поставили верхнеуровневую задачу по созданию чатов. Как-то однажды я предложил использовать websocket вместо http — перед этим хорошо изучил вопрос и привел аргументы. После чего уже все решения за бэкенд чатов лежали на мне.
Middle — это «рабочие руки» команды, так как его не нужно опекать как джуна, но у него пока нет большой экспертизы для принятия решений. На любой позиции всегда нужно погружаться в бизнес-логику, не бояться задавать вопросы или показаться некомпетентным. Например, может быть такое, что в бизнес-логике косяк — не разобравшись в ней, ты просто перенесешь этот косяк в код. Мне приходилось много изучать материалов, искать решения, следить за новостями и трендами в разработке.
За время работы мы поменяли много особенностей в бэкенде, чтобы ускорить процесс разработки. А когда я уже стал подготавливать решения по архитектуре, компания закрылась.
Senior. На собеседованиях спрашивал, что надо сделать, чтобы стать тим лидом
май 2021. Компания Akvelon, Senior Python Developer
После закрытия Swap wallet я работал с различными компаниями, иногда это был part-time, иногда контракт. Выполнял ресерч для интернациональной компании. Предполагалось, что если хорошо справлюсь с задачей, меня возьмут в проект на постоянку. В итоге все повернулось несколько неожиданным образом.
С заданием я справился успешно, а вот компания поменяла свои взгляды — теперь им были нужны мидлы, а я оказался для них overqualified — сказали, что сейчас не могут предложить мне интересных задач, соответствующих моему уровню. То, что можно оказаться слишком хорошим для компании, меня удивило, но и подбодрило. Я стал рассматривать только вакансии в Senior грейде.
Для меня принципиально важно видеть следующую ступень развития и понимать, с какими задачами я должен буду справляться. Подумываю о том, чтобы попробовать себя по профилю тимлидом, а может архитектором или СТО. Поэтому на собеседованиях сразу спрашивал, как можно в компании вырасти до этой должности.
Сейчас устроился в компанию Akvelon как Senior Python Developer. Работодателей немного смущал мой быстрый подъем по грейдам, но мой опыт и трудолюбие помогли показать, что они сделали правильный выбор.
Временами рефлексируя, я думаю, что на этот уровень можно было бы выйти еще быстрее, но коммерческий опыт — бутылочное горлышко. Без стажа в Traffic Light меня не взяли бы на мидла. Потому что HR-ы смотрят, в том числе на опыт командной работы, софт скилс и умение отстаивать свою позицию.
Формула успеха
Моими козырями были уверенный фундамент знаний, стажировки, Pet проекты и стремление постоянно учиться. Такая «раскачка» заняла у меня 3 года, а сам путь от джуна до Senior-разработчика ограничивался лишь условно принятыми в IT порядками, какой стаж соответствует джуну, какой мидлу и т.д.
Чтобы не засиживаться в одном грейде мало просто хорошо выполнять свои задачи. Любознательность, готовность взять ответственность, умение находить и аргументировать решения — все это должно быть. Ну и не ждать, когда повышение случится, а проявлять инициативу.
┈───ᗊ───┈
Мы благодарим Максима, что он поделился с нами таким интересным опытом. Свои вопросы ему вы можете оставить в комментариях.
OTUS запускает проект «Портал в IT» для тех, кто только присматривается или делает свои первые шаги в IT. В рамках проекта мы поможем разобраться, как сконцентрировать свои усилия, чтобы как можно скорее стать востребованным специалистом и подняться по карьерной лестнице.