Кто мы:
Glydways переосмысливает то, каким может быть общественный транспорт. Мы считаем, что мобильность — это путь к возможностям: она связывает людей с жильём, образованием, работой, торговлей и медициной. Делая транспорт более доступным, доступным по цене и устойчивым, мы помогаем сообществам процветать и открываем экономическое и социальное благополучие.
Наша миссия — революционизировать транспорт решением, которое обеспечивает высокую пропускную способность, исключительный пользовательский опыт, непревзойдённую доступность по цене и минимальное воздействие на окружающую среду.
Система Glydways — это новаторская сеть углеродно-нейтральных, взаимосвязанных транспортных маршрутов на базе стандартизированных автономных транспортных средств на выделенных дорогах. Работая круглосуточно с доступом по запросу, она предлагает персонализированную и эффективную мобильность — без тяжёлой первоначальной инфраструктуры и постоянных субсидий из налогов.
С Glydways мы строим не просто транспортную систему; мы создаём будущее, в котором каждый, везде, имеет свободу передвижения.
Знакомство с командой:
Команда Developer Platform в составе Software Foundations and Architecture отвечает за создание и поддержку инфраструктуры, которая позволяет всем разработчикам отслеживать, собирать, развёртывать и эксплуатировать наше программное обеспечение. От системы сборки, которой пользуются все, до инструментов ИИ и локальной разработки, до инструментов для отправки и развёртывания изменений, до облачной инфраструктуры для эксплуатации — мы поддерживаем весь опыт разработки. Команда Developer Platform создаёт инструменты, которые усиливают всю организацию разработки ПО, работая с инженерами почти из каждой команды.
Каждый инженер в Glydways собирает, тестирует и выпускает код через наш монорепозиторий на Bazel, поэтому скорость и надёжность сборки задают темп для всей компании. Эта роль отвечает за этот фундамент: поддерживать быстрые, герметичные и корректные сборки для C++, Python и Go и масштабировать их с помощью удалённого кэширования и удалённого выполнения сборки.
Чем будет заниматься этот человек?:
- Внедрение удалённого выполнения сборки и повышение доли попаданий в удалённый кэш в CI и на машинах разработчиков
- Профилирование и сокращение времени сборки и тестов в монорепозитории, поддержание герметичности и воспроизводимости сборок
- Обновление и поддержка Bazel, наборов правил и внешних зависимостей (Bzlmod)
- Поддержка тулчейнов C++ и кросс-компиляции для наших встраиваемых целевых платформ
- Создание дашбордов и оповещений о состоянии сборок, нестабильных тестах и производительности CI
- Общая работа над рабочими процессами разработчиков и CI вместе с остальной командой
Роли и обязанности:
- Владеть и развивать нашу систему сборки Bazel, поддерживая её быстрой, надёжной, герметичной и удобной для каждого инженера.
- Проектировать и внедрять удалённое кэширование и удалённое выполнение сборки (RBE), настраивать производительность сборки и тестов в локальных средах и CI.
- Поддерживать правила, тулчейны и управление зависимостями для C++, Python и Go, включая кросс-компиляцию для встраиваемых целевых платформ.
- Поддерживать и улучшать рабочие процессы разработчиков, включая сборку, линтинг, покрытие кода и поддержку тестирования для языков C++, Python и Go.
- Тесно сотрудничать с командами разработки ПО для выявления и внедрения улучшений в системе непрерывной интеграции (CI) с использованием AWS и Buildkite.
- Разрабатывать, развёртывать и поддерживать инструменты автоматизации для упрощения типичных рабочих процессов разработчиков, таких как отправка изменений, интеграционное тестирование и управление зависимостями.
- Проектировать и внедрять базовые сервисы мониторинга и дашборды для отслеживания состояния сборок, доли попаданий в кэш, а также производительности и стабильности внутренних процессов и систем.
- Участвовать в ротации поддержки и дежурств команды, реагировать на инциденты и поддерживать общую инфраструктуру разработчиков в рабочем состоянии.
Знания, навыки и способности:
- Практический опыт поддержки Bazel (или сопоставимой системы, такой как Buck или Pants) в многоязычном монорепозитории: написание правил и макросов, настройка тулчейнов, отладка корректности сборки и кэша.
- Опыт с удалённым кэшированием и удалённым выполнением (например BuildBuddy, EngFlow, Buildbarn или NativeLink) — значительное преимущество.
- Глубокие знания систем сборки и других инструментов в цикле разработки ПО, таких как: git, линтинг, GitHub, код-ревью, фреймворки тестирования и фреймворки развёртывания.
- Рабочие знания тулчейнов сборки C++ (компиляторы, линкеры, sysroots, кросс-компиляция).
- Глубокие знания лучших практик и принципов CI/CD, плюсом будет прямой опыт с Buildkite.
- Опыт разработки инструментов и сервисов на Python или Go.
- Опыт работы с операционными системами Linux как в повседневной разработке, так и в эксплуатационных средах.
- Знание AWS или других схожих облачных платформ; опыт с Terraform — плюс.
- Знание процессов дежурной поддержки, управления инцидентами и инструментов мониторинга.
- Знакомство с веб-разработкой (например HTML, CSS, JavaScript или современный фреймворк), достаточное для создания и поддержки простых внутренних инструментов и дашбордов — плюс.
Glydways предоставляет равные возможности трудоустройства всем сотрудникам и соискателям и запрещает дискриминацию и преследование любого рода независимо от расы, цвета кожи, религии, возраста, пола, национального происхождения, статуса инвалидности, генетики, статуса ветерана, защищённого законом, сексуальной ориентации, гендерной идентичности или самовыражения либо любой другой характеристики, защищённой федеральным, штатным или местным законодательством.