Резюме Java-разработчика: как составить и пройти ATS
Практическое руководство, как составить резюме Java-разработчика, которое проходит ATS и ранжирование hh.ru, цепляет рекрутёра за десять секунд и доводит до техинтервью. Со структурой, формулой достижений, ключевыми словами под стек и акцентами для грейдов Junior, Middle и Senior.
Структура резюме — 6 блоков
Контакты и заголовок (шапка)
Имя, роль в формате «Java-разработчик · Backend», рабочие телефон, почта и Telegram; для зарубежных вакансий добавь LinkedIn и часовой пояс. Одной строкой под локацией укажи готовность к переезду или командировкам — ровно один раз и без противоречий дальше по тексту (если ниже «переезд не рассматриваю», рекрутёр поверит худшему). Контакты выверь до символа: опечатка в почте или неактивный Telegram — это потерянный отклик ещё до бот-скрининга.
Саммари «О себе»
Две–четыре строки сразу под контактами задают рекрутёру рамку: грейд, годы опыта, типы систем (монолит или микросервисы, legacy или разработка с нуля) и две–три сильные стороны. Только конкретика — никаких «целеустремлённый и ответственный». Подробности раскрываются на собеседовании; здесь задача в том, чтобы первые восемь–десять строк отвечали на вопрос «почему ты подходишь» именно под эту вакансию.
Опыт работы: из обязанностей — в достижения
Самый важный раздел, где чаще всего теряют приглашения. Обязанность отвечает «что делал», достижение — «что от этого изменилось», и ищут именно второе. Формула сильного пункта: бизнес-задача → твоя роль (что сделал ты, а не команда) → конкретный стек → решения и паттерны → измеримый результат с методом за цифрой. «Ускорил формирование отчётов в 4 раза, нагрузка на PostgreSQL −30%» сильнее, чем «оптимизировал запросы»; но цифра без метода замера (Gatling, JMeter, Grafana) выглядит выдуманной. Не приписывай себе чужое — на техсобесе и проверке СБ это рассыпается.
Ключевые навыки и стек
Сгруппированный список технологий: язык и ядро, фреймворки, базы, сообщения, инфраструктура, тестирование, инструменты. Навыки — это технологии, а не компетенции: «рефакторинг» и «постановка задач» уходят в описание опыта, где виден результат. Пиши термины ровно как в вакансии и с версиями (Java 17, Spring Boot 3.x, PostgreSQL), актуальное ставь в начало. Золотое правило — только то, что готов защитить на интервью; junior честно делит «уверенно» и «базово» и не перечисляет всё подряд.
Проекты и пет-проекты
Для junior и свитчеров это главный раздел, важнее блока «Опыт»; для остальных — сильный козырь. Работает не учебный todo-лист, а осмысленная система: например, сервис на микросервисах с Kafka, паттерном Saga, наблюдаемостью (Prometheus, Grafana) и тестами на Testcontainers — каждый компонент открывает тему для вопроса. Описывай задачу, свою роль, стек и ключевые решения прямо в тексте резюме (ATS не ходит по ссылкам), давай два–три репозитория на GitHub с README, тестами и осмысленными коммитами, без паролей и ключей в коде. Строй проект сам — скопированный чужой репозиторий вскрывается на первом же «проведи по коду и добавь фичу».
Образование и языки
Вуз, специальность, год выпуска; свежий профильный диплом 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» (грейд оценит рекрутёр). Дай два–три осмысленных пет-проекта на GitHub с README и тестами, которые защитишь построчно; навыки честно раздели на «уверенно» и «базово»; стажировку, практику, курсовые и open-source описывай как опыт. Объём — одна страница.
Баланс опыта и стека. В каждом пункте опыта — достижение с цифрой и методом за ней; актуальный стек с версиями ставь в начало; ключевые слова подгоняй под конкретную вакансию. Объём — одна–две страницы, и только то, что защитишь на техинтервью.
Ядро — опыт: 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 |
| Инфраструктура и observability | Docker, 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