Кто мы:
Glydways переосмысливает то, каким может быть общественный транспорт. Мы считаем, что мобильность — это путь к возможностям: она связывает людей с жильём, образованием, работой, торговлей и заботой о здоровье. Делая транспорт более доступным, доступным по цене и устойчивым, мы помогаем сообществам процветать и открываем экономическое и социальное благополучие.
Наша миссия — революционизировать транспорт решением, которое обеспечивает высокую пропускную способность, исключительный пользовательский опыт, непревзойдённую доступность по цене и минимальное воздействие на окружающую среду.
Система Glydways — это новаторская сеть углеродно-нейтральных взаимосвязанных транспортных маршрутов на базе стандартизированных автономных транспортных средств на выделенных дорогах. Работая круглосуточно с доступом по запросу, она предлагает персонализированную и эффективную мобильность — без тяжёлых первоначальных затрат на инфраструктуру или постоянных субсидий из налогов.
С Glydways мы строим не просто транспортную систему; мы создаём будущее, в котором каждый, везде, имеет свободу передвижения.
Знакомство с командой:
Команда Applications в составе Software Platform играет ключевую роль в проектировании, создании и поддержке технологий, которые работают как на наших роботах и в инфраструктуре, так и для них. Эта команда, работающая на всём стеке, обслуживает нашу внутреннюю команду разработки, клиентов и бизнес-партнёров и напрямую взаимодействует с нашими заказчиками, помогая обеспечивать наилучший возможный опыт и самые значимые взаимодействия. В составе команды Applications вы будете писать высокопроизводительное передовое программное обеспечение, которое работает на объекте, на роботах, в облаке и в руках наших пользователей.
О роли
Вы будете отвечать за опыт Cabin: интерфейс в салоне, с которым каждый пассажир видит и взаимодействует с момента посадки до прибытия. Это включает дисплей и элементы управления в салоне, информацию о поездке и статусе, голосовую и видеосвязь с операторами в реальном времени, аудио и атмосферный опыт, а также конвейер, который выводит телеметрию транспортного средства на экран. Cabin работает на ограниченном бортовом оборудовании с нестабильным подключением, и в этих условиях всё должно быть корректным, быстрым и спокойным.
Наш стек — TypeScript от начала до конца: NestJS на Fastify на сервере, гипермедийный UI на HTMX на клиенте, с более богатыми компонентами там, где они оправданы. Вы будете ежедневно сотрудничать с Design над опытом пассажира, с Compute Platform над бортовой средой выполнения и с Network Platform над путём vehicle-to-cloud. Вы присоединитесь, когда мы готовим Cabin UX к первым публичным развёртываниям, так что это роль с реальной ответственностью и реальной датой релиза.
Роли и обязанности:
- Отвечать за проектирование, реализацию и надёжность приложения Cabin UX от начала до конца: серверный UI с HTMX, сервисы NestJS за ним и облачные API, от которых он зависит.
- Создавать интерфейсы для пассажиров, которые корректно работают на встроенных/планшетных дисплеях, при разном освещении и в движении, а также для пассажиров с разными возможностями.
- Интегрировать связь в реальном времени (WebRTC) между салоном и операторами, включая захват аудио/видео, сигнализацию и плавную деградацию при плохих каналах.
- Интегрировать системы аудио и атмосферного опыта (объявления, звуковой дизайн, многоканальное воспроизведение) с приложением cabin.
- Получать телеметрию транспортного средства и состояние парка по WebSockets, SSE или шинам сообщений и отображать их в реальном времени; проектировать под устаревшие, отсутствующие или неупорядоченные данные.
- Строить под offline-first и работу при низкой связности: локальное состояние, очереди действий и безопасные значения по умолчанию, когда транспортное средство теряет uplink.
- Развёртывать и обновлять ПО на бортовых edge-вычислениях; работать с Compute Platform над упаковкой, провижинингом и развёртыванием по парку.
- Тестировать на реальном оборудовании и в средах hardware-in-the-loop и симуляции; создавать инструменты, которые делают работу над cabin тестируемой без транспортного средства.
- Проектировать, создавать и оптимизировать схемы для реляционных и NoSQL хранилищ, поддерживающих workflow cabin и операторов.
- Работать с Design, чтобы превращать концепции опыта пассажира в выпущенный, измеримый продукт, и передавать полевые выводы обратно в процесс дизайна.
- Поддерживать локализацию и доступность в cabin и смежных приложениях для пассажиров.
- Помогать росту команды: документировать лучшие практики, задавать разумные стеки по умолчанию и наставлять инженеров в работе над rider-facing и бортовым ПО.
Знания, навыки и способности:
- Экспертный уровень TypeScript на фронтенде и бэкенде, экспертный уровень HTML5 и CSS.
- Сильное предпочтение гипермедийных архитектур (HTMX, Hotwire или аналоги) вместо тяжёлых клиентских фреймворков и хорошее чувство, когда богатый клиент (React, Vue, Svelte) — правильный инструмент.
- Продакшен-опыт с бэкендами Node.js, желательно NestJS на Fastify: модули, внедрение зависимостей, guards/interceptors и серверный шаблонизатор (Handlebars, EJS или аналоги), управляющий HTMX partials.
- Опыт потоковой передачи серверного состояния в UI с помощью SSE или WebSocket расширений HTMX, на базе Fastify/NestJS gateways или эквивалентной server-push инфраструктуры.
- Практический опыт WebRTC: захват медиа, сигнализация, TURN/STUN и диагностика проблем качества в ненадёжных сетях.
- Опыт с WebWorkers и event-driven или message-bus архитектурами (MQTT, gRPC streams или аналоги).
- Опыт выпуска web-native или встроенного UI на Linux или планшетном оборудовании (Electron, Capacitor, браузеры в kiosk-mode или аналоги), включая ограничения дисплея, ввода и питания.
- Опыт с Web Audio или нативными аудио-конвейерами или доказанная способность быстро освоить это.
- Опыт определения схем и работы с одной или несколькими БД (Postgres, Redis или аналоги).
- Уверенная работа с Linux, контейнерами и развёртыванием на edge или бортовых вычислениях; знакомство с Kubernetes и паттернами развёртывания по парку — плюс.
- Знакомство с сервисами AWS (EC2, S3, DynamoDB и т.д.).
- Сильная интуиция в области доступности (WCAG), интернационализации и проектирования для публичного, без присмотра использования.
- Комфортная работа с командами hardware, network и design и отладка проблем, которые не укладываются в границы команд.
Будет плюсом:
- Опыт с автомобильными, транспортными, kiosk или другими публичными встроенными интерфейсами.
- Знакомство с оборудованием класса NVIDIA Jetson (Orin/Thor) или аналогичными edge-платформами.
- Опыт в 3D или графике (Three.js, WebGL, шейдеры) для визуализации транспортного средства и маршрута.
- Опыт с hardware-in-the-loop тестированием или средами симуляции.
Glydways предоставляет равные возможности трудоустройства всем сотрудникам и соискателям и запрещает дискриминацию и домогательства любого рода независимо от расы, цвета кожи, религии, возраста, пола, национального происхождения, статуса инвалидности, генетики, защищённого статуса ветерана, сексуальной ориентации, гендерной идентичности или самовыражения либо любой другой характеристики, защищённой федеральным, штатным или местным законодательством.