Software Engineer - OS & Kernel, Robot Software

WayveSunnyvale, CA
2hHybrid

About The Position

At Wayve we're committed to creating a diverse, fair and respectful culture that is inclusive of everyone based on their unique skills and perspectives, and regardless of sex, race, religion or belief, ethnic or national origin, disability, age, citizenship, marital, domestic or civil partnership status, sexual orientation, gender identity, veteran status, pregnancy or related condition (including breastfeeding) or any other basis as protected by applicable law. About us Founded in 2017, Wayve is the leading developer of Embodied AI technology. Our advanced AI software and foundation models enable vehicles to perceive, understand, and navigate any complex environment, enhancing the usability and safety of automated driving systems. Our vision is to create autonomy that propels the world forward. Our intelligent, mapless, and hardware-agnostic AI products are designed for automakers, accelerating the transition from assisted to automated driving. In our fast-paced environment big problems ignite us—we embrace uncertainty, leaning into complex challenges to unlock groundbreaking solutions. We aim high and stay humble in our pursuit of excellence, constantly learning and evolving as we pave the way for a smarter, safer future. At Wayve, your contributions matter. We value diversity, embrace new perspectives, and foster an inclusive work environment; we back each other to deliver impact. Make Wayve the experience that defines your career! The role The Robot Software team is responsible for the software that runs on our internal fleet of vehicles to enable autonomous driving and collect data for training new driving models. You will join a motivated and talented team of engineers to deliver a reliable, stable and flexible software stack to support on-road experimentation by our model developers and scientists. Your work will enable these teams to iterate quickly and gather the data they need to improve our autonomous driving capabilities and support new product features, which is critical to the success of Wayve’s mission. The OS & Kernel team within Robot Software are the curators of Wayve's bespoke Linux distribution, which is installed across our ever-expanding development fleet. The team works closely with various groups across Wayve, including other parts of Robot Software, the hardware and supply chain teams, and our field engineering and reliability engineering teams. The team's responsibilities include developing and maintaining our Linux distribution using Yocto, creating and updating Linux kernel drivers for new hardware sensors and peripherals, and hardening our development fleet against all forms of cyber attack.

Requirements

  • Software Development Skills: Proficiency developing high-performance embedded Linux systems software in C and C++. Demonstrated ability to manage the complete software development lifecycle from ideation through delivery & optimization.
  • Linux Expertise: Familiarity with embedded Linux (kernel, device tree), build systems (Yocto), boot sequence, secured boot and user space application software development.
  • Debugging Skills: Ability to delve deep into performance issues, stack traces, core dumps, slow disk writes, high system load, memory bottlenecks, external device bottlenecks, and threading issues.
  • IPC Middleware Knowledge: Strong understanding IPC mechanisms and how to optimally use and configure IPC middleware for high data throughput robotics applications (e.g. with frameworks such as ROS).

Nice To Haves

  • Experience with robotics or automotive frameworks such as Nvidia Jetson or Nvidia Drive.
  • Experience with embedded real time (RT) OS such as QNX.

Responsibilities

  • Expertise in Linux: Own the creation and maintenance of Linux kernel and device drivers.
  • Collaborate with technical and business stakeholders: Work with Product, Project, and Engineering management to advise and build the right solution
  • Software Development: Build and deliver software in C++ with high quality and reliability. Create software which is observable and debuggable when running on a device 2000 km away and with limited connectivity.
  • Fault Tolerance and Diagnostics: Create robust, fault-tolerant software solutions with comprehensive system diagnostics to enable us to quickly and efficiently resolve any issues preventing our deployed fleet from operating at maximum capacity.
  • Drive a strong engineering culture: Lead by example as you demonstrate best practices for: testing, documentation, ease-of-use, technical (and non-technical) tooling, mentorship, and collaboration.
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service