ATS отсеивает не «слабых людей», а файлы, которые парсер не понял или не сопоставил с вакансией. Сильный кандидат из СНГ часто не доходит до человека: две колонки, навыки картинкой, заголовок «О себе», нулевой стек в тексте опыта. Рекрутер может вас даже не увидеть в выдаче внутренней системы — не из злонамеренности, а потому что резюме не попало в фильтр.

Ниже — как устроен отбор, какие ключевые слова реально нужны, какой формат не ломается и как адаптировать файл под пачку похожих вакансий, не превращая его в спам. Базовый каркас страницы не меняется: см. как составить резюме. Здесь слой «чтобы система и человек прочитали одно и то же».

Коротко:

  • ATS — это парсер плюс поиск по полям, не искусственный интеллект, который «чувствует потенциал».
  • Одна колонка, стандартные заголовки секций, текст выделяется, ссылки не спрятаны в иконки.
  • Ключевые слова берите из вакансии и вставляйте туда, где они правда про вас: Skills и пули опыта.
  • Полное имя и аббревиатура рядом: Continuous Integration (CI), если оба варианта есть в объявлении.
  • Один шаблон на все роли не проходит ни людей, ни фильтры. Меняйте верх и 5–8 пуль под семейство вакансий.

Что ATS делает на самом деле

Система разбора кандидатов (ATS) кладёт файл в карточку: имя, контакты, места работы, даты, навыки, иногда образование. Дальше рекрутер фильтрует пачку: город, слова стека, годы, ключевые фразы из описания. Если парсер склеил колонки, потерял почту или не увидел Python в опыте — в выдаче вас нет, хотя PDF красивый.

Это не «робот выкинул резюме за отсутствие слова Agile». Чаще две причины: файл технически не разобран или в карточке нет тех же терминов, что в фильтре вакансии. Человек всё равно смотрит короткий список, не сто сырых PDF. Задача — попасть в этот список и не выглядеть кашей, когда карточку откроют.

На CIS-рынке 2026-го ATS стоит не у всех. Маленькая команда может читать почту. Крупный продукт, аутсорс и международные доски — почти всегда система. Вы не знаете заранее. Делайте файл, который переживает парсер и 15 секунд глаз. Это один документ, не два искусства.

Когда система есть, а когда важнее человек

Если отклик уходит на HeadHunter, в Workday, Greenhouse, Lever, внутренний портал банка или корпорации — считайте, что парсер есть. Если это Telegram вакансии на трёх человек и PDF в личку — человек. Формат всё равно держите простым: рекрутер пересылает файл коллеге, вставляет куски в таблицу, открывает с телефона.

Не оптимизируйте резюме «под робота» в ущерб чтению. Стена из 40 ключевых слов без опыта выглядит как спам и человеку, и простому поиску. Не вставляйте белый текст. Не копируйте абзац обязанностей из вакансии целиком: это видно и не показывает вклад.

Ключевые слова без спама

Слова нужны не для SEO сайта, а чтобы фильтр и глаз увидели тот же стек и те же задачи. Берите формулировки из объявления, которыми вы реально владеете. Если в вакансии PostgreSQL, а у вас в файле только «SQL и базы», вы можете выпасть из поиска по Postgres — хотя на созвоне закрыли бы вопрос.

Рабочая схема:

  1. Выпишите 8–12 терминов из вакансии: языки, фреймворки, облако, тип задач (billing, on-call, design system).
  2. Оставьте те, что готовы разобрать на интервью и тестовом.
  3. Поставьте их в Skills (короткий список) и хотя бы в одну пульку опыта или проекта, где это было делом, а не курсом.
  4. Если в тексте вакансии есть и полное имя, и аббревиатура — дайте оба один раз: Amazon Web Services (AWS), continuous integration (CI).

Не тащите соседний стек «для объёма»: Kubernetes в Skills при одном туториале вскроется на первом техническом. Не дублируйте одно и то же слово десять раз. Достаточно естественного языка: в заголовке роли, в Skills, в 2–3 пулях.

