Дорогобужская улица 14с11
Привет!
Мы строим социальную платформу в формате цифровых пространств осознанного потребления контента с поддержкой креативной экономики. В своей сути, платформа с UGC-контентом и активным социальным взаимодействием. В дальнейшем планируем продукт развивать до полноценного супераппа: в дорожной карте дейтинг, еком, трэвел, и другие продукты. По формату, у нас стартап на частных инвестициях.
Мы строим продукт, в который верим, и ищем в нашу команду единомышленников.
1. Задачи:
- Руководить backend-командой: распределять задачи, проводить one-to-one, развивать инженеров и участвовать в найме.
- Проектировать архитектуру социальной сети, мессенджера и сервисов, обеспечивающих аудио и видео звонки, а также других сервисов, заложенных в roadmap проекта.
- Принимать и документировать ключевые технические решения.
- Участвовать в разработке критичных компонентов на Go и Python.
- Проводить code review и поддерживать стандарты качества кода.
- Декомпозировать продуктовые требования, оценивать сроки и управлять техническими рисками.
- Развивать микросервисную и событийно-ориентированную архитектуру.
- Обеспечивать производительность, отказоустойчивость, масштабируемость и наблюдаемость системы.
- Организовывать работу с техническим долгом, инцидентами и post-mortem.
- Взаимодействовать с мобильными и frontend-командами, DevOps/SRE, QA, аналитиками и продуктом.
2. Ключевые навыки и опыт:
- Опыт коммерческой backend-разработки от 5 лет.
- Опыт технического лидерства или управления командой от 2 лет.
- Практический опыт разработки и уверенное владение Go/Python.
- Глубокое понимание конкурентности, многопоточности, асинхронного программирования и сетевого взаимодействия.
- Опыт проектирования и эксплуатации высоконагруженных распределенных систем.
- Понимание принципов построения микросервисов, модульных монолитов и event-driven-систем.
- Опыт работы с REST, gRPC, WebSocket и Server-Sent Events.
- Уверенная работа с PostgreSQL: проектирование схем, индексы, транзакции, блокировки, репликация и оптимизация запросов.
- Опыт работы с Redis и брокерами сообщений: Kafka, NATS и RabbitMQ.
- Понимание гарантий доставки, идемпотентности, порядка событий и eventual consistency.
- Практический опыт контейнеризации и оркестрации: Docker, Kubernetes.
- Опыт построения CI/CD и автоматизированного тестирования.
- Знание подходов к мониторингу и трассировке: Prometheus, Grafana, OpenTelemetry, ELK/OpenSearch.
- Понимание SLI/SLO, graceful degradation, rate limiting, circuit breaker и disaster recovery.
- Умение проводить архитектурные ревью, давать конструктивную обратную связь и аргументировать решения.
Специфика мессенджера
Кандидат должен понимать или быть готов глубоко разобраться в следующих задачах:
- доставка сообщений в реальном времени;
- синхронизация истории между несколькими устройствами;
- статусы отправки, доставки и прочтения;
- редактирование, удаление и реакции на сообщения;
- групповые чаты, права участников и модерация;
- хранение и доставка вложений;
- push-уведомления;
- offline-доставка и восстановление соединений;
- борьба с дубликатами и сохранение порядка сообщений;
- presence, typing-индикаторы и счетчики непрочитанных сообщений.
Специфика звонков
- Понимание принципов работы WebRTC.
- Знание процессов signaling, ICE, STUN и TURN.
- Базовое понимание RTP/RTCP, кодеков и адаптации качества связи.
- Опыт или понимание архитектуры групповых звонков с SFU/MCU.
- Представление о NAT traversal, потерях пакетов, задержках и джиттере.
- Умение проектировать сервисы управления звонками: создание сессии, приглашения, статусы участников, завершение и восстановление соединения.
- Понимание метрик качества звонков и методов диагностики проблем.
Глубокая разработка медиасервера не обязательна, если есть опыт интеграции с LiveKit, Janus, mediasoup, Jitsi или аналогичными решениями.
Безопасность
- Понимание OAuth 2.0, OpenID Connect, JWT и управления пользовательскими сессиями.
- Опыт проектирования авторизации и ролевой модели доступа.
- Знание базовых методов защиты API от злоупотреблений, спама, ботов и DDoS.
- Понимание принципов защиты персональных данных и безопасного хранения секретов.
- Опыт проведения security review или работы совместно с командой информационной безопасности.
Будет преимуществом
- Опыт разработки социальной сети, мессенджера или коммуникационной платформы.
- Опыт эксплуатации систем с миллионами пользователей и большим количеством постоянных соединений.
- Практический опыт с WebRTC и серверными медиаплатформами.
- Знание ClickHouse, Elasticsearch/OpenSearch, Cassandra, ScyllaDB или других специализированных хранилищ.
- Опыт построения рекомендательных систем, лент новостей, поиска или антиспам-сервисов.
- Понимание end-to-end encryption и протоколов защищенного обмена сообщениями.
- Опыт работы с облачными платформами и Infrastructure as Code.
- Участие в миграции монолита на модульную или микросервисную архитектуру.
- Опыт управления несколькими backend-командами или техническими направлениями.
Управленческие и soft skills:
- Опыт тимлида (2+ года) или ведущего разработчика в команде 3+ человека.
- Умение декомпозировать задачи, планировать спринты, проводить код-ревью.
- Навыки менторства, помощь junior/middle разработчикам.
- Умение работать с Product-менеджерами и Data Science-командой.
- Ответственность за технические решения и архитектуру.
Ожидаемый результат работы
- Команда регулярно и предсказуемо выпускает изменения.
- Архитектура выдерживает рост аудитории и нагрузки.
- Критичные сервисы имеют измеримые SLO и понятные процедуры восстановления.
- Технические решения документированы, а зоны ответственности сервисов определены.
- Снижается количество аварий, повторных дефектов и ручных операций.
- Инженеры команды растут профессионально и могут самостоятельно принимать решения в своих областях.
3. Условия:
Режим работы: 5 дней в неделю, понедельник – пятница, с 09:00-18:00, очный формат работы.
Компенсационный пакет: по необходимости оборудование предоставляет работодатель
Испытательный срок: 3 месяца
Участие в построении архитектуры и принятии ключевых решений.
Работа в команде с сильными ML-инженерами и Data Scientist'ами.