Резюме Java-разработчика: как составить и пройти ATS

Практическое руководство, как составить резюме Java-разработчика, которое проходит ATS и ранжирование hh.ru, цепляет рекрутёра за десять секунд и доводит до техинтервью. Со структурой, формулой достижений, ключевыми словами под стек и акцентами для грейдов Junior, Middle и Senior.

Структура резюме — 6 блоков

01

Контакты и заголовок (шапка)

Имя, роль в формате «Java-разработчик · Backend», рабочие телефон, почта и Telegram; для зарубежных вакансий добавь LinkedIn и часовой пояс. Одной строкой под локацией укажи готовность к переезду или командировкам — ровно один раз и без противоречий дальше по тексту (если ниже «переезд не рассматриваю», рекрутёр поверит худшему). Контакты выверь до символа: опечатка в почте или неактивный Telegram — это потерянный отклик ещё до бот-скрининга.

02

Саммари «О себе»

Две–четыре строки сразу под контактами задают рекрутёру рамку: грейд, годы опыта, типы систем (монолит или микросервисы, legacy или разработка с нуля) и две–три сильные стороны. Только конкретика — никаких «целеустремлённый и ответственный». Подробности раскрываются на собеседовании; здесь задача в том, чтобы первые восемь–десять строк отвечали на вопрос «почему ты подходишь» именно под эту вакансию.

03

Опыт работы: из обязанностей — в достижения

Самый важный раздел, где чаще всего теряют приглашения. Обязанность отвечает «что делал», достижение — «что от этого изменилось», и ищут именно второе. Формула сильного пункта: бизнес-задача → твоя роль (что сделал ты, а не команда) → конкретный стек → решения и паттерны → измеримый результат с методом за цифрой. «Ускорил формирование отчётов в 4 раза, нагрузка на PostgreSQL −30%» сильнее, чем «оптимизировал запросы»; но цифра без метода замера (Gatling, JMeter, Grafana) выглядит выдуманной. Не приписывай себе чужое — на техсобесе и проверке СБ это рассыпается.

04

Ключевые навыки и стек

Сгруппированный список технологий: язык и ядро, фреймворки, базы, сообщения, инфраструктура, тестирование, инструменты. Навыки — это технологии, а не компетенции: «рефакторинг» и «постановка задач» уходят в описание опыта, где виден результат. Пиши термины ровно как в вакансии и с версиями (Java 17, Spring Boot 3.x, PostgreSQL), актуальное ставь в начало. Золотое правило — только то, что готов защитить на интервью; junior честно делит «уверенно» и «базово» и не перечисляет всё подряд.

05

Проекты и пет-проекты

Для junior и свитчеров это главный раздел, важнее блока «Опыт»; для остальных — сильный козырь. Работает не учебный todo-лист, а осмысленная система: например, сервис на микросервисах с Kafka, паттерном Saga, наблюдаемостью (Prometheus, Grafana) и тестами на Testcontainers — каждый компонент открывает тему для вопроса. Описывай задачу, свою роль, стек и ключевые решения прямо в тексте резюме (ATS не ходит по ссылкам), давай два–три репозитория на GitHub с README, тестами и осмысленными коммитами, без паролей и ключей в коде. Строй проект сам — скопированный чужой репозиторий вскрывается на первом же «проведи по коду и добавь фичу».

06

Образование и языки

Вуз, специальность, год выпуска; свежий профильный диплом junior может поднять выше по документу. Языки — с честным уровнем (B1, B2, C1): для многих РФ-вакансий английский не требуется, где нужен — B2 обычно хватает для документации и переписки, но не выдавай B1 за C1, это всплывёт на первом созвоне. Для российских компаний резюме пиши на русском — англоязычное на потоке скорее уходит в отказ; отдельный вариант на английском держи для LinkedIn и релокации. Не тащи в файл лишние персональные данные (152-ФЗ): паспорт, полный адрес, семейное положение и точную дату рождения.

Как пройти ATS

  • Одна колонка, стандартные заголовки («Опыт работы», а не «Мой путь») и обычные шрифты, текстовый PDF из Word/Google Docs или DOCX — это формат, который парсер разбирает без сбоев.
  • Точные ключевые слова и версии ровно как в вакансии: «PostgreSQL», а не «SQL»; аббревиатуры расшифровывай при первом упоминании — «Product Owner (PO)».
  • Никаких таблиц, вёрстки в две колонки, текста в колонтитулах, иконок, инфографики и «резюме-картинки» из Canva или Figma — для робота это изображение без текста.
  • Фото не встраивай в файл (картинка мешает ATS) — добавь его в профиль на hh; не тащи в файл паспорт, полный адрес и семейное положение.
  • Не прячь белый текст с ключевыми словами на белом фоне — ATS его видит и помечает резюме как спам.
  • Главный опыт описывай прямо в тексте: ATS не переходит по ссылкам, поэтому ключевое с GitHub должно быть и в резюме; если вакансия или старые ATS (Taleo, iCIMS) просят DOCX — отправляй DOCX.
  • В российских ATS (Huntflow, Potok, Talantix) решают чистая вёрстка и совпадение ключевых слов; готовый PDF прогони через скоринг (например, resumeworded.com), чтобы убедиться, что робот его читает.

