Обязанность описывает роль. Достижение описывает, что изменилось, пока вы были на этой роли. Рекрутер за десять секунд ищет второе. Первое он и так выведет из должности: «ну конечно, 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.