Robotics Infrastructure Software Engineer - Self Driving
About the Role
As a robotics infrastructure software engineer, you will build and integrate core software systems running on-board the fleet of self-driving vehicles. Your team is the first line of defense for thorny, emergent performance and reliability issues onboard. Your software systems are where autonomy algorithms, after vetting in simulation, hit the road and have to deal with the realities of operating on a fleet of autonomous vehicles.
What You'll Do
- Develop parts of the software platform on which our autonomy algorithms run, such as networking stacks, software deployment, and process management.
- Build better tools to streamline track and road testing
- Debug issues encountered during vehicle operations, often when other teams have been unable to solve the problem, and create tests to ensure they don't recur in the future
- Interact directly with test engineers to inform the user interfaces for your software
- Work closely with hardware engineering teams to set the roadmap for next-generation vehicles by enabling and benchmarking new hardware within our software ecosystem
- Software engineering experience with C++ or Go preferred but Python is acceptable
- Systems programming experience, such as operating system development, networking, or interprocess communications
- Network architecture, partitioning and security
- Optimizing the networking stack in Linux for low-latency, high bandwidth local connections
- Isolating infotainment traffic from sensor data, and maintaining Quality of Service
- Wireless (e.g. LTE) networking * E.g. building redundancy into our networking at multiple levels
- Software for fault management in safety-critical systems
- Fault detection, response, containment and tolerance
- Automated software updates and configuration management, in the style of invisible Chrome OS updates
- Embedded Linux (e.g. kernel configuration and build) * Generally not writing code in the kernel itself. We do so if necessary, but if someone expects to come to this team and contribute to the Linux kernel they will be disappointed
- The "full stack" equivalent for robotics - able to solve performance issues in C++ and also understand the customer's needs and build reasonable user interfaces (with pre-built frameworks - CSS and UX/UI expertise is not required)
Here at Uber's Advanced Technologies Group (ATG), we are on a mission to bring safe, reliable self-driving transportation to everyone, everywhere. We are building technologies that will transform the way the world moves. Our teams in Pittsburgh, San Francisco, Toronto, and Boulder are dedicated to mapping, software and hardware development, vehicle safety, and operations for self-driving technology. We are passionate about developing a self-driving system that will one day move people and things around more safely, efficiently, and cost effectively.
At Uber, we believe technology has the power to make transportation more efficient, accessible, and safer than ever before. Self-driving technology has the potential to make these benefits an everyday reality for our customers, but it's not going to happen overnight. Building best-in-class self-driving technology will take time, and safety is our priority every step of the way. Operating inclusively and transparently, while displaying responsible behavior in a structured development are critical to safety. We at ATG seek candidates who will role model these values.
Our Software Engineering team has a fascinating, diverse mix of teams. From deep learning and neural networks, to robotics, maps, simulation, to security and data science; if there's a type of software you're interested in, we are probably doing it. Uber is uniquely well-positioned to bring self-driving to the world through its ride-sharing network.
At Uber, we ignite opportunity by setting the world in motion. We take on big problems to help drivers, riders, delivery partners, and eaters get moving in more than 600 cities around the world.
We welcome people from all backgrounds who seek the opportunity to help build a future where everyone and everything can move independently. If you have the curiosity, passion, and collaborative spirit, work with us, and let's move the world forward, together.
Uber is proud to be an Equal Opportunity/Affirmative Action employer. All qualified applicants will receive consideration for employment without regard to sex, gender identity, sexual orientation, race, color, religion, national origin, disability, protected Veteran status, age, or any other characteristic protected by law. We also consider qualified applicants regardless of criminal histories, consistent with legal requirements. If you have a disability or special need that requires accommodation, please let us know by completing this form.
Uber is proud to be an equal opportunity workplace. We are committed to equal employment opportunity regardless of race, color, ancestry, religion, sex, national origin, sexual orientation, age, citizenship, marital status, disability, gender identity, Veteran Status, or any other characteristic protected by law.