What You’ll Do
- Provide a large community of technical software developers with a feature rich, highly reliable, friction-free experience for writing code.
- Learn from world-renowned practitioners in robotics, mapping, perception, logistics, machine learning, motion planning, mobile communications, and other fields.
- See your work and that of your team deployed fast and often into the enterprise, to receive rapid use and feedback for future iteration.
- Work with a group of core domain experts to plot the future course of software development within the enterprise.
- Recruit and attract new talent into your group, to enhance and accelerate existing and future programs.
- Benefit from working at a dynamic startup inside an established, well-capitalized company.
What You’ll Need
- 4 Minimum Years of Experience with C++ software development and optimization
- People management experience: You have the management playbook to nurture careers, manage under- and over-achievers, influence cross-functional teams, and recruit and build teams.
- Skills as a software tools expert: Deep knowledge of operating systems, common software develop/build/release/test frameworks.
- Fast learner: thrive on new challenges and ideas in the software development tools and process space.
- Action: You think a working proof-of-concept is the best way to make a point, and you thrive on the belief that quality doesn't have to be compromised to achieve speed - you can have both at the same time.
- Versatility: In addition to having an intimate knowledge of core engineering fields, you understand how all the pieces fit together into integrated systems, and how they impact performance.
- Passion: You feel ownership over everything you ship; you'd never think of code as "released" by your team until you're sure it's correct; you pride yourself on ensuring your teams do efficient monitoring, excellent documentation, and proper test coverage.
- Team player mentality: You believe that you can achieve more on a team - that the whole is greater than the sum of its parts.
- Design and business acumen: Whether you're working on an API used by other developers, an internal tool consumed by our operation teams, or a feature used by millions of customers, your attention to details leads to a delightful user experience.
About the Team
At the Advanced Technologies Group (ATG), 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. Our teams 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.
The Core Platforms team builds and runs the set of software platforms used to operate our fleets of automated vehicles. From onboard sensing and computation, to wireless telemetry, to bulk data capture and offload, to ingest and transform and indexing and searching, to the software development tooling enabling all these systems to be built, the Core Platforms team plays a central role in the ATG development and production ecosystem; we make the cars drive, protect them from harm, provide rich datasets to our engineers, and delight our scientists!
The Developer Platform team provides a seamless, easy to use set of tools and services that allow ATG engineers to develop, review, build, release, test and analyze SDV software. These services, applications and tools enable engineers to develop, build, test, debug and release software components of the ATG SDV. The tools and services used in the build and release process are developed and maintained by the platform. The Developer Platform is also responsible for the tools and operational services that manage unit testing, integration testing, code quality checks and execution of core simulation-based checks on submitted code.