Boom metrics
Общество11 ноября 2025 10:04

Дмитрий Кузьмин: «Опыт для разработчика — это не годы, а проекты, которые он довел до конца»

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

Фото: предоставлено героем публикации

Профессия программиста в последние годы — одна из самых притягательных для молодежи. По данным Минцифры, в России насчитывается почти миллион айти-специалистов, и их число продолжает расти. Как и спрос на них — на 8 % год к году по итогам 2024. Ажиотаж привел к наплыву новичков без опыта. В таких условиях молодому специалисту не просто заявить о себе — важно доказать, что ты полноценный разработчик, способный решать задачи серьезного бизнеса. Дмитрий Кузьмин прошёл все этапы профессионального роста — от первых стажировок и отказов до работы над государственными проектами, — и уже менее чем через три года занял позицию старшего инженера-разработчика в международной ИТ-компании, работающей в 40 странах мира. Что действительно поможет новичку в карьерной гонке оставить позади тысячи таких же молодых специалистов и найти работу мечты, он рассказал в интервью.

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

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

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

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

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

— А как молодому специалисту набирать опыт для резюме?

— Опыт для разработчика — это не годы, а проекты, которые он довел до конца. Начать можно с собственных небольших разработок, пусть даже учебных. Они показывают, что ты умеешь доводить работу до конца. Можно подумать, какого приложения или программы вам лично не хватает в обычной жизни и создать его. Отличные варианты, которые использовал я сам: стажировки — они дают реальные задачи и командный опыт, и, конечно, open source — ИТ-проекты с открытым кодом, в которые вносить полезные изменения может любой, независимо от опыта.

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

— Например, когда я обновлял проект, написанный на Angular и NestJS, появилась ошибка, из-за которой перестали проходить тесты. Она возникла в Nx — инструменте, который помогает работать с большими и сложными IT-проектами, состоящими из множества частей, и в том числе облегчает переход на новые версии библиотек. Я разобрался в причине сбоя и исправил сам скрипт обновления в Nx. Благодаря этому другие команды, обновлявшие свои проекты позже, уже не сталкивались с этой проблемой — среди таких команд могли быть разработчики из крупнейших компаний вроде Microsoft или Google.

Позже я также вносил правки в документацию MDN Web Docs — одного из главных мировых справочников по веб-разработке, — и дорабатывал документацию для Angular. В таких проектах с открытым кодом особенно остро чувствуешь ответственность: любое твоё изменение может повлиять на работу тысяч специалистов по всему миру.

— У вас есть и собственный open source-проект — mi-home-toolkit, задача которого — упрощать взаимодействие владельцев техники распространенного сейчас бренда со своими девайсами. Почему вы решили заняться этой работой?

— Тут было два момента, и главный, пожалуй, — интерес. Я увидел проблему в своей бытовой жизни и мне захотелось как разработчику найти решение, убрать лишнюю сложность. Раньше, если человек хотел подключить, например, лампочку Xiaomi к системе умного дома Home Assistant — платформе для продвинутых пользователей и сложных сценариев умного дома, — ему приходилось работать с кодом и вручную включать LAN-режим. Я сделал так, чтобы это мог сделать любой: достаточно установить утилиту, войти в аккаунт и нажать кнопку. Более продвинутые пользователи при этом могут отправлять и свои команды устройствам.

— Таким образом вы участвовали в развитии open source-сообщества и создавали решения, которыми пользуются как профессиональные разработчики, так и обычные пользователи. Насколько такие проекты влияют на карьеру и помогают ли они открыть двери в крупные компании?

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

— У вас есть опыт работы над государственными проектами — это сервисы, которыми сейчас пользуются миллионы москвичей. Как удалось примкнуть к команде создателей? Насколько понимаю, вы тогда были еще студентом. И какие функции, созданные вами, сегодня доступны пользователям?

— Да, это было в середине второго курса, помню, как раз после осенней стажировки. Я прошел отбор в команду компании KODE на позицию младшего разработчика программного обеспечения для работы над одним проектом, но позже меня подключили ко второму. Это был, пожалуй, мой первый серьезный опыт — я понимал, как много всего зависит от результата работы. Ошибка могла привести к тому, что человек не попадет на прием к врачу или не получит больничный. Конечно, ощущал груз ответственности, но было очень интересно создавать решения, которые будут влиять на реальную жизнь людей.

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

— Ответственность ощущалась не только из-за масштаба, а из-за понимания, что любое изменение должно быть системным. В проектах такого уровня нельзя просто «сделать красиво» — нужно учитывать, как каждая кнопка, форма или уведомление повлияет на маршруты сотен тысяч пользователей. Поэтому я сосредоточился на логике взаимодействия: минимизировать количество действий, убрать лишние переходы, предусмотреть поведение интерфейса при любых сбоях. В итоге многие решения — например, автоматическая проверка корректности данных перед записью к врачу или продуманная навигация между разделами — позволили снизить количество ошибок и обращений в поддержку. Именно тогда я впервые почувствовал, что качественный код — это не просто инструмент, а часть городской инфраструктуры, от которой зависит комфорт людей.

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

— Оба варианта по-своему хороши. С точки зрения студента, который хочет набраться опыта параллельно с учебой, я бы не отказывался ни от одного из них. Упоминание в резюме работы в государственных проектах в глазах работодателя придает специалисту вес, поскольку говорит о том, что у него есть опыт решения серьезных задач в самых строгих условиях — это вызывает доверие. В плане развития такие проекты учат строгой дисциплине, пониманию масштаба ответственности, но обратная сторона — по сравнению с бизнес-проектами меньше гибкости, чаще бывают бюрократические затруднения и результат твоей работы не так очевиден, а это тоже важно, например, для мотивации. В бизнесе с этим проще. Например, в 12 STOREEZ я занимался модернизацией интерфейса системы управления складом. Мне доверили её обновление в одиночку, без простоя бизнеса — редкая задача даже для опытных специалистов. Пришлось применить современные архитектурные решения, чтобы миграция с одной технологии на другую прошла незаметно для пользователей. В результате стабильность системы выросла, а 97% заказов стали отгружаться вовремя.

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

— Думаю, сыграло сочетание опыта и готовности брать на себя ответственность. Когда я пришел в компанию, у меня было меньше трех лет коммерческой работы, но уже были проекты городского масштаба, система для бизнеса и вклад в open source. На новом месте я сразу оказался ведущим разработчиком на проекте для американского заказчика: отвечал за интерфейс, архитектуру и помогал команде решать сложные задачи. Сразу начал проводить код-ревью, наставлять коллег, организовывать рабочие процессы. Это дало результат — команда стала работать стабильнее, качество кода выросло. И именно эта готовность делиться знаниями и брать на себя больше, чем входило в мои обязанности, помогла мне закрепиться на позиции старшего инженера.

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

— Технические знания — это фундамент, без него карьеру не построишь. Но если хочешь расти дальше, одного умения писать код мало. Работодатели смотрят на то, как ты влияешь на команду: можешь ли объяснить сложные вещи простыми словами, помочь коллегам справиться с задачами, организовать процесс. Эти качества показывают, что ты готов к большей ответственности, и именно они помогают перейти на следующий уровень.

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

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

Ещё помогает время от времени напоминать себе, зачем ты работаешь и учишься. Когда есть чёткая цель — выучить новую технологию, завершить проект или просто стать лучше в своём деле, — даже сложные периоды проходят легче. Цель возвращает энергию и не даёт выгореть.