Uber
Sr Software Engineer - Streaming Data Platform
Автоматический пересказ вакансии на русском. Полный текст на языке оригинала и форма отклика — на сайте работодателя.
Senior-инженер в команду Streaming Data Platform в Uber. Отвечает за архитектуру и развитие инфраструктуры потоковой обработки данных в реальном времени для приложений, аналитики и ML в масштабе глобального маркетплейса.
Задачи
- Определять и вести техническое видение и архитектуру потоковой data-платформы Uber, обеспечивая масштабируемость, надёжность, производительность и расширяемость
- Проектировать и развивать крупномасштабные распределённые стриминговые системы: доставка данных, координация, консистентность, отказоустойчивость, управление ресурсами, высокая доступность
- Проводить архитектурные инновации и модернизацию стриминговой инфраструктуры, упрощать сложные системы и устранять узкие места масштабирования
- Формировать технические стратегии по производительности, надёжности и экономической эффективности на основе бенчмарков и анализа нагрузок
- Проектировать отказоустойчивую мультитенантную инфраструктуру под разнообразные нагрузки с высокими требованиями к throughput, latency и durability
- Строить платформенные возможности: автоматизацию, observability, управление мощностями и self-service инструменты
- Оценивать новые технологии и архитектурные подходы для стратегических инвестиций и долгосрочных роадмапов платформы
- Обеспечивать техническое лидерство в кросс-организационных инициативах и доводить их до продакшена
- Устанавливать инженерные и операционные практики: архитектурные ревью, стандарты надёжности, предотвращение инцидентов, root-cause анализ
- Менторить senior-инженеров и развивать культуру инженерного мастерства
- Взаимодействовать с командами инфраструктуры, хранения, data engineering и продуктовой разработки
Требования
- 6+ лет профессионального опыта в разработке ПО, значительный опыт проектирования и эксплуатации крупномасштабных распределённых систем, инфраструктурных платформ или data-intensive сервисов
- Глубокое понимание принципов распределённых систем: консистентность, репликация, консенсус, отказоустойчивость, конкурентность, координация, восстановление после сбоев
- Опыт проектирования высокопроизводительных и высокодоступных систем с жёсткими требованиями к throughput, latency, надёжности и durability
- Сильное владение одним или несколькими системными/backend языками: Java, Go, C++, Scala, Python или Rust
- Опыт работы с крупномасштабной data-инфраструктурой, распределённым обменом сообщениями, стриминговыми платформами и понимание их архитектурных компромиссов
- Подтверждённый опыт технического лидерства в сложных много-командных инициативах от архитектуры до продакшена
- Экспертиза в анализе производительности систем, масштабируемости и траблшутинге распределённой инфраструктуры под продакшн-нагрузкой
- Умение выявлять архитектурные вызовы, оценивать альтернативы и принимать взвешенные технические и бизнес-решения
- Опыт влияния на техническое направление, установления инженерных стандартов и выравнивания команд
- Способность менторить senior-инженеров и ясно объяснять сложные технические концепции
- Степень бакалавра в Computer Science, Engineering, Mathematics или эквивалентный практический опыт
Условия
- Базовая зарплата для ролей в San Francisco, Seattle и Sunnyvale: $202,000–$224,000 в год
- Участие в бонусной программе Uber, возможны equity-награды и другие виды компенсации
- Право участия в плане 401(k)
- Различные бенефиты
- Гибридный формат: не менее 50% времени в офисе, если не одобрена полная удалёнка
Навыки
- Java
- Go
- C++
- Scala
- Python
- Rust
- Apache Kafka
- Apache Pulsar
- Apache Flink
- Apache Spark
- Linux
- multithreading
- Kubernetes
- CDC
- stream processing
- distributed systems