О компании и команде
На проект по системе аутстафф.
AR Indoor навигация с иммерсивным опытом для торговых центров, аэропортов, выставочных комплексов. Наша задача – превратить общественные пространства в SMART-зоны, привнеся игровую составляющую и новый пользовательский опыт за счет технологий Computer Vision и AR.
DN отталкивается от унаследованной технологии, построенной талантливыми инженерами, но без единого архитектурного плана. Под капотом технически сложная, но плохо обеспеченная документацией гетерогенная система (~50 микросервисов) c глубокой привязкой к GCP:
FE
VueJS, ThreeJS (админки, WebView, цифровой двойник помещения)
Java, Kotlin, ARCore (Android SDK)
Swift, Objective-C (iOS SDK)
WebView + native bridge (мини-приложения, использующие AR)
BE
Go (real-time, high-concurrency)
Python (бизнес-логика, API, NN)
C++ (AR-движок, computer vision)
Kafka и gRPC (межсервисная коммуникация)
DB
PostgreSQL
Authorization
Firebase
Storage
S3
Наша команда разработки сейчас проводит "техническую разведку", но мы понимаем, что для прыжка вперед нам нужен стратег. Мы ищем архитектора, который не испугается этого "наследства", а увидит в нем уникальный вызов: провести полную декомпозицию, расписать целевую архитектуру и обеспечить проект документацией и далее возглавить техническую трансформацию.
Ключевая миссия этой роли:
Вы станете главным "картографом" и "стратегическим реформатором" нашего продукта. Ваша миссия – двухэтапная:
1. Археология и Декомпозиция: провести глубочайший аудит системы "as-is". Вы – тот человек, который погрузится в код, логи и трассировки, чтобы создать единый "атлас" всех 50+ сервисов, их API-контрактов (gRPC/Protobuf), потоков данных (Kafka) и неявных зависимостей.
2. Стратегия Побега: разработать, защитить и возглавить реализацию долгосрочной архитектурной стратегии. Главная цель – полное избавление от vendor-lock (в первую очередь Firebase) и проектирование cloud-agnostic платформы, готовой к развертыванию в любом Kubernetes кластере, будь то Yandex.Cloud, AWS, GCP, Alibaba или on-premise у клиента.
Задачи
Технический аудит "as-is":
Провести реверс-инжиниринг существующих сервисов. Анализировать не только код (Go, Python, C++), но и data flow, схемы PostgreSQL и контракты gRPC.
Создать полную и актуальную карту системы. Мы ожидаем использования C4 Model, UML-диаграмм, ADR (Architecture Decision Records) – любого инструмента, который поможет команде понять, "что где лежит и как оно говорит". Умение строить схемы автоматической проверки архитектуры и владение такими инструментами приветствуется.
Выявить и задокументировать все "темные углы": неявные связи, недокументированные API, "божественные" объекты и сервисы-монолиты, маскирующиеся под микросервисы.
Разработка стратегии "to-be" (Cloud-Agnostic):
Спроектировать целевую архитектуру, независимую от облачных провайдеров.
Одна из ключевых задач: разработать пошаговый план миграции с Firebase. Это включает подбор и обоснование self-hosted/open-source альтернатив для Firebase Auth (e.g., Keycloak, Ory), Firestore (e.g., перенос логики на PostgreSQL, MongoDB или ClickHouse в зависимости от сценария), Cloud Functions (e.g., OpenFaaS, Knative) и Push Notifications.
Спроектировать замену S3 на S3-совместимые решения (e.g., MinIO) для on-premise инсталляций.
Проектирование и R&D:
Проектировать новые микросервисы, выбирая оптимальный инструмент (Go для latency-critical, Python для ML/data, etc.).
Внедрить и стандартизировать Observability (Logs, Metrics, Traces). Вы будете решать, как мы собираем, храним и анализируем телеметрию с 50+ сервисов (e.g., Prometheus + Grafana + Jaeger/OpenTelemetry).
Провести аудит PostgreSQL: найти "тяжелые" запросы, предложить стратегии оптимизации, партиционирования или даже шардринга.
Провести аудит Kafka: оценить корректность выбора топиков, партиций, стратегий delivery (at-least-once, exactly-once) и consumer groups.
Менторство и управление тех. долгом:
Быть главным техническим авторитетом и ментором для тимлидов и senior-разработчиков.
Проводить архитектурные ревью (Arch-review) для всех новых фич и сервисов.
Сформировать бэклог технического долга, приоритизировать его и "продать" необходимость рефакторинга бизнесу.
Ожидания от кандидата
Опыт (7+ лет): Вы прошли путь от Senior-разработчика до Архитектора в продуктовых компаниях. У вас за плечами как минимум один крупный проект по рефакторингу/миграции/декомпозиции legacy-системы.
Polyglot: Вы не боитесь стека из Go, Python и C++. Вы должны понимать сильные/слабые стороны каждого и, в идеале, иметь production-опыт хотя бы с двумя из них (например, Go для backend + Python для скриптов/API).
Distributed Systems: Вы мыслите паттернами. CAP Theorem, DDD, CQRS, Saga, Event Sourcing, Outbox – для вас это рабочие инструменты, а не слова из книжек.
Database Expert:
PostgreSQL: Глубокое знание. Вы понимаете, как работает VACUUM, EXPLAIN ANALYZE, репликация, партиционирование. Вы знаете, когда btree лучше gin/gist.
Опыт работы с NoSQL (MongoDB, Redis, ClickHouse) и понимание их ниши.
Messaging / Async:
Kafka: Экспертное владение. Вы проектировали архитектуру топиков, понимаете partitioning, log compaction, Kafka Streams / ksqlDB и риски работы с consumer groups. Знаете разницу между RabbitMQ и Kafka на уровне ДНК.
"План Побега" (Vendor-lock):
У вас есть реальный, болезненный опыт миграции с Firebase (Auth, Firestore, Functions) или аналогов (AWS Cognito, DynamoDB) на open-source / self-hosted стек.
Опыт развертывания MinIO (S3-compatible).
Опыт работы с Keycloak, Ory Stack или Okta (или писали свою аутентификацию).
API & Communication:
gRPC / Protobuf: Вы проектировали API-контракты, знаете, что такое schema evolution, deadline propagation, и как gRPC работает "под капотом" (HTTP/2).
Опыт с REST и GraphQL для внешних API.
Cloud-Native & K8s:
Вы проектируете приложения для Kubernetes (liveness/readiness probes, resource requests/limits, graceful shutdown).
Понимание Infrastructure as Code (Terraform, Ansible).
Опыт работы с Service Mesh (Istio, Linkerd) – хотя бы на уровне R&D;
Умение пройти техническое интервью на английском языке.
Будет плюсом:
C++: Любой production-опыт с C++ (особенно в computer vision, AR или gamedev) будет гигантским преимуществом.
Observability: Практический опыт внедрения OpenTelemetry в гетерогенной среде.
Data Engineering: Опыт построения ETL/ELT-пайплайнов, работы с Airflow, Spark.
Frontend: Понимание, как VueJS (и Firebase на клиенте) взаимодействует с бэкендом.
Мы предлагаем
Москва
до 230000 RUR
Москва
до 390000 RUR
СТЭП ЛОДЖИК (STEP LOGIC)
Москва
до 390000 RUR