Sr Software Engineer

Uber
San Francisco, United States of America
yesterday

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Senior
Compensation
$ 224K

Job location

San Francisco, United States of America

Tech stack

Java
Systems Engineering
Computer Networks
Software Design Patterns
Distributed Systems
Python
Machine Learning
Memcached
NoSQL
Redis
TensorFlow
Software Engineering
Data Streaming
Real Time Systems
PyTorch
System Availability
Spark
Parallel Computation
Backend
Information Technology
Cassandra
Kafka
Data Pipelines
Network Optimization

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.

Apply for this position