What are the responsibilities and job description for the Software Engineer II (Dynamic Pricing) position at Uber?
About The Role
The mission of the Surge team is to maintain overall marketplace reliability by balancing supply/demand in real-time through dynamic pricing. We build scalable real-time systems to understand the state of the market, forecast future demand, make predictions using ML models, solve network optimization programs, and eventually make pricing decisions for each rider session.
Surge plays a critical role in service of Uber's mission to make transport accessible. We generate billions of dollars in annual gross bookings for the company by optimizing network efficiency and make a significant contribution to driver earnings. In addition to pricing, the signals we generate are some of the most important features used in practically every optimization/ML system across Uber. Although we are a backend team, what we do has an outsized impact on our riders because prices and reliability are two of the most important elements of customer experience.
What You'll Do
You will work with a mixed team of Engineers, Operations Researchers, and Economists to build large-scale pricing optimization systems to set prices based on real-time marketplace conditions for Uber's rides products globally.
Basic Qualifications
The mission of the Surge team is to maintain overall marketplace reliability by balancing supply/demand in real-time through dynamic pricing. We build scalable real-time systems to understand the state of the market, forecast future demand, make predictions using ML models, solve network optimization programs, and eventually make pricing decisions for each rider session.
Surge plays a critical role in service of Uber's mission to make transport accessible. We generate billions of dollars in annual gross bookings for the company by optimizing network efficiency and make a significant contribution to driver earnings. In addition to pricing, the signals we generate are some of the most important features used in practically every optimization/ML system across Uber. Although we are a backend team, what we do has an outsized impact on our riders because prices and reliability are two of the most important elements of customer experience.
What You'll Do
You will work with a mixed team of Engineers, Operations Researchers, and Economists to build large-scale pricing optimization systems to set prices based on real-time marketplace conditions for Uber's rides products globally.
Basic Qualifications
- Bachelor's degree or equivalent in Computer Science, Engineering, Mathematics or related field
- 2 years of full-time Software Engineering work experience
- Proficient in a language such as Java/Go/Python
- Experience building scalable distributed systems
- Familiarity with in-memory datastores (e.g. Redis, Memcached)
- Expertise in Java software development (e.g. common design patterns, streams, futures, parallel computation, DI frameworks such as Spring)
- Prior experience with NoSQL datastores (e.g. Cassandra)
- Experience with event-driven and streaming architectures (e.g. Apache Kafka)
- Experience building real-time mathematical optimization systems (e.g. using OR Tools or Gurobi)
- History of working with cross-functional partners (Product/Science) to help define roadmaps
- Demonstrated ability to design, maintain, and support business critical systems
- Designing for high availability (fallbacks, circuit breakers, hedging and retries)
- On-call experience
Salary : $171,000 - $190,000