Резюме программиста: как составить и что писать
Сделать резюме за 5 минутРезюме программиста — это не список технологий. Это документ, который за 10 секунд должен ответить на вопрос нанимающего менеджера: «Решит ли этот человек наши задачи?» Разбираем, как его составить — от стека до GitHub.
Что работодатель ищет в резюме программиста
Рекрутер в IT смотрит не на объём резюме, а на сигналы: умеет ли кандидат решать задачи бизнеса, работает ли в нужном стеке, есть ли реальные проекты. Техническое знание — необходимый минимум, но недостаточный.
Нанимающий менеджер (Engineering Manager или Tech Lead) читает резюме иначе, чем HR: он сразу ищет конкретные технологии, масштаб проектов и признаки того, что кандидат думает о качестве кода, а не только пишет его.
- Релевантный стек технологий — языки, фреймворки, инструменты из вакансии.
- Конкретные проекты: что делал, какой масштаб, какая роль.
- Достижения с метриками: ускорил, сократил, увеличил — с цифрами.
- GitHub или портфолио — подтверждение реального кода.
- Признаки роста: прогресс от junior к senior, расширение зоны ответственности.
Типичная ошибка разработчиков — заполнить резюме списком технологий и считать работу сделанной. Но список «Python, Django, PostgreSQL, Redis, Docker» без единого проекта не даёт рекрутеру ни одного сигнала, кроме того, что вы слышали об этих инструментах.
Как описать опыт работы: проекты и достижения
Раздел опыта — центральная часть резюме разработчика. Каждое место работы должно отвечать на три вопроса: что вы делали, какой был масштаб и что изменилось благодаря вам.
Формула для каждого пункта опыта: глагол действия + техническая конкретика + результат или масштаб. Не «разрабатывал API», а «разработал REST API для мобильного приложения с 200K DAU, сократил время ответа эндпоинтов с 800мс до 120мс».
Плохо
Разработка и поддержка backend-сервисов. Работа с базами данных. Участие в code review. Деплой на сервер.
Хорошо
Разработал микросервис обработки платежей (Python/FastAPI), обрабатывающий 50K транзакций в сутки. Оптимизировал SQL-запросы: снизил нагрузку на PostgreSQL на 40%. Провёл 200+ code review в квартал, внедрил линтер — количество критических багов в продакшн снизилось на 30%.
Если у вас нет впечатляющих метрик — не беда. Масштаб тоже работает: «API обслуживал 50K пользователей», «мигрировал монолит из 200K строк кода на микросервисы», «автоматизировал деплой, сократив время выкатки с 2 часов до 15 минут».
Плохо
Занимался рефакторингом легаси-кода. Писал тесты. Участвовал в agile-процессах.
Хорошо
Провёл рефакторинг модуля авторизации (10K строк кода): заменил сессионную аутентификацию на JWT, покрыл unit-тестами до 85%. Участвовал в планировании спринтов, декомпозировал задачи уровня epic на истории.
GitHub, портфолио и open source в резюме
Для разработчика GitHub — это часть резюме. Активный профиль с реальными репозиториями говорит больше, чем любой текст в документе. Особенно важно для junior и middle уровня, где коммерческий опыт ещё ограничен.
- Ссылка на GitHub должна быть в шапке резюме рядом с контактами.
- Закрепите на профиле 4–6 лучших репозиториев — они видны первыми.
- Каждый репозиторий должен иметь README: что это, как запустить, стек.
- Contribution graph (зелёный график активности) виден рекрутерам — старайтесь коммитить регулярно.
- Open source вклад (даже небольшой PR в популярный проект) — сильный сигнал.
Если у вас нет публичного кода, потратьте 1–2 недели и создайте 2–3 проекта специально для резюме. Это может быть: клон популярного сервиса (Twitter, Trello), CLI-утилита, REST API с документацией, бот для Telegram. Главное — рабочий код, тесты и понятный README.
Резюме по специализациям: backend, frontend, fullstack, mobile
Разные специализации — разные акценты в резюме. Рассмотрим ключевые отличия.
- Backend: акцент на архитектуру (монолит/микросервисы), производительность (RPS, latency), базы данных (оптимизация запросов, индексы, шардирование), надёжность (uptime, мониторинг, алертинг).
- Frontend: акцент на UX-метрики (LCP, FID, CLS), bundler-оптимизацию (размер бандла, lazy loading), компонентные библиотеки, тестирование (unit/e2e), адаптивность и доступность (a11y).
- Fullstack: показывайте конкретное разделение: что делали на backend, что на frontend. Не пишите просто «fullstack» — укажите, в какой части глубже.
- Mobile (iOS/Android/React Native/Flutter): указывайте количество публикаций в App Store / Google Play, MAU приложений, если можете. Работа с нативными API (push, геолокация, биометрия) — важное преимущество.
Пример формулировки для frontend: «Оптимизировал загрузку главной страницы: Lighthouse Performance Score вырос с 54 до 91 баллов. Внедрил code splitting в React-приложении — размер initial bundle сократился с 1.2MB до 340KB».
Пример для mobile-разработчика: «Разработал iOS-приложение для онлайн-торговли (Swift, UIKit): 200K+ установок, рейтинг 4.7 в App Store. Внедрил CoreData для оффлайн-режима, реализовал Apple Pay».
Частые ошибки в резюме разработчика
Даже сильные разработчики теряют офферы из-за слабого резюме. Вот ошибки, которые встречаются чаще всего.
- Раздел «Цель» с общими фразами («ищу интересную работу в дружном коллективе») — удалите, это не несёт ценности.
- Перечисление каждой технологии без контекста использования: Docker в резюме без единого упоминания в проектах — бесполезно.
- Даты без месяца: «2021–2022» непонятно. Пишите «Mar 2021 — Nov 2022» или «март 2021 — ноябрь 2022».
- Орфографические ошибки в названиях технологий: «JavaScipt», «Postgress», «Kubernates» — сигнал невнимательности.
- Отсутствие ссылок на проекты или GitHub — особенно критично для junior.
- Фото в деловом стиле обязательно для РФ-рынка (не обязательно для западного).
- Личная информация сверх нормы: семейное положение, дети, паспортные данные — лишнее.
Плохо
Умею: Python, Django, Flask, FastAPI, asyncio, aiohttp, Celery, SQLAlchemy, Alembic, PostgreSQL, MySQL, SQLite, MongoDB, Redis, RabbitMQ, Kafka, Docker, Docker Compose, Kubernetes, Helm, Terraform, AWS, GCP, Azure, Linux, Bash, Git, GitHub, GitLab, Jenkins, TeamCity, Pytest, Unittest, mypy, black, pylint, flake8, isort, pre-commit, REST, GraphQL, gRPC, WebSocket, HTML, CSS, JavaScript, TypeScript, React, Vue.
Хорошо
Python (5 лет, основной язык). Стек: FastAPI, PostgreSQL, Redis, Celery. Инфраструктура: Docker, Kubernetes, GitLab CI. Дополнительно: Go (пет-проекты, 1 год).
FAQ: частые вопросы о резюме программиста
На каком языке писать резюме?
Если подаёте в российскую компанию — на русском. Если в международную или на удалёнку с выплатой в валюте — на английском. Для крупных IT-компаний (Яндекс, VK, Ozon) достаточно русского, но технические термины — всегда в оригинале (Python, не «Питон»).
Нужно ли указывать незаконченные проекты?
Да, если они демонстрируют технические решения. Укажите статус: «в разработке» или «pet project». Незаконченный проект с интересной архитектурой лучше, чем пустой раздел портфолио.
Что писать в резюме, если опыта меньше года?
Фокусируйтесь на проектах, а не на стаже. Учебные и пет-проекты — полноценная часть резюме. Опишите их как реальный опыт: задача, решение, стек, ссылка на GitHub. Стажировки и фриланс тоже считаются.
Как указать уровень владения технологией?
Лучший способ — годы опыта и контекст: «Python — 4 года, коммерческий опыт», «Go — 1 год, пет-проекты». Если используете уровни (Junior/Middle/Senior) — будьте честны: занижение видно на собеседовании, завышение — тоже.
Нужно ли писать про soft skills?
В IT резюме soft skills занимают минимум места. Достаточно 1–2 предложений в разделе «О себе»: «Работал в распределённой команде из 8 человек, опыт асинхронной коммуникации». Избегайте банальностей: «ответственный, коммуникабельный, стрессоустойчивый».
Как часто обновлять резюме?
Обновляйте после каждого значимого проекта или смены стека — не раз в несколько лет. Актуальное резюме позволяет реагировать на интересные вакансии без недельной подготовки. Держите его в онлайн-редакторе, чтобы обновление занимало минуты.