Sr Software Engineer - Machine Learning Platform (Seattle)
Uber is a technology company that is changing the way the world thinks about transportation. We are building technology people use everyday. Whether it's heading home from work, getting a meal delivered from a favorite restaurant, or a way to earn extra income, Uber is becoming part of the fabric of daily life.
We're making cities safer, smarter, and more connected. And we're doing it at a global scale-energizing local economies and bringing opportunity to millions of people around the world.
Uber's positive impact is tangible in the communities we operate in, and that drives us to keep moving forward.
About the Role
The Michelangelo Machine Learning Platform team builds the end-to-end systems and tools to enable teams around Uber to build and deploy machine learning solutions at scale. The platform is used by more than a dozen teams around Uber, including EATs, Map Services, Fraud, Marketplace, Finance, and ATG (autonomous cars).
The platform supports the full ML workflow:
- Get data - unified online & offline systems for computing, storing, and sharing features for batch training and serving and online serving
- Train models - distributed training of wide array of traditional ML, Deep Learning, time series forecasting, and bespoke algorithms
- Evaluate models - version control and rich visualizations for trained models
- Deploy models - fully managed deployment of trained models across data centers to batch and online serving containers (deployment to cars and phones coming soon)
- Make predictions - low latency, high throughput model serving
- Monitor predictions - monitor feature and prediction distributions and join predictions back to collected labels to provide ongoing monitoring of the accuracy of deployed models
What we are looking for
- Core skills: We're looking for talented software developers with a range of skills.
- Experience with Java/Scala, Python, C++, or related languages/technologies are required as is deep experience with big data or other distributed systems.
- Desired skills: Previous experience with machine learning platforms, especially familiarity with modern ML packages (e.g. TensorFlow, Caffe, sklearn, MLLib). Distributed/parallel learning algorithms. Online learning systems. Strong practical and theoretical understanding of distributed implementations of decision trees, linear models, and other common algos. Strong practical and theoretical understanding of Deep Learning infrastructure on GPUs, tool kits, and model architectures.
- Team player: You believe that you can achieve more on a team — that the whole is greater than the sum of its parts. You rely on others' candid feedback for continuous improvement.
- Clear Thinker: We are looking for engineers who can think clearly and can write code that reflects that clarity.
- Great Communicator: You can describe and discuss technical issues easily.
- Employees are given Uber credits every month.
- The rare opportunity to change the way the world moves. We're not just another social web app, we're moving real people and assets and reinventing transportation and logistics globally.
- Smart, engaged co-workers.
- 401(k) plan, gym reimbursement, nine paid company holidays.
- Full medical/dental/vision package to fit your needs.
- Unlimited vacation policy; take time when you need it.
Uber is an equal opportunity employer and enthusiastically encourages people from a wide variety of backgrounds and experiences to apply. Uber does not discriminate on the basis of race, color, religion, sex (including pregnancy), gender, national origin, citizenship, age, mental or physical disability, veteran status, marital status, sexual orientation or any other basis prohibited by law.
Meet Some of Uber's Employees
Community Management Specialist
Brian makes sure that every Uber user has an amazing experience. He troubleshoots roadblocks to customer happiness and also does outreach to attract new Uber users.
Back to top