
Senior Software Engineer (Sensor Platform)
Nuro
Job description
-
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
-
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
-
Lead cross-functional projects on sensors and compute for autonomous vehicles
-
Mentor software engineers to bring them to their full potential
Benefits
-
Free Caltrain pass and commuter benefits
-
Company stock options
-
Work from home opportunities
-
Health insurance- Clear and concise communication
-
Technical excellence: Proven ability to deep dive into complex real-time systems; strong proficiency in C++, with emphasis on concurrency; system software development expertise, from the device driver to the application level, with deep understanding of Linux kernel-level algorithmic correctness and performance optimization
-
6+ years of experience with a bachelor’s or master’s degree in Computer Science, Electrical Engineering, or a closely related field; 4+ years of experience with a Ph.D degree
-
Domain experience: Experience in robotics or autonomous driving systems
-
Collaborates effectively with engineers, PMs, and other stakeholders
-
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 machine learning or image processing
-
Experience with radar, lidar, visual or thermal imaging 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