Remote job
Staff Software Engineer, Full Stack Developer - Cabin Experience
Job details
About this role
Role overview This is a senior, full-stack engineering role focused on the in-vehicle cabin experience for an autonomous public transit system. The engineer will own the end-to-end rider interface, from embedded display and controls to real-time operator connectivity and audio systems, shipping software that must remain correct and responsive on constrained on-vehicle hardware with intermittent connectivity.
Responsibilities - Own the design, implementation, and reliability of the cabin UX application, including server-rendered UI, supporting services, and cloud APIs. - Build rider-facing interfaces that work on embedded or tablet displays under varying light and motion conditions, with attention to accessibility. - Integrate real-time audio and video communication between cabin and operators, including signaling, capture, and graceful degradation on poor network links. - Consume vehicle telemetry and fleet state over WebSockets, SSE, or message buses, rendering it accurately even when data is stale or out of order. - Design for offline-first and low-connectivity operation, including local state, queued actions, and safe defaults. - Deploy and update software on edge compute hardware, partnering with platform teams on packaging and fleet rollout. - Test on real hardware and in hardware-in-the-loop or simulation environments, building tools that make cabin work testable without a vehicle. - Collaborate with design and platform teams, document best practices, and mentor engineers on rider-facing and on-vehicle work.
Requirements - Expert-level TypeScript across frontend and backend, with strong HTML5 and CSS skills. - Hands-on experience with hypermedia-driven architectures such as HTMX or Hotwire, plus judgment about when richer client frameworks are warranted. - Production experience with Node.js backends, ideally NestJS on Fastify, including modules, dependency injection, guards/interceptors, and server-side templating. - Experience streaming server state to the UI using SSE or WebSocket extensions, backed by appropriate server-push infrastructure. - Hands-on WebRTC experience covering media capture, signaling, TURN/STUN, and diagnosing quality issues on unreliable networks. - Experience with WebWorkers and event-driven or message-bus architectures such as MQTT or gRPC streams. - Experience shipping web-native or embedded UI on Linux-based or tablet hardware, including kiosk-mode or Electron-style deployments. - Comfort with Linux, containers, and deploying to edge or on-vehicle compute. - Strong instinct for accessibility (WCAG), internationalization, and designing for unattended public use.
Nice to have - Experience with automotive, transit, kiosk, or other public-facing embedded interfaces. - Familiarity with NVIDIA Jetson-class hardware or similar edge platforms. - 3D or graphics experience (Three.js, WebGL, shaders) for vehicle and route visualization. - Experience with hardware-in-the-loop testing or simulation environments.