Outtake
Software Engineer, Infastructure
Автоматический пересказ вакансии на русском. Полный текст на языке оригинала и форма отклика — на сайте работодателя.
Staff-level инфраструктурный инженер-генералист в Outtake. Отвечает за техническое направление инфраструктуры: хранение, индексация и поиск данных, асинхронные системы и облачную архитектуру для обработки миллиардов единиц контента.
Задачи
- Определять техническое направление инфраструктуры: базы данных, поиск и извлечение данных, обработка данных, асинхронное выполнение и облачная архитектура
- Перепроектировать системы поиска и извлечения для быстрого расследования по миллиардам единиц контента
- Развивать архитектуру реляционных баз данных: шардирование, партиционирование, индексация, кэширование и новые паттерны доступа к данным
- Отвечать за изменения приложений и инфраструктуры при безопасной миграции живых систем, включая топологию сервисов и стратегию деплоя
- Проектировать и строить масштабируемые асинхронные системы: планирование, очереди, workflow, ретраи, backpressure, rate limiting и восстановление после сбоев
- Строить инфраструктуру данных для высоконагруженного приёма, стриминга, батч-обработки, обогащения и переобработки данных
- Разрабатывать общие инфраструктурные сервисы, API, библиотеки и примитивы для продуктовых инженеров
- Отвечать за облачные основы: вычисления, хранение, сеть, изоляция, управление ресурсами и архитектура деплоя
- Оценивать решения build-versus-buy и делать tradeoff между latency, throughput, consistency, durability, cost и сложностью
- Работать с инженерными командами, выявлять повторяющиеся инфраструктурные проблемы и превращать их в переиспользуемые системы
- Эксплуатировать построенные системы, использовать продакшн-данные для улучшения архитектуры и автоматизировать рутинные операции
- Писать технические предложения, устанавливать архитектурные стандарты и вести других инженеров через сложные системные решения
- Участвовать в развитии инфраструктурной команды с отдельным владением данными, облачной инфраструктурой и developer-платформами
Требования
- Опыт работы на staff-уровне: выявление важных технических проблем, задание направления между командами и ведение сложных проектов от дизайна до внедрения
- Опыт проектирования и построения распределённых инфраструктурных систем, используемых другими инженерами или продуктами
- Опыт масштабирования продакшн-систем при значительном росте объёма данных, трафика или сложности нагрузки
- Глубокие знания архитектуры реляционных баз данных: моделирование данных, паттерны доступа, индексация, партиционирование, шардирование, кэширование и миграции
- Опыт построения или развития высоконагруженных асинхронных систем с пониманием планирования, порядка, ретраев, идемпотентности, backpressure и частичных отказов
- Опыт работы с крупномасштабными системами поиска и извлечения данных, включая tradeoff между лексическим поиском, векторным поиском, скоростью индексации, свежестью, релевантностью и стоимостью
- Опыт построения систем приёма, стриминга или батч-обработки больших объёмов данных
- Готовность работать с облачной инфраструктурой при необходимости изменений вычислений, хранения, сети или архитектуры деплоя
Условия
- Офис: in-person команда в Нью-Йорке, 5 дней в неделю с гибкостью по необходимости, офис на набережной в Бруклине
- Медицинская, стоматологическая и офтальмологическая страховка, полностью оплачиваемая компанией
- Гибкий PTO
- Ежегодные корпоративные ретриты и регулярные офлайн-мероприятия
- Финансовая стабильность и длинный runway, поддержка топовых инвесторов
Навыки
- Distributed Systems
- Relational Databases
- Sharding
- Partitioning
- Indexing
- Caching
- Search
- Vector Retrieval
- Asynchronous Systems
- Queues
- Streaming
- Batch Processing
- Cloud Infrastructure
- Compute
- Storage
- Networking
- Deployment Architecture
- APIs