Staff Software Engineer - Uber AI Recommendation Platform at Uber (San Francisco, CA)
Sorry, this job was removed at 8:16 p.m. (CST) on Wednesday, August 31, 2022
By clicking Apply Now you agree to share your profile information with the hiring company.
Uber AI Building Blocks establishes core, reusable ML systems that can be applied across problems. Through close collaboration we deliver innovative Machine Learning/AI solutions for core business problems.
We focus on productionizing ML to improve end user experiences and drive the business. As a core offering, we are developing a platform around recommendation and personalization across Uber products. We strive to understand our riders, drivers, restaurants and build more personal experience across all users. As an engineer, you will be responsible for building these systems that are high performant and can operate at high scale (imagine every Uber trip) while leveraging state-or-art research in Recommendations. You will deliver these solutions from inception to production.
What You'll Do
Basic Qualifications
Preferred Qualifications
We focus on productionizing ML to improve end user experiences and drive the business. As a core offering, we are developing a platform around recommendation and personalization across Uber products. We strive to understand our riders, drivers, restaurants and build more personal experience across all users. As an engineer, you will be responsible for building these systems that are high performant and can operate at high scale (imagine every Uber trip) while leveraging state-or-art research in Recommendations. You will deliver these solutions from inception to production.
What You'll Do
- Build backend systems & microservices that will recommend products to users across Uber's suite of businesses. These systems will be used by other services in various contexts like search, feed and intent generation
- Help build a predictions engine that can support a wide variety of personalization and recommendations use cases
- Partner with product teams to analyze key business problems
- Collaborate with data science and engineering teams to integrate and validate machine learning solutions end-to-end
- Build & manage realtime and batch data pipelines that build interrelationships between products, items and users. These systems will leverage Uber's core ML infrastructure to power these use cases
Basic Qualifications
- Strong programming and debugging skills: Joy of coding (we mainly use Go, Java & Python) and 5+ years of professional industry experience
- Big Data & Microservices: Experience working with data at scale, including experience with some or all of the following: Hadoop, Hive, Kafka, Flink, Spark, SQL, document databases, knowledge graphs
- Architecture chops: you should have opinions on constructing software systems and good knowledge of the principles of fault-tolerance, reliability, testing and durability. You should be able to evaluate solution tradeoffs between correctness, robustness, performance, space, and time
- Production Systems: Experience designing and deploying high performance production services with robust monitoring and logging practices
- Processing Pipelines: Ability to build and interact with very large data processing pipelines, distributed data stores, and distributed file systems
Preferred Qualifications
- Experience working with graph databases, knowledge graphs, recommendation systems
- ML infrastructure experience
- Fast learner: We're looking for software engineers who thrive on learning new technologies and don't believe in one-size-fits-all solutions. You should be able to adapt easily to meet the needs of our massive growth and rapidly evolving business environment
Read Full Job Description