Акценты по грейдам

Junior

Центр тяжести — проекты и навыки, а не пустой блок «Опыт». В заголовке пиши роль без слова «Junior» (грейд оценит рекрутёр). Дай два–три осмысленных пет-проекта на GitHub с README и тестами, которые защитишь построчно; навыки честно раздели на «уверенно» и «базово»; стажировку, практику, курсовые и open-source описывай как опыт. Объём — одна страница.

Middle

Баланс опыта и стека. В каждом пункте опыта — достижение с цифрой и методом за ней; актуальный стек с версиями ставь в начало; ключевые слова подгоняй под конкретную вакансию. Объём — одна–две страницы, и только то, что защитишь на техинтервью.

Senior

Ядро — опыт: highload и архитектура, надёжные интеграции, менторство и код-ревью. Показывай результаты бизнес-масштаба (RPS, отсутствие деградации, время выката, снижение связности с базой) с методом замера. Объём — до двух–трёх страниц; грейд в желаемой должности не указывай, но в прошлых ролях можно — это показывает рост.

Ключевые слова под стек

ATS и поиск по резюме ищут по ключевым словам. Включай релевантные из тех, что реально знаешь (по темам — с кросс-ссылками на разбор вопросов).

ОбластьКлючевые слова
Язык и ядроJava 8/11/17/21, Java Core, ООП, коллекции, дженерики, многопоточность (concurrency)
ФреймворкиSpring Boot, Spring MVC, Spring Data, Spring Security, Spring Cloud
Базы и хранениеPostgreSQL, MySQL, Oracle, Hibernate / JPA, Liquibase / Flyway, Redis
Сообщения и интеграцииKafka, RabbitMQ, REST, gRPC, WebSocket
Инфраструктура и observabilityDocker, Kubernetes, CI/CD (Jenkins, GitLab CI), Prometheus / Grafana / ELK, OpenTelemetry
ТестированиеJUnit, Mockito, Testcontainers, AssertJ, интеграционные тесты
Инструменты и практикиGit, Maven, Gradle, SOLID, DDD, микросервисы

Чек-лист перед отправкой

  • В каждом пункте опыта есть цифра и метод за ней: не «оптимизировал», а «ускорил в 5 раз, замерил на Gatling».
  • Стек прописан явным сгруппированным списком (языки, фреймворки, базы, инструменты), без компетенций вперемешку.
  • Ключевые слова и версии совпадают с вакансией: «PostgreSQL», а не просто «SQL».
  • Из файла убраны паспорт, полный адрес, семейное положение и точная дата рождения; фото — в профиль hh, не в файл.
  • Резюме в одну колонку, без таблиц, картинок и колонтитулов; текстовый PDF из Word/Docs или DOCX.
  • Даты бьются со стажем, без необъяснённых пропусков.
  • Контакты выверены до символа, Telegram и номер рабочие.
  • Резюме на русском, если целишься в РФ-компании; английский указан уровнем внутри, честно и без завышения.
  • Первые восемь–десять строк отвечают на вопрос «почему ты подходишь» под конкретную вакансию.
  • Нет внутренних противоречий (мобильность указана один раз), нет дублей списков технологий, текст вычитан на опечатки.

Частые вопросы

Нужно ли делать отдельное резюме под каждую вакансию?

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

PDF или DOCX — в каком формате отправлять?

По умолчанию — текстовый одноколоночный PDF, собранный в Word или Google Docs. Если вакансия или ATS просит DOCX (а также для старых систем вроде Taleo и iCIMS) — отправляй DOCX. Категорически не годятся PDF-картинки из Canva или Figma: для парсера это изображение без текста.

Указывать ли зарплатные ожидания?

Да. Указанная сумма притягивает письма рекрутеров, а её отсутствие выбрасывает резюме из выборки по зарплатному фильтру на hh. Ориентируйся на рынок и на уровень описанного опыта — именно сильное описание решённых задач и начинает разговор о деньгах.

Что делать junior без коммерческого опыта?

Сместить центр тяжести с опыта на проекты и навыки. Собери два–три осмысленных пет-проекта на GitHub с README и тестами, которые сможешь объяснить построчно; стажировку, практику, курсовые, фриланс и open-source описывай как опыт по формуле достижений. В заголовке — роль без слова «Junior». Один настоящий проект открывает больше дверей, чем десять пройденных курсов.

Можно ли написать резюме через ChatGPT?

Как черновик — да, но не отдавай текст целиком. ATS ловит паттерны сгенерированного текста, а HR откладывает безликие шаблоны; к тому же всё написанное придётся защищать на собеседовании. Пиши живо, своими словами и правь под свой реальный опыт.

Как поднять резюме в поиске hh.ru?

Работают свежесть (реальные правки раз в один–три дня, не просто открытие), полнота профиля 75–100%, статус «активно ищу работу», деловое фото и ключевые слова из вакансий в описании последнего места. Большинство работодателей смотрят только первую страницу выдачи, поэтому свежесть и полнота решают.

Резюме — половина дела. Дальше — техническое интервью: смотри реальные вопросы по компаниям, гайды по грейдам и вопросы для Senior.

Свежее в Telegram
› новые гайды и свежие вопросы с собесов — первыми в Telegram Смотреть гайды Подписаться