PurpleSchool — курсы программирования онлайн
  • Пути
    • Frontend React разработчик
    • Frontend Vue разработчик
    • Backend разработчик Node.js
    • Fullstack разработчик React / Node.js
    • Mobile разработчик React Native
    • Backend разработчик Golang
    • Devops инженер
    • Backend разработчик Python
  • AI для кодаНовое
  • О нас
    • Отзывы
    • Реферальная программа
    • О компании
    • Контакты
  • Иконка открытия меню
    • Сообщество
    • PurpleПлюс
    • AI Собеседование
    • AI тренажёр
    • Проекты
PurpleSchool — платформа бесплатных roadmap и курсов для разработчиков
ютуб иконка
Telegram иконка
VK иконка
VK иконка
Курсы
ГлавнаяКаталог курсовFrontendBackendFullstack
Практика
КарьераПроектыPurpleПлюс
Материалы
БлогБаза знаний
Документы
Договор офертаПолитика конфиденциальностиПроверка сертификатаМиграция курсовРеферальная программа
Реквизиты
ИП Ларичев Антон АндреевичИНН 773373765379contact@purpleschool.ru

PurpleSchool © 2020 -2026 Все права защищены

  • Курсы
    • FrontendИконка стрелки
    • AI разработкаИконка стрелки
    • BackendИконка стрелки
    • DevOpsИконка стрелки
    • MobileИконка стрелки
    • ТестированиеИконка стрелки
    • Soft-skillsИконка стрелки
    • ДизайнИконка стрелки
    Иконка слояПерейти в каталог курсов
  • Бесплатно
    • Курсы
    • JavaScript Основы разработкиPython Основы PythonCSS CSS FlexboxКарта развитияВопросы для собеседований
    • База знанийИконка стрелки
    • Новостные рассылкиИконка стрелки
  • PurpleSchool — курсы программирования онлайн
    • AI для кодаНовое
    • Сообщество
    • PurpleПлюс
    • AI Собеседование
    • AI тренажёр
    • Проекты
    Главная
    Сообщество
    Как написать резюме разработчика с нуля в 2025: полный гайд

    Как написать резюме разработчика с нуля в 2025: полный гайд

    Аватар автора Как написать резюме разработчика с нуля в 2025: полный гайд

    Антон Ларичев

    Иконка календаря01 июня 2026
    карьерарезюмеsoft skillsjuniorИконка уровня junior
    Картинка поста Как написать резюме разработчика с нуля в 2025: полный гайд

    Введение

    Резюме разработчика — это не просто список технологий. Это маркетинговый документ, который должен за 6–10 секунд убедить рекрутера или техлида пригласить вас на собеседование. В 2025 году конкуренция за позиции junior и middle выросла, а большинство компаний используют ATS-системы (Applicant Tracking System), которые автоматически фильтруют CV по ключевым словам. В этой статье разберём, как составить резюме с нуля: структуру, формулировки, примеры кода в портфолио и типичные ошибки.

    Структура резюме

    Классическое резюме разработчика состоит из шести блоков, расположенных в порядке убывания важности:

    1. Контакты и заголовок (роль).
    2. Краткое резюме (summary) на 2–3 предложения.
    3. Технологический стек.
    4. Опыт работы или пет-проекты.
    5. Образование и курсы.
    6. Ссылки на GitHub, LinkedIn, личный сайт.

    Для junior без коммерческого опыта блок с проектами поднимается выше опыта работы. Для senior — наоборот, опыт идёт первым, а стек сокращается до 8–12 ключевых технологий.

    Заголовок и контакты

    Заголовок — это точная роль, на которую вы претендуете. Не пишите «программист» или «IT-специалист» — рекрутер не поймёт, на какую вакансию вас рассматривать. Используйте формулировки из описания вакансии.

    Фронтенд-разработчик (React, TypeScript)
    Email: ivan@example.com | Telegram: @ivan_dev
    GitHub: github.com/ivan-dev | Город: Москва (готов к удалёнке)
    

    Не указывайте дату рождения, семейное положение и фото — в IT это считается избыточным и иногда мешает прохождению ATS.

    Summary: первые три предложения

    Это самый важный блок. Рекрутер прочитает только его, если ничего не зацепит — перейдёт к следующему кандидату. Формула: роль + опыт + ключевые технологии + измеримый результат.

    Плохо:

    Я молодой и амбициозный разработчик, хочу развиваться в IT и приносить пользу компании.
    

    Хорошо:

    Frontend-разработчик с опытом 1,5 года на React и TypeScript.
    Собрал e-commerce SPA с 12 000 MAU, ускорил FCP с 3,2 до 1,1 секунды.
    Ищу позицию middle в продуктовой команде с фокусом на performance.
    

    Конкретные цифры и технологии работают лучше абстрактных эпитетов.

    Блок технологий

    Группируйте стек по категориям, а не валите всё в одну строку. Это улучшает читаемость и помогает ATS правильно распарсить ключевые слова.

    **Языки:** TypeScript, JavaScript, Python
    **Фронтенд:** React 19, Next.js 15, Redux Toolkit, TanStack Query
    **Стилизация:** Tailwind CSS, CSS Modules, Styled Components
    **Тестирование:** Jest, Vitest, Playwright
    **Инструменты:** Git, Docker, Vite, Webpack, GitHub Actions
    

    Не пишите технологии, которые вы видели один раз в туториале. На собеседовании по каждому пункту могут задать вопрос.

    Опыт и проекты

    Для каждой позиции или проекта используйте формат STAR: Situation, Task, Action, Result. На практике это сводится к трём-пяти буллетам, где каждый начинается с глагола действия и содержит результат.

    Пример блока для коммерческого опыта:

    ### Frontend-разработчик, ООО «Шоп» (06.2023 — наст. время)
    - Разработал модуль корзины на React + Zustand, увеличил конверсию на 8%.
    - Перевёл проект с Webpack на Vite, время холодной сборки упало с 45 до 6 секунд.
    - Внедрил Playwright для E2E-тестов критичных сценариев оплаты.
    - Менторил двух стажёров, проводил код-ревью в команде из 5 человек.
    

    Для пет-проектов структура аналогичная, но добавляйте ссылку на репозиторий и демо:

    ### Pet-проект: трекер привычек (github.com/ivan/habits)
    - Стек: Next.js 15, PostgreSQL, Drizzle ORM, NextAuth.
    - Реализовал серверные экшены и оптимистичные обновления.
    - Покрытие тестами 78%, деплой на Vercel с CI на GitHub Actions.
    

    Пример фрагмента кода для портфолио

    Если прикладываете ссылку на GitHub, README должен показывать качество кода. Пример хорошо документированной функции:

    // Дебаунс для поискового поля, чтобы не дёргать API на каждое нажатие
    export function debounce<T extends (...args: never[]) => void>(
      fn: T,
      delayMs: number,
    ): (...args: Parameters<T>) => void {
      let timerId: ReturnType<typeof setTimeout> | null = null;
    
      return (...args: Parameters<T>) => {
        // Сбрасываем предыдущий таймер при новом вызове
        if (timerId !== null) clearTimeout(timerId);
        timerId = setTimeout(() => fn(...args), delayMs);
      };
    }
    

    Такой код в портфолио лучше десяти строк в резюме «знаю TypeScript».

    Образование и курсы

    Если у вас профильный диплом — указывайте вуз, факультет, год. Если непрофильный — достаточно одной строки. Курсы перечисляйте только релевантные: с проектами, сертификацией или известной школой.

    **Образование**
    - МГТУ им. Баумана, ИУ-7, бакалавр, 2024
    - PurpleSchool: продвинутый React, 2024
    

    Не перечисляйте десять трёхчасовых курсов — это сигнализирует о поверхностности.

    Адаптация под ATS

    ATS-системы парсят текст и сравнивают его с описанием вакансии. Чтобы пройти фильтр:

    • Сохраняйте резюме в PDF, но без сложных таблиц и колонок.
    • Используйте те же формулировки, что в вакансии: «React» вместо «реакт», «CI/CD» вместо «непрерывная интеграция».
    • Не прячьте ключевые слова белым шрифтом — современные ATS это видят и отклоняют резюме.
    • Один шрифт, чёрный текст, минимум графики.

    Частые ошибки

    • Объём больше двух страниц для junior и middle. Senior может позволить себе три, но не больше.
    • Список «знаю всё»: HTML, CSS, JS, React, Vue, Angular, Node, Go, Rust, Python. Это вызывает недоверие.
    • Размытые формулировки: «участвовал в разработке», «помогал команде». Кто конкретно что сделал — непонятно.
    • Отсутствие цифр. «Ускорил приложение» против «снизил LCP с 4,1 до 1,8 секунды» — разница огромна.
    • Орфографические ошибки. Прогоните текст через любой проверочный сервис.
    • Ссылка на пустой GitHub. Лучше не указывать, чем показать профиль без коммитов за два года.
    • Креативные шаблоны с тремя колонками и иконками. ATS их не понимает.

    Заключение

    Резюме разработчика — это итерационный документ. Первая версия никогда не идеальна: отправляйте, собирайте обратную связь, переписывайте. Адаптируйте summary и порядок технологий под каждую вакансию: это занимает 10 минут, но кратно повышает отклик. Помните, что цель резюме — не рассказать о себе всё, а получить приглашение на собеседование. Всё остальное вы покажете на интервью и тестовом задании.

    Иконка глаза771

    Комментарии

    0

    Постройте личный план изучения Основы Git до уровня Middle — бесплатно!

    Основы Git — часть карты развития Frontend, Backend, DevOps

    • step100+ шагов развития
    • lessons30 бесплатных лекций
    • lessons300 бонусных рублей на счет

    Бесплатные лекции

    Лучшие курсы по теме

    изображение курса

    HTML и CSS

    Антон Ларичев
    AI-тренажерыAI-тренажеры
    Практика в студииПрактика в студии
    Гарантия
    Бонусы
    иконка звёздочки рейтинга4.9
    3 999 ₽ 6 990 ₽
    Подробнее
    изображение курса

    CSS Flexbox

    Антон Ларичев
    Гарантия
    Бонусы
    иконка звёздочки рейтинга4.9
    бесплатно
    Подробнее
    изображение курса

    Основы JavaScript

    Антон Ларичев
    AI-тренажерыAI-тренажеры
    Практика в студииПрактика в студии
    Гарантия
    Бонусы
    иконка звёздочки рейтинга4.8
    3 999 ₽ 6 990 ₽
    Подробнее

    Похожие статьи

    Картинка поста Как настроить CI/CD пайплайн с нуля: полное руководство
    Иконка аватараАнтон
    Иконка календаря14 октября 2026
    CI/CDDevOpsGitHub Actions+ 2middleИконка уровня middle

    Как настроить CI/CD пайплайн с нуля: полное руководство

    CI/CD пайплайн с нуля: как собрать рабочий конвейер сборки, тестов и деплоя на примере GitHub Actions и Docker без лишней теории.

    Иконка чипа0
    Иконка глаза50
    Иконка комментариев0
    Картинка поста CLAUDE.md: как написать инструкции для Claude Code
    Иконка аватараАнтон
    Иконка календаря11 октября 2026
    AI-инструментыClaude CodeDevOps+ 1middleИконка уровня middle

    CLAUDE.md: как написать инструкции для Claude Code

    CLAUDE.md — это файл с инструкциями по проекту, который Claude Code читает в начале каждой сессии. Положите его в корень репозитория и опишите внутри, чем проект собирается, чем запускаются тесты и каких соглашений держаться в коде. После этого агент перестанет спрашивать одно и то же в каждом новом диалоге и предлагать решения, которые в вашей кодовой базе не приняты. Формат предельно простой: обычный Markdown, обязательных полей нет, заголовки любые. Дальше — где именно создавать файл и как Claude Code собирает инструкции сразу из нескольких мест, что писать внутрь, как подключать к файлу другие документы и чем CLAUDE.md отличается от AGENTS.md. Одна оговорка перед началом: Claude Code обновляется часто, набор команд и поддерживаемых файлов пополняется. Если какая-то деталь ниже ведёт себя у вас иначе, сверяйтесь с документацией той версии, которая стоит у вас.

    Иконка чипа0
    Иконка глаза252
    Иконка комментариев0
    Иконка аватараАнтон
    Иконка календаря10 октября 2026
    AI-инструментыClaude CodeDevOps+ 2middleИконка уровня middle

    Агенты в OpenCode: как создать своего агента

    Агент в OpenCode — это именованный профиль работы: своя модель, свой системный промпт и свой список разрешённых инструментов. Чтобы создать своего агента, нужно описать его отдельным markdown-файлом в папке `.opencode/agent/` внутри проекта (или в `~/.config/opencode/agent/`, если агент нужен во всех проектах) либо объявить его в блоке `agent` файла `opencode.json`. После этого агент появляется в списке доступных, и его можно вызвать прямо в сессии.

    Иконка чипа0
    Иконка глаза361
    Иконка комментариев0
    Иконка чипа0