Продукт, над которым вы будете работать
HOLOPLOT Matrix Array — это новый тип звуковой системы, построенной на основе точного программно-определяемого управления звуком в трех измерениях, основанного на физике и реализованного с помощью комбинации пользовательского оборудования и специально разработанного программного обеспечения. HOLOPLOT развернула Matrix Arrays на различных площадках, включая Sphere в Лас-Вегасе — самое передовое развлекательное заведение в мире и, что примечательно, дом для крупнейшей в мире аудиоинсталляции в сфере развлечений.
Обработка аудио в системах HOLOPLOT распределена: каждая громкость работает на встраиваемой Linux, и сотни из них должны быть сконфигурированы, скоординированы, отслеживаться и обновляться как единая система. Это обеспечивается множеством сервисов с открытым исходным кодом и разработанных внутри компании, работающих на локальном кластере Kubernetes. Сервисы, размещенные в AWS, подключают площадки к удаленному мониторингу, телеметрии и конфигурации. Многие площадки изолированы от сети (air-gapped) или имеют лишь периодическое подключение для удаленного обслуживания, и это ограничение формирует большинство проектных решений в платформе.
Кто мы и что вы будете делать
Идеальный кандидат — это
Мы ищем старшего инженера-программиста, который будет создавать платформу, на которой работают наши звуковые системы, и который будет нести ответственность за ее поведение в продакшене.
Это в первую очередь роль инженера-программиста. Вы будете проводить время, пишуя код, либо со своей командой, либо в составе одной из других команд HOLOPLOT: сервисы, контроллеры, агенты и инструменты, которые подготавливают, настраивают, наблюдают и обновляют наши системы. Наша инфраструктура определяется как код и развивается через тот же процесс обзора и выпуска, что и остальное наше программное обеспечение. Вы проектируете операционную сторону, вы ее создаете, и вы находитесь на дежурстве, когда она ведет себя неправильно в поле.
Основные цели роли
Ваша роль и обязанности
Вы присоединитесь к команде, которая владеет платформой, лежащей в основе наших инсталляций и подключенных сервисов, работая вместе с бэкенд-, встраиваемыми и фронтенд-инженерами, которые организованы в кросс-функциональные продуктовые команды.
Создание платформы
- Архитектура и реализация сервисов для подготовки, настройки и управления парком серверов в AWS и локальных кластерах.
- Создание логики управляющего уровня для площадочных систем для обеспечения согласованности, мониторинга состояния, управления развертыванием и восстановления, даже во время перебоев с восходящим каналом связи.
- Создание комплексных рабочих процессов подготовки встраиваемого Linux-оборудования, начиная от первоначального производства до развертывания у клиента.
- Улучшение процессов обновления для оптимизации развертывания программного обеспечения для активных клиентских инсталляций.
- Разработка API и инструментов для разработчиков, которые позволяют командам инженеров самостоятельно развертывать, наблюдать и устранять неполадки в своих сервисах.
- Встраивание возможностей телеметрии в платформу для облегчения удаленной диагностики поведения площадочных систем.
Запуск того, что вы создаете
- Владение инфраструктурой AWS, лежащей в основе наших подключенных сервисов: удаленный доступ, контроль доступа, сбор телеметрии, удаленное резервное копирование, управление секретами и мониторинг. Все это — инфраструктура как код.
- Эксплуатация и развитие локального кластера Kubernetes на площадках, включая изолированные от сети и периодически подключаемые инсталляции.
- Мониторинг больших сред, исследование проблем на границе программного и аппаратного обеспечения, и превращение каждого инцидента в исправление в коде.
- Участие в компенсируемом дежурстве по вызову.
Определение технического направления
- Консультирование и сотрудничество с продуктовыми командами по созданию распределенных систем, которые масштабируемы, безопасны и наблюдаемы, и проверка их проектов с учетом реалий продакшена.
- Исследование и внедрение инструментов и технологий, где они измеримо улучшают наш процесс создания и эксплуатации.
- Вклад в проекты с открытым исходным кодом, от которых мы зависим, через отчеты об ошибках и исправления.
Что вам нужно для успеха в этой роли
- Несколько лет профессионального опыта в разработке программного обеспечения, большая часть которого посвящена проектированию и выпуску продакшн-систем.
- Свободное владение ремеслом разработки программного обеспечения: конкурентность, обработка ошибок, тестирование и проектирование API, на которых строят другие команды.
- Рабочее знание управляющего уровня Kubernetes и паттерна оператор/контроллер, включая поведение кластеров в нездоровом состоянии.
- Практический опыт работы с AWS и твердая вера в инфраструктуру как код. Terraform и Ansible — то, что мы используем сегодня.
- Уверенное владение несколькими языками и способность освоить новый, когда этого требует проблема. Наша работа над платформой в основном ведется на Go и Python, с Rust и C++ в других частях стека.
- Опыт создания распределенных систем и четкое понимание того, как они выходят из строя: разделения, частичные развертывания, рассинхронизация часов, повторные попытки и примирение.
- Хорошее чувство архитектуры программного обеспечения и его поддерживаемости, а также привычка писать код, который коллеги могут легко взять и изменить.
- Твердое знание Linux, скриптинга и автоматизации.
- Опыт инструментирования программного обеспечения для телеметрии и использования его для ответов на реальные вопросы о работающих системах.
- Хорошее суждение о том, что автоматизировать, а что оставить как есть.
- Отличные коммуникативные навыки на английском языке. Вы можете четко объяснить дизайн или сбой инженерам, заинтересованным сторонам продукта и неспециалистам.
- Готовность участвовать в компенсируемом дежурстве по вызову и работать по выходным, когда это необходимо для инсталляций.
- Мышление, ориентированное на результат, внимание к деталям и смелость браться за проблемы, выходящие за рамки вашей зоны комфорта.
- Опыт использования ИИ для инженерии.
Желательные навыки
- Опыт работы с NATS, Prometheus/Thanos или PostgreSQL в продакшене.
- Опыт работы с изолированными от сети или периодически подключаемыми инсталляциями.
- Опыт эксплуатации Kubernetes в продакшене, а не только его развертывания.
- Опыт работы с встраиваемым Linux, управлением парком устройств или безопасностью IoT.
- Глубокие знания сетевых технологий: мультикаст в большом масштабе, WireGuard, BGP, IPv6.
- Опыт работы в индустрии аудио, вещания или живых мероприятий.
- Вклад в проекты с открытым исходным кодом по инфраструктуре.
Мы предлагаем вам
В HOLOPLOT мы работаем в гибком гибридном режиме с доверительным графиком работы, давая вам свободу организовать свой день таким образом, чтобы поддерживать концентрацию, глубокую работу и баланс. Оплата конкурентоспособна и справедлива, и мы предлагаем льготы и бонусы, такие как субсидируемый общественный транспорт, пособия на питание, Urban Sports и пенсионный план компании.
Вы присоединитесь к международной команде единомышленников из отделов разработки ПО, аппаратного обеспечения, продуктов и исследований, в среде с большой автономией и ответственностью. Вы будете работать над передовыми аудио-технологиями, преобразовывать сложные требования в работающие решения и вносить вклад в глобальные проекты, при поддержке вашего роста через индивидуальные планы развития, наставничество и коучинг.
Дополнительная информация