Nuro logo
Nuro Verified
Autonomous Vehicles, Robotics, AI, Logistics, Last-mile Delivery

Software Engineer, Sensor Platform

Mountain ViewOnsiteFull TimePosted 2 months ago

Is this role right for you?

Upload your resume and get a skill-by-skill breakdown — see exactly where you match, where you're close, and what to highlight. Not a mystery percentage.

Get a tailored resume highlighting what this role needs.

Required skills

  • C++
  • concurrency
  • Linux kernel
  • driver performance
  • robotics
  • autonomous driving
  • embedded systems
  • real-time systems
  • device drivers
  • system debugging

Nice to have

  • Nvidia GPU
  • low level driver optimization
  • Linux device driver programming
  • threading
  • IPC
  • shared memory

Role summary

Nuro is seeking a Software Engineer for its Sensor Platform team to develop onboard software for self-driving robots. This role involves designing and developing sensor and compute systems, architecting reliable software, debugging complex issues, and collaborating with internal and external stakeholders. The ideal candidate has experience in robotics or autonomous driving, deep technical expertise in embedded and real-time systems, proficiency in C++ with concurrency, and familiarity with Linux kernel performance. Preferred qualifications include experience with GPU programming, Linux device drivers, networking protocols, and peripheral device programming.

Who We Are

Nuro believes self-driving vehicles are the most immediate and profound opportunity for AI to drive positive change in the physical world. Safer streets, more time for what matters, and easier access to the world around us, that’s why we’re building a universal autonomy platform: self-driving for all roads and all rides.Founded in 2016, Nuro is a physical AI company developing Level 4 autonomous driving technology for a wide range of vehicles, use cases, and markets. Powered by the Nuro Driver™, our universal autonomy platform enables the global mobility ecosystem to deploy autonomy at scale, from robotaxis and logistics fleets to personal vehicles.With years of real-world deployment experience and a flexible, partner-led business model, Nuro is working toward a future where millions of autonomous vehicles powered by our technology help make everyday life safer, easier, and more connected.Nuro has raised over $2B in capital from Uber, NVIDIA, Google, Softbank, Fidelity, T. Rowe Price, and other leading investors.

About the Team

The Devices Platform team's mandate is to lay the foundation of Nuro's onboard software for our sensor and compute platform, including device drivers, inter-device protocols and pipelines, and device runtime APIs. Sensors and compute hardware are the eyes, ears, and brains of our self-driving robots. We are creating the hardware-agnostic platform to be used by the perception and autonomy SW stack, and to realize the full potential of our sensor and compute HW in reliability, quality, and performance. The projects we work on are high impact and high visibility within Nuro. This team is also responsible for working with internal stakeholders and external suppliers to define, evaluate, integrate the next generation HW platform for Nuro's products and to build the necessary tooling to assist continuous testing and validation.

About the Work

  • Design and develop sensor and compute systems for robotics
  • Architect and/or deploy Nuro sensors & autonomous SW with high reliability and performance
  • Deliver reliable SW through metrics monitoring, automated testing, and vendor collaboration
  • Debug complex systems, root-cause failure modes, and deploy effective solutions
  • Drive cross-functional projects on sensors and compute for autonomous vehicles
  • About You

  • Domain experience: Experience in robotics or autonomous driving systems
  • Technical excellence: Proven ability to deep dive into embedded and real-time systems; proficiency in C++, with emphasis on concurrency; Familiarity with the role of the Linux kernel in driver performance.
  • 2+ years of industry experience
  • Bachelor's, master's, or Ph.D in degree in Computer Science, Electrical Engineering, or a closely related field
  • Clear and concise communication
  • Collaborates effectively with engineers, PMs, and other stakeholders
  • Bonus Points

  • Experience in robotics hardware components, including sensors, embedded platforms (with multiple CPUs, GPUs, ISPs, and accelerators)
  • Experience with programming peripheral devices and device communication protocols such as USB, SPI, I2C, UART
  • Experience with radar, lidar, or visual cameras
  • Experience with GPU programming and low level driver optimization for Nvidia GPUs
  • Knowledge of Linux kernel and device driver level programming, including threading, IPC, shared memory, and synchronization
  • Knowledge of networking, full IP protocol stack, from PHY through TCP, UDP, and to application layer
  • At Nuro, your base pay is one part of your total compensation package. For this position, the reasonably expected base pay range is between $132,300 and $165,370 for the level at which this job has been scoped. Your base pay will depend on several factors, including your experience, qualifications, education, location, and skills. In the event that you are considered for a different level, a higher or lower pay range would apply. This position is also eligible for an annual performance bonus, equity, and a competitive benefits package.

    At Nuro, we celebrate differences and are committed to a diverse workplace that fosters inclusion and psychological safety for all employees. Nuro is proud to be an equal opportunity employer and expressly prohibits any form of workplace discrimination based on race, color, religion, gender, sexual orientation, gender identity or expression, national origin, age, genetic information, disability, veteran status, or any other legally protected characteristics.

    Sample Nuro interview questions

    • 1

      Build a service discovery mechanism for distributed systems.

      system designmedium
    • 2

      Maximum Depth of an N-ary Tree Find the maximum depth of an N-ary tree. Input: root = [1,null,2,null,3,null,4] Output: 4 Explanation: The tree is essentially a straight line, requiring a traversal that reaches a maximum depth of 4 layers.

      codingmedium
    • 3

      Merge Overlapping Intervals Merge overlapping intervals in an array. Input: intervals = [[1,4],[4,5]] Output: [[1,5]] Explanation: The intervals touch exactly at the 4 mark, so they are successfully merged into a single continuous interval.

      codingmedium
    • 4

      Lowest Common Ancestor on an N-ary Tree Find the lowest common ancestor on an N-ary tree. Input: root = [1,null,2,3,4], p = 2, q = 3 Output: 1 Explanation: Both nodes 2 and 3 are direct children of the root node 1, making 1 the lowest common ancestor.

      codingmedium
    • 5

      Split Array into Consecutive Subsequences Split an array into consecutive subsequences. Input: nums = [1,2,3,4,4,5] Output: FALSE Explanation: The numbers can form [1,2,3,4], but the remaining leftover group [4,5] is too short to form a valid sequence of length 3.

      codingmedium

    Get started to unlock a personalized interview prep pack for this role.

    Ready to apply?
    You'll be redirected to Nuro's application page.

    Similar roles

    See how RiseMe works

    Match, tailor, and prep so you send fewer applications and land more interviews.