Русскоязычная вакансия — русские термины плюс устоявшиеся английские имена технологий. Англоязычная — английские заголовки секций и те же имена стека. Не смешивайте «Опыт работы» и Experience в одном файле, если откликаетесь в англоязычную ATS: заголовки секций тоже ищут.

Форматирование, которое переживает парсер

Простая вертикальная структура. Слева направо, сверху вниз, как читает человек. Что ломает разбор:

  • Две колонки: контакты слева, опыт справа — парсер читает зигзагом.
  • Таблицы для выравнивания, текстовые поля в Word, текст в фигурах.
  • Иконки вместо слов Phone, Email, GitHub. Символ телефона без подписи часто исчезает.
  • Важные данные в колонтитуле: часть систем туда не смотрит.
  • Скан или PDF-картинка: текст не выделяется.
  • Нестандартные заголовки: «Мой путь», «Что я умею», «Journey», «Toolbox» вместо Experience / Skills / Education.
  • Шрифты, которые превращают C++ и пайплайны в крокозябры.

PDF подходит, если это экспорт из текстового документа, ссылки кликаются, абзац можно выделить. Word ещё жив на части локальных работодателей; для IT чаще ждут PDF. После экспорта откройте файл и вставьте кусок в чистый текстовый редактор: порядок блоков должен остаться человеческим.

Не кладите фото обязательным блоком: оно съедает место и иногда путает парсер. Для международного рынка фото ещё и нежелательно — см. ошибки англоязычного CV в типичных ошибках русскоязычных кандидатов.

Стандартные заголовки и даты

Для англоязычной ATS удобны: Summary или Profile, Skills, Experience или Work Experience, Projects, Education. Для русской системы: Опыт, Навыки, Проекты, Образование. Не изобретайте «Карьера 2019–н.в.» без нормального заголовка секции.

Даты пишите явно: Mar 2022 – Present или 03.2022 — настоящее время. «2022–now» в графическом таймлайне парсер может не взять. Месяц и год достаточно. Пробелы в местах работы без дат выглядят как дырка в карточке.

Название компании и роли — обычным текстом, не логотипом. Локация роли — строкой: город или Remote. Внутренние коды должностей («инженер 2 кат.») замените рыночным именем, иначе фильтр по Software Engineer вас не найдёт.

Пример адаптации под вакансию

Вакансия: Backend Engineer, Python, Django, PostgreSQL, REST, AWS, on-call, payments a plus. Не копируйте абзац. Переставьте то, что у вас уже было.

Было (универсальный файл «на всё IT»).

IT specialist. Skills: Python, Java, JavaScript, React, Docker, Kubernetes, ML, SQL, Git, Jira, English, teamwork. Experience: participated in development of various services, implemented new features, worked with databases, interacted with team, used Agile.

Стало (тот же человек, одна роль).

Backend Engineer · Python, Django, PostgreSQL

Skills: Python, Django, Django REST Framework, PostgreSQL, Redis, AWS (EC2, S3), Docker, CI, on-call.

Payments team, 2023–present. Built REST endpoints for checkout status used by the web client. Owned PostgreSQL queries around invoices; added indexes after slow admin filters. Put billing workers on AWS; documented rollback. On-call one week in four for payment alerts.

Во втором варианте фильтр по Python, Django, PostgreSQL, AWS, on-call, payments находит совпадения. В первом — каша и Java+ML, которых в вакансии нет. Человек тоже быстрее понимает, звать ли на скрининг.

Второй пример. Junior QA, учебный проект.

Было. Knowledge of testing theory. Familiar with Jira, DevTools, Postman, Charles, SQL. Looking for a job in IT. Fast learner.

Стало. Junior QA (manual, web). Skills: test cases, bug reports, regression checklists, Chrome DevTools, REST checks in Postman, Jira. Training order service: 18 scenarios, 11 reports in template steps / expected / actual / environment — [link]. Checklist regression before a fake «release». No commercial title; same format on a take-home.

