Software Engineering, Advanced Technologies Group in San Francisco, CA
We’re changing the way people think about transportation. Not that long ago we were just an app to request premium black cars in a few metropolitan areas. Now we’re a part of the logistical fabric of more than 600 cities around the world. Whether it’s a ride, a sandwich, or a package, we use technology to give people what they want, when they want it.
For the people who drive with Uber, our app represents a flexible new way to earn money. For cities, we help strengthen local economies, improve access to transportation, and make streets safer.
And that’s just what we’re doing today. We’re thinking about the future, too. With teams working on new modalities, self-driving cars and even urban air transportation, we’re in for the long haul. We’re reimagining how people and things move from one place to the next.
About the Role
You will participate in the unique effort of bringing innovative state-of-the-art deep-learning models for self-driving into production, and onto autonomous vehicles. You will collaborate closely with a team of highly skilled researchers and engineers, tackling an array of challenges related to applying machine learning to self-driving vehicles. You will focus on building efficient and scalable data pre-processing and post-processing pipelines, as well as complex algorithmic manipulation of 2D and 3D sensor data, map data, and other data sources.
What You’ll Do
Design, develop, test, deploy, maintain & document innovative solutions for challenging problems with robust, scalable, reusable, efficient, production-quality software
Collaborate and communicate closely with researchers to identify, propose and build infrastructure, large-scale data pipelines, data storage strategy, common libraries and useful tools needed to manipulate data so as to create inputs for deep learning algorithms
Research and incorporate emerging software infrastructures, tools, and technologies, especially pertaining to data processing
Usher and evangelize adoption of engineering best-practices and methodology
What You’ll Need
Minimum 3 years experience building production level software systems, preferably with Python and C++
Experience in architecting and building large-scale batch processing pipelines using Big Data tools such as Hadoop, Spark, Cassandra, etc.
Comfortable developing in a Linux environment
Demonstrable track-record of learning and deep-diving as needed into complex existing and new technologies
Intense sense of ownership, initiative-taking, and a can-do attitude
Great attention to detail and a data-driven approach to problem solving
Team-player with a strong collaboration and communication skills, who is able to motivate and mobilize cross-functional teams, and respond positively to feedback
Bonus Points If
Experience with 2D & 3D data, manipulating and transforming geometric data, computer graphics style image and data projections, graph-based algorithms
Knowledge of applied machine learning, and GPU processing in compute clusters
Familiarity with considerations related to sensor data (RGB, LiDAR) such as calibration, data capturing, noise sources, transformations, etc.
At Uber we don’t just accept difference—we celebrate it, we support it, and we thrive on it for the benefit of our employees, our products and our community. 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 or Veteran status.