lenec ru

← все посты

Pet-проект для портфолио в 2026: что стоит писать

19K

Я регулярно смотрю pet-проекты в резюме мидлов и джунов. Каждый второй — клон туду-листа на React, который коллекция фронтенд-мира хранит в десятках тысяч экземпляров. Хочется сказать честно: такой pet-проект не помогает на собеседовании. Он балластит CV, не добавляя сигнала о тебе.

В 2026 хорошие pet-проекты — отдельная дисциплина. Ниже разбираю, что писать, чтобы это работало в плюс, а не в ноль.

Зачем вообще нужен pet-проект

Когда ты сеньор с 8 годами в продакшене — тебе pet-проект не нужен. Опыт говорит сам за себя.

Pet-проект полезен, если:

  • Ты джун или младший мидл и тебе нужно показать, что у тебя есть код, а не только курсы.
  • Ты меняешь специализацию (бэк → фронт, фронт → ML), и старый опыт не подтверждает новую.
  • Ты хочешь зайти в конкретную нишу (геймдев, blockchain, embedded), не имея коммерческого опыта.
  • Ты хочешь продемонстрировать конкретный навык (системное программирование, перфоманс, работа со сложными UI).

Если ни один пункт не твой — фокусируйся на основном опыте, а не на pet-проектах.

Антипаттерны: что не делать

1. Туду-лист, погода, калькулятор

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

Если у тебя в портфолио только они — это хуже, чем ничего. Лучше написать «нет публичных проектов», чем выложить третий по счёту туду-лист.

2. Огромный незавершённый монолит

«Пишу свой клон Авито уже два года». В репо 30 коммитов, последний полгода назад, README пустой. Это говорит, что ты теряешь интерес и не доводишь до конца.

3. Туториал, переписанный «с дополнениями»

Видно сразу. Структура файлов один-в-один из туториала, комментарии переведены с английского, добавлено два новых компонента. Никакого собственного решения.

4. Лендинг с лорем-ипсумом

«Сверстал landing page на Next.js». Если внутри лорем — это не проект, это упражнение. И обычно даже сверстано не идеально, потому что не было реального контента.

Что работает

1. Решение собственной проблемы

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

  • Парсер расписания твоего вуза с уведомлениями в Telegram.
  • CLI для синхронизации задач между Google Calendar и Notion.
  • Браузерное расширение, которое делает что-то полезное в твоём рабочем флоу.
  • Бот для семейной группы, который напоминает о ДР и считает общие расходы.

Видно мотив, видно конечный результат, видно, что ты использовал это сам.

2. Open source contribution

Не свой проект, а вклад в чужой. Pull request, который вошёл в популярную библиотеку. Plugin к редактору. Issue, которое ты разобрал и закрыл.

В 2026 это сильнейший сигнал для зарубежных компаний. Они видят, что ты умеешь работать в open source-процессе: писать тесты, проходить ревью, договариваться с мейнтейнерами.

3. Технически сложный проект

Что-то, что ты бы не смог сделать год назад. Если ты фронтендер — собственный bundler. Если бэкендер — RAFT-консенсус на Go или собственная in-memory БД. Если ML — модель с не-курсовой задачей.

Объём не главное. Глубина и понимание — главное. Маленький проект на 1000 строк кода с правильной архитектурой и тестами лучше большого без.

4. Полезная утилита для сообщества

VSCode-плагин, инструмент для DevTools, конвертер форматов, что-то для CI. Если у тебя на GitHub звёзды от 50+ — это уже сильное портфолио.

5. Микросервис в продакшене

Ты задеплоил что-то на свой VPS или Vercel/Railway, оно работает, у него есть пользователи (хотя бы ты и пара друзей). Это сильнее, чем код в репо без деплоя.

Чек-лист хорошего pet-проекта

  1. README с описанием: что это, для кого, как запустить.
  2. Скриншот или короткое видео (gif) — рекрутер посмотрит за 5 секунд.
  3. Ссылка на работающий деплой (если применимо).
  4. Тесты — хотя бы базовые. Без тестов pet-проект выглядит как «попробовал».
  5. CI/CD — github actions с проверкой PR. Несложно, но сразу даёт сигнал.
  6. История коммитов — без single «initial commit». Несколько разумных коммитов с понятными сообщениями.
  7. Документация архитектуры — короткий ARCHITECTURE.md, что внутри.
  8. Лицензия (MIT или Apache).

Идеи pet-проектов под разные специализации

Frontend

  • Свой стейт-менеджер по принципам Redux (показать понимание потоков).
  • Полнотекстовый поиск по локальным заметкам с подсветкой совпадений.
  • Клон Twitter/Instagram только-фронт, на mocked API, с виртуализацией списка и Infinite Scroll.
  • Расширение Chrome для специфической задачи (читалка, заметки на странице).
  • Свой UI-кит для собственных проектов (10–15 компонентов с Storybook).

Backend

  • URL-shortener с метриками, кэшем, rate limiting.
  • Свой message broker (упрощённый, на топиках, без Kafka).
  • WebSocket-чат с поддержкой комнат.
  • API-агрегатор (например, парсит несколько источников погоды и собирает в единый ответ).
  • Свой ORM или query builder.

DevOps / Infra

  • Полный стек инфраструктуры на Kubernetes для своего блога: сервис, CI, мониторинг, логирование.
  • Terraform-модули для типичных задач (VPC, базы, CDN).
  • Самонаписанный мониторинг для домашнего сервера.

ML / Data

  • Модель для своей задачи: классификация писем, рекомендации книг, прогноз счетов.
  • End-to-end pipeline: сбор данных, обработка, обучение, инференс через API.
  • Воспроизведение известной статьи (paper) с разбором результатов.

Mobile

  • Что-то, что ты используешь сам каждый день. Утренние напоминания, трекер привычек, что-то для своего хобби.
  • Игра на 1–2 экрана с несколькими механиками.
  • Приложение, которое работает офлайн и синхронизирует данные при появлении сети.

Сколько времени тратить

Грубо: 60–120 часов на хороший pet-проект. Это 1.5–3 месяца по 1–2 часа в день, или интенсивный месяц по 3–4 часа.

Один pet-проект, доведённый до конца, лучше пяти заброшенных. Если уже есть незаконченные — закрой два-три, а остальное удали из публичного доступа.

Как презентовать в резюме и на собеседовании

В CV — короткий блок «Pet-проекты»:

tg-schedule-parser — Telegram-бот для парсинга расписания МГУ.
  Python, asyncio, FastAPI, PostgreSQL. 200+ ежедневных
  пользователей. github.com/myname/tg-schedule

mini-bundler — учебный bundler в стиле Webpack.
  TypeScript, esbuild, AST-обходы. Поддерживает CommonJS
  и ESM, code splitting. github.com/myname/mini-bundler

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

Если на проект уйдёт пять минут — просто скажи это. Кандидаты, которые честно говорят «это упражнение, я там не глубоко» — лучше тех, кто пытается выдавать туториал за серьёзную инженерную работу.

Что запомнить

Pet-проект — не «что-то для галочки в CV». Это инструмент, чтобы показать конкретный навык или решить конкретную проблему. Один сильный, доведённый до конца, в продакшене — лучше десяти неоконченных туториалов.

Если ты не знаешь, что писать — оглянись на свою работу или личную жизнь. Что тебя бесит, что хочется автоматизировать, какую задачу ты решаешь руками много раз. Это и есть pet-проект, который реально пригодится и тебе, и тому, кто будет смотреть его в твоём резюме.

Комментарии 0

  • Будьте первым, кто оставит комментарий.

Войдите, чтобы оставить комментарий.