Из логистики в IT: как Дмитрий Уткин строит карьеру Java-разработчика и тимлида
Дмитрия всегда тянуло к коду: после карьеры в логистике он решил освоить Java и не прогадал. Теперь работает по профессии и помогает другим студентам.
Иллюстрация: rawpixel / freepik / Freepik / Tanaka200 / Wikimedia Commons / Сasey Horner / NASA / Unsplash / Дима Руденок для Skillbox Media
Дмитрий Уткин
Россия, Тольятти
Пройденные курсы
Достижения
Оставил руководящую должность и с нуля начал карьеру в IT. Сейчас работает Java-разработчиком и тимлидом командных проектов в Skillbox.
✅ Помощь
Дмитрий рассказал:
- почему Java — идеальный язык для перфекционистов;
- зачем нужны mockup-собеседования;
- как составить резюме, чтобы привлечь внимание эйчаров;
- почему всегда нужно изучать чуть больше, чем вам дают.
«Я хотел создавать продукт, которым будут пользоваться люди»: как логист стал разработчиком
— Дмитрий, до IT ты работал в логистике. Почему ушёл из этой сферы?
— В логистику я попал случайно, на последнем курсе университета, хотя учился совсем на другой специальности. В итоге дорос до руководителя отдела логистики на производственном предприятии, но… не могу сказать, что чувствовал себя в этой сфере органично.
Просто меня с детства тянуло ко всему, что связано с компьютерами и программированием, и я будто знал, что там — моё призвание. К тому же в определённый момент рабочие задачи по логистике перестали меня увлекать, и я понял, что достиг своего потолка в профессии.
В IT же такой ситуации просто не может произойти — здесь постоянно появляются новые технологии и подходы и приходится из раза в раз бросать себе вызов, расти и учиться. Это постоянное движение вперёд и стало для меня решающей причиной для смены профессии.
Кроме того, моя девушка рассказала мне о платформе Skillbox и убедила к ней присмотреться и попробовать — сказала, что это именно то, что мне нужно. И оказалась абсолютно права!
— Не было страшно так резко менять профессию и начинать с нуля?
— На самом деле с момента начала учёбы до полной смены профессии прошло около двух лет, так что для меня переход был плавным. Всё это время я совмещал обучение с основной работой.
На старте сомнения, безусловно, были, но они касались скорее не самой сферы, а моих компетенций. Я переживал, что мне может не хватить навыков для того, чтобы претендовать на достойные позиции в IT.
В самом же выборе IT как сферы и разработки как направления я был уверен на все сто: я мечтал создавать продукт, которым потом будут пользоваться другие люди.
— То есть основные размышления касались только выбора языка программирования?
— Да, я смотрел и пробовал разные варианты, посещал буткемпы и вебинары и в итоге остановился на Java — он идеально подошёл мне по логике и стилю работы.
Java — строго типизированный язык, который требует внимательности к деталям. Любая ошибка сразу блокирует запуск, поэтому необходимо всегда тщательно следить за написанным. Эта особенность языка мне очень нравится в силу моего перфекционизма.
— Сложно было влиться в обучение без опыта в IT?
— Нет, потому что модули построены так, что ты постепенно переходишь от простых тем и задач к более сложным.
Был лишь один момент, когда я очень долго, чуть ли не несколько недель, сидел над одной практической задачей, потому что не до конца понял, как работают ссылочные типы в Java. Справился, только когда вернулся к уже пройденным модулям курса о разных типах данных и всё переслушал.
В целом обычно, если у меня возникали трудности или вопросы, я просто спрашивал совета в студенческом телеграм-чате кура, смотрел разборы на YouTube или изучал дополнительные источники — чаще всего статьи в Skillbox Media и на Stack Overflow.
— Как тебе удавалось совмещать работу, учёбу, дополнительное развитие и не выгорать?
— Я изначально составил себе понятный график и старался его придерживаться, стабильно выделяя на учёбу несколько часов в неделю — чаще всего по выходным и вечерам.
Правда, в какой-то момент нагрузка на работе стала настолько большой, что пришлось на время поставить обучение на паузу и вернуться к ней, только когда стало легче. Но это меня не демотивировало и даже наоборот: я с таким нетерпением ждал возможности снова заняться любимым делом, что возобновил учёбу ещё более воодушевлённым.
«Здорово прокачал хард-скиллы»: как набраться опыта в командных проектах и получить работу мечты
— В какой момент обучения ты понял, что у тебя уже достаточно навыков, чтобы начать искать работу в новой сфере?
— Когда освоил один из ключевых фреймворков для разработки продакшен-программ на Java — Spring. Плюс знакомые, работающие в IT, предложили провести со мной mock-интервью, чтобы оценить мой уровень подготовки и понять, готов ли я выходить на рынок или стоит ещё подтянуть знания. Результаты показали, что я вполне могу пробовать свои силы!
Наконец, примерно в это же время я начал участвовать в командном проекте в Skillbox, и этот опыт окончательно убедил меня в том, что я готов взять старт в новой профессии.
— Пожалуйста, расскажи подробнее о командном проекте! Что вы разрабатывали в его рамках?
— Командный проект — это двухмесячная практика, разбитая на 80 спринтов и максимально приближённая к реальной разработке в команде. У каждого в группе — своя роль.
Мы занимались созданием соцсети, по набору функций схожей с VK: оттачивали навыки работы с фреймворком Spring и микросервисами на Java — это популярный сегодня архитектурный подход к разработке приложений.
— Какой главный урок ты получил из командного проекта? Возможно, появились какие-то инсайты о работе в группе?
— Поскольку я уже руководил отделом в логистической компании, то знал, как выстраивать отношения в команде — так что по части софт-скиллов каких-то особых озарений не испытал. Разве что искренне удивился нескольким моментам, специфичным именно для разработки. Например, узнал о необходимости согласовывать интерфейс своего микросервиса с чужими: это нужно, чтобы всё выглядело органично и не нарушалась общая логика.
А вот хард-скиллы я прокачал действительно здорово: познакомился с DevOps-технологией, научился настраивать CI/CD-пайплайны, понял, как работать на удалённом сервере.
В итоге получилось так, что я устроился на постоянную работу Java-разработчиком всего через две недели после старта командного проекта.
— Вот это да! Как тебе это удалось?
— Я начал откликаться на вакансии, которые мне предлагал Центр карьеры Skillbox, и один из таких откликов в итоге привёл меня к заветному приглашению на собеседование.
В резюме я специально сделал акцент на релевантных для должности учебных проектах и потратил время на «упаковку» своих кейсов, например красиво оформил документацию на GitHub. О работе в логистике упомянул совсем кратко, указав лишь конкретные достижения по оптимизации и автоматизации процессов.
— Как думаешь, что помогло тебе успешно пройти собеседование?
— Вообще, своё самое первое собеседование в IT я, конечно же, успешно провалил 🙂 Мне задавали вопросы, к которым я был совершенно не готов — например, о нюансах работы с SQL. После этого я усвоил урок, закрыл пробелы в знаниях и стал тщательнее готовиться к интервью.
А перед собеседованием в Goodt — компанию, где я сейчас работаю, — я нашёл классный проект на GitHub: там описывали дорожную карту развития Java-разработчика, то есть подробно визуализировали путь развития в профессии и прописывали те навыки, которые необходимо иметь на каждом этапе. Эта информация сильно помогла мне обозначить темы, которые важно повторить к интервью.
«Разработка — это непрерывное обучение»: как вчерашний студент стал наставником разработчиков
— Какими были твои первые задачи в компании в роли Java-разработчика? Чувствовал ли ты себя подготовленным к ним?
— Дебютные шаги были довольно неуверенными — первые пару дней я буквально на ощупь пытался разобраться в библиотеках и базах данных, с которыми до этого мало работал. Но быстро наверстал упущенное, экспериментируя и тестируя логику библиотеки на маленьких приложениях, чтобы понять, как её настроить и использовать.
Нет ничего страшного в том, чтобы чего-то не знать. Разработка — это непрерывное обучение, и я уже привык к тому, что постоянно приходится осваивать новые технологии.
— Возможно, у тебя уже есть какие-то результаты в работе, которыми ты гордишься?
— Да! Например, не так давно после длительного ресёрча мне удалось оптимизировать кусочек приложения и повысить эффективность его работы примерно в пять раз.
А ещё я стал тимлидом командных проектов в Skillbox и уже выпустил свой первый поток.
— Ого! Как так вышло?
— Видимо, куратор потока, где учился я, оставил обо мне хороший отзыв и моей кандидатурой заинтересовались. Вскоре после выпуска со мной связалась куратор командных проектов и предложила мне попробовать себя в руководящей роли.
Конечно, я сразу же согласился, ведь ещё во время обучения часто ловил себя на мысли, что мне очень интересно попробовать и понять, каково это — быть тимлидом, помогать начинающим разработчикам получать знания, поддерживать их. И вот такой шанс представился.
— Как чувствуешь себя в новой роли?
— Опять же, мне сильно помогает логистический бэкграунд, когда я уже управлял командами. Благодаря ему я знаю, как найти подход даже к тем людям, кто на контакт идти не хочет. К счастью, в разработке таких почти нет — в командные проекты, как правило, приходят те, кто максимально заинтересован в результате.
Сложности возникают, разве что когда я сталкиваюсь с кейсами, с которыми до этого не работал. Но это не смертельно: просто садишься и разбираешься в вопросе, чтобы помочь студенту решить ту или иную проблему. Плюс я всё-таки работаю по профессии и имею релевантный коммерческий опыт, поэтому многие тонкости могу объяснить команде без подготовки, например по работе со Spring.
— Каким ты видишь своё будущее в компании и профессии в целом?
— Стремлюсь к тому, чтобы довольно быстро дорасти до лида. Поэтому в ближайших планах — активно развиваться, повышать грейд, оттачивать навыки. Аспектов для изучения очень много — например, я хочу досконально освоить Java Core и Java Virtual Machine.
Кроме того, моя цель — улучшить навыки анализа и понимания кода. Даже если ты уже пишешь его неплохо, в этом процессе всегда есть куда расти.
Разработчику, на мой взгляд, важно «чувствовать» код — буквально с первого взгляда понимать, что в нём происходит, где возможны уязвимости или что может сломаться.
— Что бы ты сказал начинающим разработчикам, как человек, который уже помогает другим расти в новой профессии?
— В Java-разработке, как и в любом другом деле, неизбежны трудности, но их нужно не бояться, а воспринимать как точки роста. Ошибки учат не меньше успехов.
И ещё: важно обязательно углубляться в детали любой темы — не останавливаться на минимально необходимой информации, а изучать дополнительные источники, тем самым проводя условный «фактчекинг» и убеждаясь, что вы точно поняли всё правильно и не допустили неверных интерпретаций.
Наконец, на мой взгляд, самое главное — помнить, что, если вы уже выбрали эту профессию, значит, вас что-то в ней привлекло и это случилось неспроста. Теперь остаётся не сдаваться и уверенно идти к своим целям.