Обязанность описывает роль. Достижение описывает, что изменилось, пока вы были на этой роли. Рекрутер за десять секунд ищет второе. Первое он и так выведет из должности: «ну конечно, backend ходил на работу».
Формула пункта опыта — действие, задача, эффект — разобрана в как описать опыт. Здесь другое: как отличить долг должности от факта, почему канцелярия на $500 и «+80%» одинаково вредят, и что делать, если цифр нет. Не продажи, не маркетинг и не закупка скрепок. IT-пули, которые можно защитить на созвоне, а не красивый абзац из карьерного блога.
Коротко:
- Обязанность: «писал API». Достижение: какой шов закрыли и что перестало болеть.
- Нет процента — не рисуйте 47%. Масштаб, регулярность, зона вреда тоже считаются.
- Не копируйте строку вакансии в пулю. Совпадение ключей — в ATS, не белым текстом и не враньём.
- Junior: артефакт и сценарий, не «клуб из 50 человек, посещаемость +25%».
- Командный запуск без вашей роли — не достижение. Узкий честный кусок сильнее.
Обязанность, процесс, ложь в процентах
Три слабых режима встречаются в одном файле чаще, чем кажется.
Должностная инструкция. «Разрабатывал backend, участвовал в ревью, работал с PostgreSQL». Это skills плюс календарь. Спросить не о чем: любой человек с той же должностью напишет то же самое. Рекрутер ищет, чем вы отличаетесь от соседней карточки с тем же стеком.
Процесс без края. «Оптимизировал производительность», «улучшал качество», «повышал надёжность», «занимался автоматизацией». Слова из генератора. Нет контура, нет «до», нет «после», нет вашего куска. На созвоне из этого не собрать рассказ на две минуты.
Метрика из воздуха. «Retention +10%», «ошибки −5%», «success rate задач +150% YoY» без базы, окна и вклада. На экране спросят методику. Если методика «так красивее» — оффер дешевле, чем пустая пуля. Карьерные блоги учат: нет цифры — поставь диапазон «~$100K impact». Для IT-созвона это мина. Лучше честный масштаб: «еженедельный регресс платежей до релиза», «единственный на API-проверки в команде из пяти».
Офисные расходники, вакцинация студентов и «клубный KPI» сюда не тащите, даже если блог клянётся, что любой опыт конвертируется. Отклик на backend и QA читают люди, которые ждут шов в сервисе, а не Sheets для канцелярии. Каркас файла и сколько пуль на роль — в соседнем гайде про опыт и в структуре резюме.
Как вытащить факт из «просто ходил»
Возьмите одну обязанность и задайте четыре вопроса. Не все четыре обязаны попасть в пулю. Хотя бы два.
- Какой контур: платежи, кабинет, пайплайн, очередь тикетов, деплой, отчёт?
- Что ломалось или тормозило, пока вы это не сделали?
- Ваш кусок, не «команда запустила фичу»?
- Как поймут на созвоне, что это правда: лог, тикет, тест, README, дашборд, который реально открывали?
Черновик списком дел за три месяца, потом сжатие. Если сжать нечего — либо роль наблюдательная, либо факты ещё в Jira. Откройте трекер, не память. Смотрите не статус «done», а что изменилось для соседней роли: поддержка перестала писать руками, регресс укоротился, инцидент перестал повторяться каждую пятницу.
Полезный приём: выпишите пять тикетов, которыми гордитесь без резюме. К каждому допишите «кому стало легче». Если легче стало только вам («наконец закрыл техдолг, который бесил») — это ещё не достижение для файла. Если легче стало релизу, поддержке или следующему дежурному — это уже факт.
Не путайте этот разбор с формулой X–Y–Z: она про синтаксис пули. Здесь про отбор: что вообще имеет право называться достижением, а что остаётся скрытой обязанностью.
Пример 1. QA: обязанности против факта
Было: «Тестировала веб, писала кейсы, заводила баги, работала в Agile, повышала качество продукта».
Стало, без выдуманного KPI. «Регресс платежей и API до релиза: коллекции Postman, проверки в БД, кейсы в TestRail. Критичные дефекты ловили до выкладки, не после жалобы поддержки». Нет «success rate +30%». Есть контур и момент, когда ловили.
Если релиза без вас не было — так и скажите зоной: «единственная на API-проверки в команде из пяти». Это достижение про вред, не про процент. Если вас подключали только на «прокликать сценарий перед демо» — не раздувайте это в «владела тестовой стратегией». На созвоне спросят, кто выбирал риски.
Слабая подмена из блогов: «сократила время тестирования на 40% за счёт чек-листов». Сорок процентов от чего? От двух часов ручного прогона одной формы? Тогда напишите про форму и чек-лист, не про сорок. Порядок «регресс с полудня до часа» защитить проще, чем красивый процент без базы.
Пример 2. Backend: «участвовал» против шва
Было: «Участвовал в разработке платёжного сервиса. Python, PostgreSQL, Docker. Повышал надёжность и масштабируемость».
Стало. «Очередь уведомлений об оплате: события на пике перестали теряться, поддержка перестала слать письма руками. Покрыл критичный путь тестами — регресс перед релизом с полудня до часа». Цифры здесь про время регресса, которое человек помнит, не про «выручка +140%» и не про «impact $580K».
Не помните час — оставьте «регресс перед релизом перестал занимать полдня». Порядок величины честнее точной лжи. Не помните и порядок — оставьте контур и ваш шов: «очередь, идемпотентность, тест на повтор события». Это слабее цифры, но сильнее «участвовал».
Frontend в том же режиме. «Верстал адаптив, работал с React» — обязанность. «Список заказов: фильтр, пагинация, пустые и ошибочные состояния, чтобы поддержка не открывала админку ради одной строки» — факт. Не пишите «улучшил UX на 25%»: на экране попросят исследование, которого не было.
Где цифра уместна — и где нет
Уместна, если вы её мерили: время запроса, число падений в неделю, объём очереди, длина регресса, число сервисов на дежурстве, сколько ручных шагов убрали из выкладки. Уместен масштаб: команда, пользователи контура, релизы в неделю — без претензии на P&L компании.
Не уместна чужая бизнес-метрика, до которой вы не дотягивались: retention продукта, выручка, CAC, NPS, «конверсия лендинга». Разработчик, который «увеличил retention на 10% поведенческими пушами», должен быть готов разобрать эксперимент: выборка, контроль, окно, кто принимал решение катить. Иначе это маркетинг в чужом резюме. Аналитик, который «построил дашборд», без потребителя и без решения по цифрам — тоже процесс, не достижение. Кто смотрел, какое решение приняли, что перестало считаться в Excel — вот край.
«Приблизительно», «более 200 пользователей», «не менее 50 встреч» из гайдов для продаж сюда не тащите. IT-созвон проверит иначе: «покажи дифф / алерт / кейс / коллекцию». Масштаб «контур, которым пользуется поддержка каждый день» честнее выдуманных двухсот.
Осторожно с чужими нулями: «транзакции на миллионы», «аудитория 2 млн», «Fortune 500». Если это контекст работодателя, одна короткая строка про тип продукта достаточна. Если вы не отвечали за миллионы — не ставьте их первым словом пули. Масштаб компании не ваш KPI. Как объяснить неизвестный бренд без хвастовства выручкой — в международном CV.
Junior, стажировка, смена роли
Нет штата — достижение всё равно факт, который открывается. Учебный сервис со ссылкой, набор баг-репортов, коллекция Postman, дашборд, которым пользовались однокурсники или ментор, бот, который реально отвечает, а не «клонированный туториал». Не «управлял коммуникациями клуба, посещаемость +25%», если цель — QA. Не стипендия и не олимпиада, если цель — backend и к коду это не клеится.
Стажировка: тикеты, что сделали сами, что сломалось, что осталось после вас в репозитории. «Помогал команде» — обязанность стажёра, не факт. Курс без артефакта — не достижение. Соседний вход: резюме без опыта. Карточка роли, чтобы junior не звучал как «человек из IT»: резюме IT-специалиста.
Смена роли: достижения со старого контура переводите на язык нового, не копируйте. Поддержка → QA: очередь, шаблон бага, эскалация, повторяющиеся дефекты, которые вы научились воспроизводить — не «работал с людьми». Админ → DevOps: что падало, какой скрипт перестал быть ручным, какой откат. Препод → разработчик: не «обучил 200 студентов», а какой учебный сервис вы сами довели до рабочего сценария.
Ключи вакансии — не копипаст абзаца
ATS ищет слова. Человек ищет, совпадает ли смысл. Вставить абзац обязанностей из объявления — и робот, и глаз это видят. Три якоря стека в skills и в пулях, если они правда ваши. Синонимы без опыта — на созвоне вскроются: «в резюме Kubernetes, на экране — один yaml из курса».
Достижение не обязано содержать все ключи вакансии. Оно обязано быть правдой про ваш контур. Если в объявлении «high-load» а у вас интернет-магазин на десятки заказов в час — не пишите high-load. Напишите магазин и что вы закрывали. Ложь ради парсера ломает сильнее, чем пропущенное слово.
Разбор парсера и формата: что ATS делает и ключи и вёрстка. Типичные провалы формулировок рядом с форматом: ошибки в резюме.
Куда ставить, куда не размазывать
Главное место — пули последней роли, 3–6 штук. Summary — один факт, не три достижения и биография. Если в summary уже «сократил регресс с полудня до часа», в опыте не повторяйте ту же фразу третьим абзацем. Проекты — если коммерции мало или стек не виден в штате. Образование — диплом как достижение только если закрывает вакансию (регулятор, допуск, редкий стек из учёбы). Волонтёрство — если IT-факт, не «вакцинация студентов» и не «организация корпоратива».
STAR (ситуация, задача, действие, результат) — каркас ответа на созвоне, не шаблон каждой пули. В файле ситуация на три предложения съедает диагональ. Оставьте ситуацию в голове: «какой инцидент, кто звал». В пуле — действие и край. Рассказ про себя целиком: как рассказать о себе. Грейд по объёму, не по красоте пуль: что ждут на уровне.
Не дублируйте одно и то же в summary, опыте и проектах. Один факт — одно место, сильнее повтор. Если проект внутри компании — он живёт в пулях роли, не вторым «стартапом» ниже. Если пет — только когда штат не показывает стек. Как описывать пет без превращения в второе резюме: соседние правила опыта; не раздувайте GitHub в десять пуль.
Подмены, которые выглядят «сильно»
- Процент без базы и окна: «баги −80%», «скорость +150% YoY».
- Чужие деньги: выручка, экономия канцелярии, «impact $100K», если вы не считали это в своей роли.
- Масштаб работодателя вместо вашего: Fortune 500, «миллионы пользователей» в первой строке пули.
- Командный KPI без куска: «запустили продукт, MAU вырос».
- Копипаст обязанностей из вакансии, в том числе своей текущей job description.
- Пять раз подряд «оптимизировал» / «улучшил» / «обеспечивал».
- Достижение не той роли: клуб, волонтёрство, учёба — в шапке IT-файла.
Прогнать глаза чужим взглядом: разбор резюме. Навыки отдельно от достижений: список стека не заменяет пулю. См. навыки в IT-резюме.
Частые вопросы
Это не то же самое, что «описать опыт»?
Связаны. Тот текст — как устроена пуля. Этот — как не перепутать долг должности с фактом и не нарисовать KPI. Читайте оба. Если формула уже стоит, а пули всё равно звучат как инструкция — проблема здесь, не в глаголе.
Обязательны ли цифры?
Нет. Обязателен смысл. Цифра без базы хуже пустой обязанности. Масштаб и регулярность — тоже результат, если их можно защитить.
Можно ли писать «команда сократила…»?
Если дальше ваш кусок. Иначе вы присвоили чужой вред. «Вместе с платформой закрыли очередь; моя часть — ретраи и метрика лага» — нормально. «Мы как команда выросли в два раза» — нет.
Что, если NDA?
Тип продукта, зона, инструменты, порядок величины без имени клиента. Не «секретный банк, +200%». «Платежный контур в финтехе, очередь уведомлений, пик без потери событий» обычно проходит. Если юристы запрещают даже тип — оставьте инструменты и ваш шов без бренда и без выручки.
Нужно ли достижение в каждой роли за десять лет?
Нет. Верх файла — целевая роль. Старое место — одна-две строки или сжатие. Диагональ читает последнее. Древний «внедрил SharePoint в 2014» не спасает, если текущие пули пустые.
Помогает ли ATS, если я повторю формулировки вакансии?
Помогает честное совпадение стека. Вредит копипаст абзаца. Не путайте. Робот не выдаст оффер за вставленный «cross-functional stakeholder management», если на созвоне вы не можете назвать шов.
Что сделать сейчас
Возьмите три верхние пули последней роли. Вычеркните «участвовал» и «работал с». К каждой допишите контур и что перестало болеть. Процент не добавляйте, пока не вспомните, откуда он и за какое окно. Если процента нет — оставьте порядок величины или зону вреда.
Сверьте с одной вакансией того же стека в каталоге: три слова из объявления есть в файле как правда, не как украшение. Потом структура и длина пуль — снова опыт и каркас. Если файл ещё без коммерции — сначала артефакт, потом эта страница: резюме без опыта.
