У программиста резюме читают так же, как код после ночного релиза: быстро, придирчиво и по сигналам, которые сразу выдают уровень. На первом экране должны считываться роль, стек, размер продукта и след вашей работы в проде. Тогда рекрутер и техлид видят, что перед ними человек с понятной специализацией и результатом.
В найме разработчика резюме редко читают подряд, строка за строкой. Сначала ловят маркеры роли: backend, frontend, mobile, data, embedded, fullstack. Потом смотрят стек, тип продукта, масштабы нагрузки, есть ли прод, команда, релизы, ответственность за архитектуру или только за отдельные задачи. И уже после этого читают детали опыта. Если вы много делали, но подали это как «участвовал в разработке», отклик проваливается. Здесь я покажу, как программисту собрать резюме под российский рынок и HH.ru так, чтобы за несколько секунд был виден ваш уровень, участок работы и результат.
Эта статья входит в список лучших статей проекта
Сильный образец видно сразу по тому, что из него понятна рабочая реальность. В слабом шаблоне пишут «разрабатывал сервисы на Java» и «работал в команде». В хорошем резюме за те же две строки видно больше: «Backend-разработчик, Java 17, Spring Boot, платёжный контур, 15 тыс. RPS, 6 микросервисов в зоне ответственности». За несколько секунд считываются стек, домен, масштаб и уровень самостоятельности.
Резюме программиста устроено сверху вниз по логике отбора. Сначала идёт точное название роли под вакансию, затем короткое саммари со стеком и специализацией, потом опыт с читаемыми проектами и цифрами. Именно туда смотрят рекрутер и нанимающий разработчик, когда решают, открывать ли полное описание. Блок навыков работает как фильтр поиска, но сам по себе слабый опыт не вытягивает.
Разница особенно заметна на формулировках. Слабая строка: «поддерживал и дорабатывал backend». Сильная: «поддерживал 8 Java-сервисов заказа, вынес расчёт скидок в отдельный сервис и сократил p95 ответа API с 480 до 260 мс». Во втором варианте есть участок системы, технический контекст и след вашей работы. Именно такие строки превращают резюме в живой профессиональный документ.
Опыт — центр резюме разработчика. По каждому месту работы я хочу увидеть четыре вещи: что это был за продукт, какая у вас была роль, за какой кусок системы вы отвечали и что изменилось после вашей работы. Для программиста название компании само по себе мало что даёт: куда полезнее понять, был ли это highload-прод, внутренняя платформа, мобильное приложение, интеграционный контур, монолит или микросервисы. Если этот контекст не виден, даже сильные проекты выглядят как набор задач без масштаба.
Обязанности у программиста читаются как карта участка, а не как переписанная вакансия. В хорошей записи видно, с чем вы работали каждый день: писали backend на Go, держали API для мобильного клиента, проектировали схему PostgreSQL, настраивали CI в GitLab, разбирали продовые инциденты, делали code review. По формулировкам должно быть ясно, где вы брали задачи в готовом виде, а где сами принимали технические решения, вели релиз, согласовывали контракт сервиса или отвечали за качество кода в команде.
Обязанности — процессы, за которые вы отвечали: что вы делали регулярно. Отвечают на вопрос «чем вы занимались». Это зона ответственности, без результата и цифр.
Прод с нагрузкой до 12 тыс. RPS в пике, база PostgreSQL около 2,3 ТБ, команда 11 разработчиков и 2 QA.
У программиста цифры почти всегда есть, просто лежат они не в бухгалтерии, а в мониторинге, аналитике и процессах команды. Их ищут в Grafana, Kibana, APM, GitLab, Jira, отчётах по инцидентам и релизам. Смотрите на время ответа, error rate, uptime, число падений после релиза, длительность сборки, частоту деплоя, объём трафика, стоимость инфраструктуры, скорость фоновых задач. Даже если вы не владели метрикой целиком, можно показать свой вклад: ускорили p95 API, сократили время CI, убрали ручной шаг из релиза, снизили число обращений в поддержку по конкретному сценарию.
Достижения — результат, который вы принесли: что изменилось благодаря вам. Отвечают на вопрос «чего вы добились». Всегда подкреплены фактом или цифрой.
Прод с нагрузкой до 12 тыс. RPS в пике, база PostgreSQL около 2,3 ТБ, команда 11 разработчиков и 2 QA.
Уровеньи стаж | Профессиональные навыкипрограммы, участки, законы | Личные качествакак вы работаете | Что не писатьклише и общие фразы |
|---|---|---|---|
Стажёр до 6 месяцев |
|
|
|
Junior 1–2 года |
|
|
|
Middle 2–4 года |
|
|
|
Senior 5+ лет |
|
|
|
Team Lead 7+ лет, ведёт команду |
|
|
|
Блок «О себе» у разработчика связывает роль, стек и рабочий стиль в короткий, запоминающийся текст. После опыта и навыков он часто решает, как вас удержат в памяти: как очередного «программиста с пятью годами» или как человека, который делает стабильный backend для highload-сценариев, любит сложные интеграции и умеет доводить сервис до спокойного прода. Здесь не нужны качества из школьной характеристики. Работает короткий текст своими словами: специализация, тип задач, к чему вы привыкли в работе и один факт, который добавляет объёма образу кандидата.
Хорошее «О себе» — не формула (формулы делают тексты одинаковыми). Это три слоя, которые вместе создают объёмный портрет. Не обязательно использовать все — но чем больше слоёв, тем живее текст.
Слой 1
Кто вы — не должность (она уже вверху), а ваш фокус, специализация, масштаб опыта. Одно предложение, которое даёт рекрутеру мгновенный контекст.
«Я backend-разработчик с четырьмя годами в Java и Kotlin, последние два года отвечаю за сервисы заказов и платежей в B2B-продукте.»Слой 2
Почему вы делаете именно это? Рекрутеры ищут мотивированных людей. Покажите, что вы не просто «выполняете задачи», а верите в то, что делаете.
«Мне ближе задачи, где нужно довести фичу до рабочего состояния целиком: контракты API, тесты, метрики и спокойный релиз.»Слой 3
Один факт, который выделит вас среди ста похожих резюме. Сторонний проект, хобби, профессиональная активность — без этого ваше «О себе» забудут через минуту.
«За последний год я убрал два самых шумных источника алертов в контуре оплаты, и дежурства команды стали заметно спокойнее.»Все три слоя вместе
Я backend-разработчик на Java и Kotlin, работал с сервисами заказов, оплат и интеграций, последние годы — в проде с высокой нагрузкой. Лучше всего у меня получаются задачи, где нужно собрать решение целиком: спроектировать контракт, закрыть тестами, вывести метрики и без нервов провести релиз. В прошлом проекте я разобрал самые частые алерты в платёжном контуре и заметно сократил ночные инциденты команды.
Если коммерческого опыта ещё нет, в резюме разработчика опираются на то, что можно проверить: учебные проекты, pet-проекты, стажировки, open source, хакатоны, фриланс-задачи, учебную практику. Но показывать это нужно как работу, а не как набор ссылок. Для каждого проекта укажите роль, стек, что именно сделали сами, были ли тесты, деплой, интеграции, база, авторизация, CI. Студент или начинающий программист выигрывает не громким списком технологий, а прозрачностью: есть GitHub, README, запускаемое приложение, понятный вклад и честный уровень самостоятельности. Если вы меняете сферу или стек, логика та же: показывайте переносимые инженерные навыки и свежие проекты в новой роли.
У программистов есть свои типовые промахи. Первый — прятать специализацию за словом «программист», когда по опыту вы backend, iOS или frontend. Второй — сваливать в один стек всё, чего когда-то касались: от C++ и React до Kubernetes, хотя реально работали на одном языке и двух сервисах. Третий — описывать проекты без масштаба: «разрабатывал микросервисы», но без домена, нагрузки, продового контура и роли в релизе. Ещё часто теряют сильный сигнал, когда не дают ссылку на GitHub, статьи, доклады или профильные репозитории, если они поддерживают опыт. И отдельная беда — список технологий, который противоречит опыту: в навыках Kafka и Kubernetes есть, а в проектах им нет ни одного следа.
Пройдитесь по списку перед тем, как отправить резюме, — это пара минут, которые отделяют отклик «в стопку» от отклика, на который отвечают.
Уточните роль: в заголовке совпадите с вакансией: Go backend-разработчик, Android-разработчик, PHP developer.
Покажите стек сверху: на первом экране оставьте основной язык, фреймворк, БД и тип продукта.
Раскройте прод: в каждом месте работы дайте домен, нагрузку, размер команды и зону ответственности.
Разведите блоки: не смешивайте процессы и результат: обязанности отдельно, достижения отдельно.
Подкрепите цифрами: достаньте метрики из Grafana, Jira, GitLab или отчётов по инцидентам.
Почистите стек: уберите технологии, которых нет в опыте или которые были только в учебных задачах.
Проверьте ссылки: GitHub, портфолио и публикации должны открываться без логина и вести на нужный проект.
Отправьте в PDF: проверьте, что файл читается на телефоне и имя файла выглядит по-деловому.
Сильное резюме программиста быстро отвечает на три вопроса: кто вы по роли, на каком стеке работали и какой след оставили в продукте. Дальше уже читают глубже — обязанности, проекты, метрики, ссылки на код. Когда на первом экране есть точная специализация, в опыте виден участок системы, а достижения подкреплены продовыми цифрами, резюме начинает работать как инженерный документ. Его легко соотнести с вакансией, по нему удобно вести интервью, и уровень кандидата считывается без догадок.
Берите название из целевой вакансии и конкретизируйте роль. «Backend-разработчик Java» или «Frontend-разработчик React» читается лучше, чем просто «программист».
Да, если там есть живой код, README и понятный вклад. Пустой профиль с учебными репозиториями без описания пользы резюме не усилит.
Покажите проекты, которые можно запустить и проверить: pet-проекты, стажировку, open source, учебную практику. Для каждого опишите стек, свою роль и результат.
Для разработчика это почти всегда проигрыш. Лучше держать 2–3 версии под роль и стек: например, Java backend отдельно от Python data.
Нет. Оставляйте то, что подтверждается опытом и помогает пройти фильтр вакансии. Экзотику из старых учебных задач лучше убрать вниз или вовсе не показывать.
Если проекты сильно различались по домену или стеку — да. Если это один продукт, хватит одного места работы с 2–4 сильными примерами задач и результатов.
