Software Engineer - Surge (Dynamic Pricing) at Uber
Uber's Marketplace Engineering team creates the technology behind our ridesharing marketplace by connecting riders with drivers at the push of a button. Our solutions expand user access, deliver reliability, and provide more transportation choices to users across our global markets.
About the Role
The Surge (Dynamic Pricing) team, within the broader Marketplace group, ensures marketplace reliability when there are more riders than available drivers. Without Surge, trip requests will be unfulfilled once available supplies are used up, leaving the rest of riders stranded regardless of their willingness to pay and to wait. This would lead to unusable Uber experiences.
On the business side, this team generates billions of dollars in gross booking for the company by efficiently balancing between request conversion and rider welfare. On the technology front, this team defines reliability in Uber Marketplace's realtime pricing products, measures the gains and costs in trip throughput and rider welfare, and optimizes them in realtime (before rider shipping session converts), at scale (hundreds of thousands of decisions per second), through a data-driven approach. Specifically, this team collects user intent, processes this data through machine learning models and eventually makes the dynamic pricing decisions for each rider session.
If you're seeking to join a team spanning a diverse skill set across scalable distributed systems, online machine learning modelling and training, algorithms design and optimization, mobile development and iterations, and want to build and optimize the dynamic pricing brain to power the planet, then this job is for you. As a software engineer in the team,
- You will craft, code, test, and launch new features for dynamic pricing.
- You will build and deliver these cutting-edge features through sophisticated experiments, collaborating with Data Science, Design, and Product teams, that help simplify the lives of our diverse customer base.
What You'll Do
- Build realtime systems and create advanced technology to solve challenging optimization problems at Uber's scale
- Collaborate with a diverse cross-functional team of engineers, data scientists, and product managers to design, build, and ship great features and experiences for our customers
- Lead the craftsmanship, reliability, and scalability of your solutions
- Bring a passion to stay on top of industry trends, experiment with and learn new technologies, and participate in internal and external technology communities
- Bachelor's degree in Computer Science or related technical field or equivalent practical experience
- Experience coding with C++, Java, Python, or Go
- At least two years of hands-on software engineering experience
- Solid understanding of algorithms, data structures, and complexity analysis.
- Deep knowledge in combinatorial optimization.
- Experience working on large-scale distributed systems.
- Grit, drive and a strong feeling of ownership coupled with collaboration.
At Uber, we ignite opportunity by setting the world in motion. We take on big problems to help drivers, riders, delivery partners, and eaters get moving in more than 600 cities around the world.
We welcome people from all backgrounds who seek the opportunity to help build a future where everyone and everything can move independently. If you have a curiosity, passion and collaborative spirit, work with us, and let's move the world forward, together.
Uber is proud to be an Equal Opportunity/Affirmative Action employer. All qualified applicants will receive consideration for employment without regard to sex, gender identity, sexual orientation, race, color, religion, national origin, disability, protected Veteran status, age, or any other characteristic protected by law. We also consider qualified applicants regardless of criminal histories, consistent with legal requirements.
If you have a disability or special need that requires accommodation, please let us know by completing this form.