Ключевые слова вакансии (test cases, bug report, regression, DevTools, Postman, Jira) стоят в Skills и в факте. «Fast learner» фильтр не ищет.

Частые ошибки, из-за которых файл не виден

  • Креативный шаблон с боковой колонкой навыков.
  • Навыки только иконками технологий без текста Python / React.
  • Один PDF на backend, менеджмент и «готов на всё».
  • Ключи, которыми не владеете, «чтобы ATS повысила рейтинг».
  • Заголовок «Резюме» вместо роли; роль спрятана внизу.
  • Ссылки «клик сюда» без URL: после парсинга ссылка мёртвая.
  • Тяжёлый PDF с фоном на 8–12 МБ: часть порталов режет вложение.

Если после «правильных ключей» тишина, проблема часто не в ATS, а в выборе вакансий или в пустых пулях. Тогда смотрите почему не отвечают на отклики, а не добавляйте ещё двадцать технологий.

Как проверить, что файл парсится

  1. Выделите весь текст в PDF, скопируйте в «Блокнот». Порядок: шапка, профиль, опыт, навыки — читаемый?
  2. Залейте файл в несколько форм отклика и посмотрите превью, если система его показывает.
  3. Поищите по документу слово из вакансии, которое вы сознательно вставили. Оно есть в опыте, не только в подвале?
  4. Откройте PDF с телефона. Часть рекрутеров смотрит отклик в мессенджере.
  5. Имя файла с ролью латиницей или кириллицей — как просит форма, без final_final.

Автоматические «ATS score» сайты дают ложное чувство контроля: у каждой компании свой парсер. Ориентир — читаемый текст и совпадение стека с вакансией, не процент с чужого сервиса.

Что менять под каждую вакансию, а что нет

Не переписывайте всю биографию каждый вечер. Держите базовую версию под одну роль и меняйте:

  • заголовок, если формулировка вакансии честная;
  • 3–4 строки профиля;
  • порядок Skills: то, что в требованиях, выше;
  • порядок и формулировки 5–8 верхних пуль, чтобы те же факты звучали языком объявления.

Каркас можно сверить с навыками в IT-резюме: стена из тридцати строк вредна и человеку, и поиску. После правки верха прогоните файл через разбор резюме — так проще поймать пустой профиль и ключи без подтверждения в опыте. Если к отклику есть поле письма, не запихивайте туда список ключей: письмо про стык с задачей, ключи живут в CV. Короткий каркас: генератор сопроводительного плюс ручная правка.

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

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

Нет. Нужны термины стека и задач, которыми вы владеете. Копия абзаца «обязанности» целиком не помогает фильтру и вредит человеку.

PDF или Word?

PDF из текста — норма для IT. Word, если работодатель явно просит .docx. Скан и «картинка в PDF» — почти всегда плохо для ATS.

Помогают ли инфографика и шкалы навыков?

Нет. Парсер не читает «Python 80%». Человек тоже не знает, что такое 80%. Список технологий плюс пули опыта сильнее.

Что делать с русским резюме на русскую ATS?

Те же правила формата. Ключи — как в вакансии, включая устоявшиеся английские имена библиотек. Не переводите Django как «джанго-фреймворк» в пяти синонимах.

Можно ли одно резюме на junior QA и junior frontend?

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

Белый текст с ключевыми словами работает?

Не используйте. Это выглядит как обман, часть систем режет, и на созвоне всё равно спросят то, что вы «протолкнули».

Что сделать сейчас

Возьмите одну вакансию, не десять. Выпишите 8 терминов стека и задач. Проверьте, что они есть в Skills и хотя бы в двух пулях опыта или проектов. Сохраните одноколоночный PDF и вставьте текст в «Блокнот»: если каша — чините вёрстку, не ключи.

Откликнитесь на пять похожих ролей с одной версией верха. Входные позиции смотрите в каталоге junior-вакансий, остальные — в общем каталоге. Если парсер и глаз уже видят роль, а ответов нет, возвращайтесь к содержанию пуль, а не к «ещё более ATS-friendly» шаблону с иконками.