ACV
Software Engineer IV, Viper Engineering
Автоматический пересказ вакансии на русском. Полный текст на языке оригинала и форма отклика — на сайте работодателя.
Backend-инженер в команду MAX Engineering для разработки и поддержки SaaS-продукта MAX Digital на Go с хостингом в AWS, Postgres и NoSQL. Роль предполагает проектирование масштабируемых сервисов, event-driven обработку на Kafka и техническое лидерство.
Задачи
- Разрабатывать сервисы на Go, Postgres и NoSQL (MongoDB)
- Проектировать и строить сложные масштабируемые системы с фокусом на надёжность, производительность и операционную зрелость
- Проектировать, строить и поддерживать event-driven сервисы на Kafka: консьюминг, десериализация, валидация, персистентность и реакция на события
- Проектировать и реализовывать интерфейсы сервисов и продуктов, включая интеграции со сторонними API
- Разрабатывать и поддерживать модели данных, писать и оптимизировать сложные SQL-запросы, индексы и схемы
- Вести крупные сложные инициативы end-to-end — от discovery и требований до продакшн-поддержки
- Совместно с инженерами проектировать масштабируемые сервисы, планировать rollout фич и обеспечивать высокую надёжность
- Вести технический дизайн и архитектурные решения по нескольким системам, задавать стандарты и лучшие практики
- Проводить код-ревью, писать документацию и строить надёжные тестовые наборы (unit/integration)
- Обеспечивать техническое лидерство через менторинг и коучинг
- Развивать операционную зрелость: observability, incident response, on-call, пост-инцидентный анализ
- Вести несколько конкурирующих приоритетов в agile-среде
Требования
- Английский язык: чтение, письмо, разговор и понимание
- Степень BS по Computer Science или смежной дисциплине либо эквивалентный практический опыт (предпочтительно)
- Минимум 8 лет опыта разработки SaaS веб-приложений на Go и Node.js; C# — плюс (12+ лет желательно)
- Опыт поддержки и развития существующей кодовой базы, адаптации к существующим паттернам и трассировки выполнения кода между сервисами
- Опыт интеграции сторонних API, реализации аутентификации и авторизации, разработки асинхронных потоков данных
- Опыт публикации и консьюминга событий Kafka: контракты событий, надёжные event-driven workflow, ordering, retries, идемпотентность, восстановление после сбоев
- Опыт разработки unit- и integration-тестов и определения стратегии покрытия
- Опыт интеграции с облачными сервисами AWS: SQS, SNS, S3, ECS, EKS, Lambda, ElasticSearch, Docker/контейнеры
- Опыт работы с Docker и Kubernetes: контейнеризация, оркестрация (k8s), serverless-деплой
- Опыт автоматизации сборки и деплоя (CI/CD) и релизных процессов
- Сильный опыт SQL и разработки слоя данных: проектирование схем, производительность запросов, индексы, паттерны надёжности данных
- Минимум 8 лет опыта работы с continuous integration и инструментами сборки
- Экспертиза в системах контроля версий и стратегиях ветвления/релизов
- Экспертиза в инструментах разработки, менторинг и продвижение новых инструментов и стандартов
- Экспертиза в релизах, сборках, тестировании и всем SDLC
- Экспертиза в отладке распределённых систем с distributed tracing, ведущая роль в root-cause analysis
- Отличные коммуникативные навыки, умение объяснять tradeoffs и выравнивать стейкхолдеров
- Опыт проектирования систем с нуля с прагматичными решениями по масштабируемости, надёжности и поддерживаемости
- Опыт работы с географически распределённой командой в нескольких часовых поясах, включая техническую координацию
Навыки
- Go
- Node.js
- C#
- Postgres
- NoSQL
- MongoDB
- SQL Server
- Kafka
- AWS
- SQS
- SNS
- S3
- ECS
- EKS
- Lambda
- ElasticSearch
- Docker
- Kubernetes
- CI/CD
- SQL
- distributed tracing