Все вакансии России 0

Senior Backend

до 350 000 ₽
Финансовое Объединение Ра
Москва Постоянная занятость Полный день

Описание

Привет! Мы строим социальную платформу в формате цифровых пространств осознанного потребления контента с поддержкой креативной экономики. В своей сути, платформа с UGC-контентом и активным социальным взаимодействием. В дальнейшем планируем продукт развивать до полноценного супераппа: в дорожной карте дейтинг, еком, трэвел, и другие продукты. По формату, у нас стартап на частных инвестициях. Мы строим продукт, в который верим, и ищем в нашу команду единомышленников. 1. Задачи: Разрабатывать и поддерживать backend-сервисы на Go и Python. Проектировать API, модели данных и взаимодействие между сервисами. Развивать функциональность социальной сети, мессенджера, платформы звонков, а также другие продуктовые сервисы. Участвовать в архитектурных обсуждениях и документировать технические решения. Оптимизировать производительность приложений, баз данных и сетевого взаимодействия. Проводить code review и поддерживать стандарты качества кода. Разрабатывать unit-, integration- и нагрузочные тесты. Анализировать технические риски и декомпозировать продуктовые требования. Участвовать в дежурствах, расследовании инцидентов и подготовке post-mortem. Помогать в развитии менее опытных инженеров. 2. Обязательные требования Опыт коммерческой backend-разработки от 4 лет. Уверенное владение Go и опыт его применения в production. Практический опыт разработки и поддержки сервисов на Python. Глубокое понимание конкурентности, многопоточности и асинхронного программирования. Знание алгоритмов, структур данных и принципов объектного и компонентного проектирования. Опыт разработки высоконагруженных распределенных систем. Понимание микросервисной и событийно-ориентированной архитектуры. Опыт работы с REST, gRPC и WebSocket. Уверенное владение PostgreSQL: проектирование схем и индексов; транзакции и уровни изоляции; блокировки и конкурентный доступ; анализ и оптимизация запросов. Опыт работы с Redis. Опыт использования Kafka, NATS, RabbitMQ или другого брокера сообщений. Понимание идемпотентности, порядка обработки событий, гарантий доставки и eventual consistency. Опыт контейнеризации приложений с Docker. Базовое понимание Kubernetes и CI/CD. Навыки профилирования, поиска утечек памяти и диагностики проблем производительности. Опыт работы с системами мониторинга, логирования и трассировки: Prometheus, Grafana, OpenTelemetry, ELK/OpenSearch или аналоги. Умение самостоятельно доводить задачу от технического проектирования до эксплуатации в production. Требования к Go Уверенное знание goroutines, channels, context и пакета sync. Понимание Go memory model, escape analysis и работы garbage collector. Умение диагностировать race condition, deadlock и утечки goroutines. Опыт профилирования с помощью pprof, trace и benchmark-тестов. Навыки проектирования понятных интерфейсов и управления зависимостями. Опыт написания unit- и integration-тестов. Требования к Python Уверенное знание Python 3. Опыт работы с asyncio и асинхронными фреймворками. Понимание GIL, multiprocessing и ограничений разных моделей конкурентности. Опыт разработки API на FastAPI, Django, Flask или аналогичном фреймворке. Знание typing, dependency management и инструментов тестирования. Опыт профилирования и оптимизации Python-приложений. Не требуется одинаково глубокое владение обоими языками: основной production-стек может быть Go, а Python — использоваться для отдельных сервисов, интеграций и внутренних инструментов. Специфика мессенджера Будет необходим опыт или понимание следующих задач: доставка сообщений в реальном времени; поддержка большого количества постоянных соединений; синхронизация истории между устройствами; статусы отправки, доставки и прочтения; offline-доставка и push-уведомления; групповые чаты и управление участниками; хранение и доставка вложений; сохранение порядка сообщений; дедупликация и идемпотентная обработка; presence, typing-индикаторы и счетчики непрочитанных сообщений. Специфика звонков Понимание архитектуры аудио- и видеозвонков. Базовые знания WebRTC. Понимание signaling, ICE, STUN и TURN. Представление о RTP/RTCP, кодеках, задержках, джиттере и потерях пакетов. Понимание различий между P2P, SFU и MCU. Опыт интеграции с LiveKit, Janus, mediasoup, Jitsi или аналогичными решениями будет преимуществом. Умение проектировать серверную логику управления звонками и состояниями участников. Глубокий опыт разработки медиасервера не является обязательным. Безопасность Понимание OAuth 2.0, OpenID Connect, JWT и пользовательских сессий. Опыт реализации аутентификации и авторизации. Знание основных уязвимостей web-приложений и способов защиты API. Понимание rate limiting, защиты от перебора, спама и злоупотреблений. Навыки безопасной работы с персональными данными, секретами и пользовательским контентом. 3. Будет преимуществом Опыт разработки социальной сети, мессенджера или коммуникационной платформы. Опыт эксплуатации сервисов с миллионами пользователей. Практический опыт работы с WebRTC. Знание ClickHouse, Elasticsearch/OpenSearch, Cassandra или ScyllaDB. Опыт разработки лент новостей, поиска, рекомендаций, модерации или антиспам-систем. Понимание принципов end-to-end encryption. Опыт нагрузочного тестирования и capacity planning. Опыт работы с облачными платформами и Infrastructure as Code. Участие в миграции монолита на модульную или микросервисную архитектуру. 4. Soft Skills: Самостоятельность: способность работать автономно, выполнение поставленных задач без постоянного контроля. Креативность: инициатива в предложении улучшений текущих процессов и продуктов. Коммуникативные способности: умение обсуждать технические вопросы с коллегами и стейкхолдерами. Ответственность: ответственное отношение к качеству выполняемой работы и срокам сдачи задач. 5. Ожидаемый уровень ответственности Senior-разработчик самостоятельно проектирует и реализует крупные технические задачи, учитывает влияние изменений на другие сервисы, отвечает за качество решения после выхода в production и помогает команде принимать обоснованные инженерные решения. 6. Условия работы: Режим работы: 5 дней в неделю, понедельник-пятница, с 9.00-18.00, очный формат работы. Компенсационный пакет: по необходимости оборудование предоставляет работодатель Испытательный срок: 3 месяца

Откликнуться
Источник: hh · 5 дней назад

Похожие вакансии в городе Москва

Все вакансии в городе Москва →