init
Release Please / release-please (push) Failing after 4m2s
Web CI / web typecheck + build (push) Successful in 3m39s
CodeQL Analysis / Analyze (javascript-typescript) (push) Failing after 1h1m49s
CodeQL Analysis / Analyze (go) (push) Failing after 1h1m49s

This commit is contained in:
redlineo committed 2026-07-13 10:14:00 +03:00
commit d295c7f139
1527 files changed
+270726

No files matched your search

+123
View File
@@ -0,0 +1,123 @@
# Оценка: ООО МЕДИА ПОТОК — Fullstack-разработчик мобильных приложений
**Дата:** 2026-07-07
**Архетип:** Fullstack Developer (Mobile + Node backend) — гибрид Mobile Developer (Flutter, secondary) / Fullstack Vue+Node (adjacent)
**Балл:** 4.1/5
**URL:** https://hh.ru/vacancy/134067445
**PDF:** output/cv-romanova-valeriya-media-potok.pdf
**Legitimacy:** High Confidence
---
## A) Резюме роли
| Параметр | Значение |
|---|---|
| Архетип | Fullstack-разработчик мобильных приложений (React Native/Flutter + Node.js backend) |
| Domain | mobile + light backend |
| Function | build |
| Seniority | 1-3 года |
| Формат работы | Санкт-Петербург — офис, удалённо или гибрид (на выбор) |
| Размер команды | Не указан |
| Оформление | ТК РФ или ГПХ (по договорённости) |
| TL;DR | Fullstack-роль на мобильных приложениях (Flutter/RN + Node.js backend), полностью гибкий формат работы, требуемый стаж 1-3 года — точное попадание в фактический опыт кандидата |
## B) Совпадение с CV
| Требование JD | Совпадение в CV |
|---|---|
| Опыт 1-3 года | ✅ ~1.5-2 года коммерческого опыта (Здравсервис, ноябрь 2024 — настоящее время) |
| React Native/Flutter/аналог | ✅ Flutter — «Здесь Аптека» (баги, редизайн), «Здесь Сотрудник»/«Здесь Чат» (порт Android→iOS) |
| JavaScript/TypeScript или Dart | ✅ TypeScript (Vue 3 проекты ЕКОМ/РМК), Dart (Flutter) |
| Node.js или backend-язык | ⚠️ Node.js/Express/MongoDB — ознакомительный уровень (хакатон TulaHack.Digital + проект ТулГУ для НИЦ «БиоХимТех») |
| REST API | ✅ REST API — ЕКОМ, РМК |
| Базы данных | ⚠️ MongoDB на хакатоне — не production-масштаб |
| Cloud-сервисы | ⚠️ Не отражено в CV |
| Git | ✅ Git, GitLab, Feature Branching (внедрила и обучила коллегу) |
| Проектирование архитектуры новых фич | ✅ RBAC-модель авторизации (ЕКОМ), drag-and-drop календарь курьеров — самостоятельное проектирование |
| Тестирование, дебаг, релиз обновлений | ✅ Vitest, Playwright E2E, релиз iOS-сборок в App Store |
**Пробелы:**
1. **Node.js backend на production-уровне** — nice-to-have, не hard blocker: JD формулирует это как "Node.js или backend-язык", а не как строгое требование продакшн-масштаба.
2. Есть ли смежный опыт? Да — хакатон (Express + MongoDB) и университетский проект (Node.js на сервере) плюс постоянная работа с WebSocket/REST на стороне бэкенд-интеграции в ЕКОМ и РМК — то есть кандидат регулярно работает на границе front/back, даже если сама не пишет backend-код каждый день.
3. Портфолио-проект, закрывающий пробел: хакатон «Книга рецептов» (Express/Node.js/MongoDB) — единственный завершённый проект с реальным backend-кодом, стоит явно упомянуть в сопроводительном.
4. **План закрытия:** в сопроводительном письме и на собеседовании подчеркнуть постоянную работу на стыке frontend/backend (RBAC-дизайн требовал понимания серверной логики; WebSocket-интеграция шла в связке с бэкенд-разработчиком) — предложить готовность быстро прокачать production Node.js в первые недели.
5. **Cloud-сервисы** — не hard blocker для роли 1-3 года, но стоит явно спросить на интервью про масштаб облачной инфраструктуры.
## C) Уровень и стратегия
**Уровень в JD:** 1-3 года — совпадает с фактическим уровнем кандидата практически один в один. Не нужно "продавать senior" — наоборот, стоит избегать занижения, честно показывая реальный масштаб: самостоятельная разработка фронтенда с нуля (ЕКОМ), а не просто участие в готовой кодовой базе.
**План "продать уровень без обмана":** Акцент на то, что кандидат уже вела 3 продукта параллельно (Vue-веб, legacy Vue-проект, Flutter-мобильное приложение) — это редкий разброс ответственности для специалиста с таким стажем, и напрямую релевантно fullstack-формату роли (мобильное + backend-соприкосновение).
**План "если предложат нижнюю вилку":** Диапазон 100 000–200 000 ₽ на руки полностью покрывает и превышает целевой диапазон кандидата (100 000–120 000+). Даже нижняя граница вилки приемлема — договориться о пересмотре через 6 месяцев по мере роста Node.js-компетенций.
## D) Компенсация и спрос
| Источник | Данные |
|---|---|
| JD | 100 000–200 000 ₽/мес на руки, выплата дважды в месяц |
| Целевой диапазон кандидата | 100 000–120 000+ ₽/мес на руки |
| Fullstack, Санкт-Петербург (рыночный ориентир) | ~170-173 тыс. ₽/мес в среднем; Junior 90-130 тыс.; Middle+ ~340 тыс. ([dreamjob.ru](https://dreamjob.ru/salary/fullstack-razrabotchik/city-sankt-peterburg), [enigmai.ru](https://enigmai.ru/salary/fullstack/fullstack-salary-2026/)) |
| Flutter-разработчик РФ (для сравнения по мобильной части) | Junior 90-130 тыс., средняя ~190 тыс. (диапазон 140-240 тыс.) ([geeklink.io](https://geeklink.io/salary-stat/flutter-razrabotchik/)) |
Вилка JD (100-200к на руки) **полностью в рынке** и на верхней границе перекрывает Middle-диапазон для СПб. Учитывая, что JD ищет 1-3 года опыта, нижняя-средняя часть вилки (120-150к) реалистична для старта, с ростом к 150-180к при подтверждении Node.js-компетенций.
**Оформление:** ТК РФ или ГПХ на выбор — по возможности стоит настаивать на ТК РФ ради больничного/отпуска/защиты при увольнении.
## E) План персонализации
| # | Раздел | Текущее состояние | Предлагаемое изменение | Почему |
|---|---|---|---|---|
| 1 | Summary | Акцент на Vue 3 + Flutter dual-track | Добавить явную фразу про постоянную работу на стыке frontend/backend (WebSocket, REST) | JD ищет именно fullstack, не чистый frontend |
| 2 | Ключевые компетенции | RBAC на первом месте | Добавить тег "Node.js / Express / REST API" рядом с Flutter | Прямое совпадение с ключевым требованием JD |
| 3 | Опыт работы (ЕКОМ) | Буллеты про drag-and-drop и RBAC | Добавить буллет про WebSocket-интеграцию как пример работы на границе front/back | Показывает backend-осознанность без выдумывания опыта |
| 4 | Проекты | Хакатон в конце списка проектов | Поднять хакатон «Книга рецептов» (Express/Node.js/MongoDB) выше — единственный реальный backend-проект | Прямое закрытие требования Node.js |
| 5 | Skills | Node.js помечен "ознакомительный уровень" | Оставить честную маркировку, но переформулировать как "REST API интеграция с Node.js/Express (учебный + хакатон проекты)" | Конкретика вместо расплывчатого "ознакомительно" |
| 6 (hh.ru) | Отклик/сопроводительное | — | Явно указать готовность к ТК РФ и предпочтение удалённого/гибридного формата | Экономит цикл уточнений с рекрутером |
| 7 (hh.ru) | Резюме на hh.ru | Заголовок "Frontend-разработчик" | Для этого отклика — заголовок "Fullstack-разработчик (Flutter + Node.js)" | Прямое совпадение с заголовком вакансии для ATS/поиска рекрутера |
## F) План собеседований
| # | Требование JD | История STAR+R | S | T | A | R | Reflection |
|---|---|---|---|---|---|---|---|
| 1 | Проектирование архитектуры новых фич | RBAC-модель авторизации в ЕКОМ | Логистика и другие отделы видели чужие заказы — риск утечки данных между отделами | Спроектировать ролевую модель доступа с нуля | Самостоятельно продумала модель ролей/групп/прав, опираясь на профильное ИБ-образование, и объяснила бэкенд-команде принцип работы | Разграничение внедрено, отделы видят только свои заказы | Поняла, что объяснение архитектурного решения нетехническим языком бэкенд-команде так же важно, как сам дизайн |
| 2 | Работа с REST API и внешними сервисами | WebSocket-оповещения в реальном времени на РМК | Не было видимости, сколько аптек онлайн | Дать кассирам и менеджменту real-time статус сети | Внедрила WebSocket (WSS) в связке с бэкенд-разработчиком для двусторонней связи | Впервые видно, сколько из ~1200 аптек онлайн и кто/когда прочитал оповещение | В следующий раз заложила бы метрику задержки доставки сообщений с самого начала, а не добавляла бы её постфактум |
| 3 | Работа с backend/базами данных (nice-to-have) | Хакатон TulaHack.Digital — «Книга рецептов» | Нужно было показать полный цикл продукта за ограниченное хакатон-время | Собрать fullstack-прототип: Vue 3 + Express + MongoDB | Реализовала фронтенд на Vue3/Ionic и backend-часть на Express с MongoDB для хранения рецептов и калорий пользователя | Рабочий прототип с личным кабинетом за время хакатона | Осознала разницу между "продакшн-качеством" и "хакатон-скоростью" — для реальной роли нужно подтянуть production-паттерны Node.js |
| 4 | Тестирование, дебаг и релиз обновлений | Порт «Здесь Сотрудник»/«Здесь Чат» Android → iOS | Оба приложения существовали только под Android | Собрать и опубликовать iOS-версии | Перепривязала Firebase push-токены под iOS, собрала билды, спроектировала app-иконки, отправила на ревью в App Store | Оба приложения успешно вышли на iOS | В следующий раз заранее проверила бы Firebase-конфигурацию на обеих платформах параллельно, а не последовательно |
| 5 | Дебаг сложных прод-багов | Диагностика бага «Избранное» в «Здесь Аптека» | Пользователи жаловались, что раздел не открывается | Найти первопричину и устранить | Выяснила, что все товары грузились одним запросом; договорилась с бэкенд-разработчиком о постраничной загрузке и реализовала её на фронтенде | Жалобы полностью прекратились | Стоило сразу спросить у бэкенда про пагинацию при подключении эндпоинта, а не постфактум по жалобам |
| 6 | Чистый код / процессы разработки | Внедрение Feature Branching в GitLab | Команда работала без единой ветки-стратегии, фичи "зависали" | Внедрить процесс версионирования и обучить команду | Настроила Feature Branching, обучила коллегу с 11-летним стажем работе с системой версионирования | Команда перешла на стабильные еженедельные релизы | Поняла, что внедрение процесса важно сопровождать индивидуальным обучением, а не только документацией |
| 7 | Полный цикл разработки фичи (frontend + backend-контекст) | График курьеров на vue-cal с drag-and-drop | Расписание вносили разработчики вручную SQL-запросами по заявке логистики | Дать логистике самостоятельный инструмент управления графиком | Реализовала drag-and-drop календарь на vue-cal с полной интеграцией с backend API заказов | Логистика полностью самостоятельно управляет графиком, разработчики больше не тратят время на ручной ввод | В следующий раз заложила бы batch-редактирование сразу, так как логистика позже отдельно запросила такую фичу |
**Рекомендуемый кейс:** «Здесь ЕКОМ» целиком — единственный проект, где кандидат вела архитектуру от фронтенда до границы с backend (RBAC, WebSocket, REST), максимально близко к формату fullstack-роли.
**Вопросы-ловушки:**
- *"Почему решили сменить формат с чистого frontend на fullstack?"* — Ответ: не смена, а расширение — уже сейчас регулярно взаимодействует с backend-логикой (RBAC, WebSocket), fullstack — логичное развитие, а не смена курса.
- *"У вас нет продакшн-опыта Node.js — как быстро адаптируетесь?"* — Ответ: назвать конкретный опыт (хакатон Express/MongoDB, университетский backend-проект) и предложить конкретный план изучения в первые недели (например, начать с некритичных эндпоинтов).
---
## Vibe команды
Судя по формулировкам JD, упомянуты "гибкие условия работы" (график 4/3, время начала по договорённости) и "командная работа" — это позитивный сигнал по критерию гибкости. Явных упоминаний участия в архитектурных решениях/RFC, менторства или code review culture в тексте нет — судя по формулировкам JD, недостаточно данных, чтобы утверждать это как факт; стоит уточнить на собеседовании структуру ревью и участие джуниоров в архитектурных решениях.
## G) Posting Legitimacy
**Assessment:** High Confidence
| Сигнал | Наблюдение | Вес |
|---|---|---|
| Свежесть | Опубликовано 7 июля 2026 (сегодня/вчера) | Positive |
| Качество описания | Конкретный стек, конкретные обязанности, названы конкретные станции метро/адреса офиса, указана вилка зарплаты | Positive |
| Компания | ООО (юрлицо), не физлицо/ИП | Positive |
| Реалистичность требований | 1-3 года опыта — реалистичный порог для перечисленного стека | Positive |
| Увольнения/заморозка найма | Сигналов не найдено (небольшая непубличная компания, новостей нет) | Neutral |
| Повторные публикации | Данных в scan-history.tsv по этой компании нет | Neutral |
**Context Notes:** Небольшая компания без публичной репутационной истории — часть "Listed Technologies" в объявлении на hh.ru выглядит как автоматическое облако смежных ключевых слов площадки (PostgreSQL, Docker, Java, PHP, Figma и т.д.), а не буквальный список требований; при оценке ориентировались на разделы "Обязанности"/"Требования", а не на этот тег-облако.
---
## Рекомендация
**Рекомендуется откликнуться.** Балл 4.1/5 — требуемый стаж (1-3 года) практически идеально совпадает с фактическим опытом кандидата, стек (Flutter + Node.js) прямо перекрывается с CV, формат работы полностью гибкий (удалённо доступно), вилка (100-200к на руки) покрывает и превышает целевой диапазон. Основной пробел — production-уровень Node.js, но это nice-to-have, а не блокер, и закрывается конкретным планом в сопроводительном письме.