Sr Software Engineer
Role details
Job location
Tech stack
Job description
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.
- What the Candidate Will Do -
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.
Requirements
Do you have experience in Systems engineering?, * Bachelor's degree or equivalent in Computer Science, Engineering, Mathematics or related field
- 5+ years of full-time Software Engineering work experience
- Proficient in a language such as Java/Go/Python
- Experience building scalable distributed systems
- Experience contributing to the development of machine-learning libraries, intermediate representations, export formats, and analysis tools
- Familiarity with in-memory datastores (e.g. Redis, Memcached)
- Demonstrated ability to design, maintain, and support business critical systems
- Designing for high availability (fallbacks, circuit breakers, hedging and retries)
- On-call experience, * Expertise in Spark, including job optimization, resource configuration, and large-scale offline data pipelines.
- Experience with Java software development (e.g. common design patterns, streams, futures, parallel computation, DI frameworks such as Spring)
- Experience of developing in a mainstream machine-learning framework, e.g. PyTorch, or Tensorflow
- History of working with cross-functional partners (MLE/Product/Science) to help define roadmaps
- Experience mentoring and guiding junior engineers
- Prior experience with NoSQL datastores (e.g. Cassandra)
- Experience with event-driven and streaming architectures (e.g. Apache Kafka)
Benefits & conditions
For San Francisco, CA-based roles: The base salary range for this role is USD$202,000 per year - USD$224,000 per year. You will be eligible to participate in Uber's bonus program, and may be offered an equity award & other types of comp. All full-time employees are eligible to participate in a 401(k) plan. You will also be eligible for various benefits. More details can be found at the following link https://jobs.uber.com/en/benefits.