О компании и проекте SMALL — ведущая розничная сеть Казахстана. Мы реализуем стратегию цифровой трансформации, создавая внутреннюю экосистему продуктов для управления бизнесом.
Small Chat — корпоративный мессенджер компании: web, десктоп-приложения для macOS, Windows и Linux, мобильные приложения для iOS и Android. Каналы и личные переписки, треды, реакции, вложения, поиск, уведомления.
Контекст разработки
Стек: Go, PostgreSQL, OpenAPI, Centrifugo (WebSocket), Permify, Keycloak; клиенты — React (web), Electron (десктоп), React Native + Expo (мобильные).
Системного аналитика в команде ещё не было: требования приходят через тимлида и часто уточняются уже в ходе разработки. Вы станете первым аналитиком в команде и выстроите работу с требованиями с нуля — от формата постановки задачи до Definition of Ready.
Ключевые направления работы
Вы будете отвечать за проработку требований в четырёх функциональных блоках:
- Каналы, участники и доступы:
- Публичные и закрытые каналы, состав участников, роли и права.
- Согласованность доступов при добавлении и удалении участников, архивации и других изменениях состава.
- Модель прав на базе ReBAC — совместно с backend.
- Сообщения и real-time:
- Личные и групповые переписки, треды, реакции, вложения, поиск.
- События в реальном времени через WebSocket: состав, порядок, одинаковое поведение на всех платформах.
- Центр уведомлений и push-уведомления.
- Видеоконференции (ВКС):
- Звонки и видеовстречи: сценарии начала, приглашения, подключения и завершения.
- Состояния звонка и участников, поведение при потере связи и переключении между устройствами.
- Входящие звонки и уведомления о них на всех платформах.
- Платформы и интеграции:
- Единое поведение продукта в web, десктоп- и мобильных приложениях; различия платформ (уведомления, бейджи непрочитанного, открытие ссылок) описаны явно.
- Вход через корпоративную учётную запись.
- Миграция легаси-данных и обратная совместимость API для десктоп- и мобильных приложений, которые обновляются не сразу.
Чем предстоит заниматься
1. Требования и постановка задач
- Превращать сырую идею от бизнеса, тимлида или дизайнера в постановку, по которой можно разрабатывать и тестировать без устных уточнений: сценарии, критерии приёмки, граничные случаи, ошибки, права доступа.
- Декомпозировать фичи на связанные задачи для backend и frontend с явными зависимостями.
- Проводить груминг и быть первой точкой для вопросов разработчиков и QA по требованиям в ходе спринта.
- Отделять реальные потребности от «хотелок» и договариваться о границах задачи.
2. Системное проектирование
- Проектирование API: REST-контракты в OpenAPI до начала разработки — структуры запросов и ответов, коды ошибок, пагинация, обратная совместимость. Из контракта генерируется код backend и клиентов, поэтому он — единый источник правды для всех сторон.
- Моделирование данных: сущности, связи и жизненный цикл в PostgreSQL; диаграммы состояний там, где у сущности есть статусы.
- Real-time: описание событий и уведомлений — кто получает, в какой момент, с какими данными.
3. Документация и приёмка
- Вести живую документацию продукта и глоссарий предметной области, чтобы термины в задачах, коде и разговорах совпадали.
- Давать QA основу для тест-кейсов и участвовать в приёмке фич.
- Документировать то, что меняется сейчас, а не переписывать всю историю продукта.
4. Процессы и работа с ИИ
- Выстроить путь задачи от идеи до разработки: шаблоны постановки, Definition of Ready, связь требований с контрактом, тест-кейсами и кодом. Вместе с командой сформулировать и поддерживать Definition of Done.
- Писать спецификации, которые однозначно понимают и разработчики, и AI-агенты: структура, проверяемые критерии приёмки, никаких умолчаний.
- Использовать ИИ в анализе: исследование, черновики постановок и тест-кейсов, проверка полноты требований и актуальности документации.
- Развивать шаблоны, промпты и скиллы для работы команды с требованиями; проверять и отвечать за результат, сгенерированный ИИ.
Наши ожидания
Hard skills:
- Опыт работы Системным аналитиком в продуктовой разработке от 3 лет.
- API: уверенное понимание REST, умение самостоятельно проектировать контракты в Swagger/OpenAPI/AsyncAPI, а не только читать готовые.
- Работа с данными: SQL на уровне JOIN и GROUP BY для проверки данных и гипотез; понимание реляционной модели.
- Архитектура: понимание клиент-серверного взаимодействия, асинхронных событий и WebSocket.
- Моделирование: владение UML Sequence и State-диаграммами; BPMN — по необходимости.
- Документирование: ясная и короткая письменная речь — постановка, которую разработчик читает один раз и не возвращается с вопросами.
- Готовность вести документацию рядом с кодом (docs-as-code).
- ИИ: практический опыт использования LLM-инструментов в аналитической работе.
Soft skills:
- Самостоятельно вытягивает недостающие требования, а не ждёт готовых.
- Спокойно говорит «задача не готова к разработке» и объясняет, чего не хватает.
- Способен выстроить процесс работы с требованиями там, где его ещё нет, без опоры на старшего аналитика.
Будет существенным плюсом:
- Опыт в продуктах коммуникаций, B2B SaaS или корпоративных системах.
- Опыт проектирования ролевых моделей и прав доступа: RBAC, ReBAC, Zanzibar-подобные системы.
- Умение читать код на Go или TypeScript на уровне «найти, как это работает сейчас».
- Опыт работы с мультиплатформенными продуктами (web, десктоп, мобильные приложения) и версионированием API.
- Опыт работы с AI-агентами в разработке: постановки для агентов, промпты, скиллы.
Мы предлагаем
- Техническое обеспечение: Apple MacBook Air и необходимые лицензии.
- Развитие: Компенсация обучения, сертификации и участия в конференциях.
- Влияние: Вы первый аналитик в команде и сами определяете, как в ней работают с требованиями и какую часть этой работы берёт на себя ИИ. Результат виден сразу — меньше переделок и вопросов в ходе разработки.
- Масштаб: Продукт, через который каждый день общаются сотрудники всей компании.
- Условия: Официальное трудоустройство, конкурентная белая зарплата, гибкий график.