Stay in Touch



Staff Software Engineer, Payments






San Francisco, CA, US


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 the curiosity, passion, and collaborative spirit, work with us, and let’s move the world forward, together.

About the Role



Staff engineers at Uber have a deep impact across a wide variety of business and technology decisions spanning multiple projects and locations. They are passionate and pragmatic technologists who are able to design, implement and deliver scalable and resilient systems. They are not only role models, but also approachable thought-leaders, collaborators and mentors to engineers across the organization. They are humble teachers, technically mentoring a team of talented engineers while also executing on delivering uniquely challenging projects.


We are looking for someone with a passion for architecting, building and scaling highly-available, mission-critical systems that support millions of users on a daily basis. Our systems ensure accurate and on-time payments where money is collected from customers and partners are paid timely. In 2017, this meant processing $37 billion in gross bookings from over 4 billion trips.


This is a unique opportunity for an experienced engineer who is collaborative, has a healthy sense of curiosity and acts with responsibility to join Uber, work with talented people across the board and help improve our next generation payments systems, scaling it to the next level.

What You’ll Do
  • Actively seek out the toughest technology and engineering problems and solve them with little to no guidance
  • Own large opportunities and initiatives and drive clarity, convergence and closure across teams.
  • Take the larger vision or challenge and distill it down with the leadership team into strategies and plans including trade-offs required to realize the vision.
  • Be a role model on acting with good judgement and responsibility. Engineers across the organization will look to you on how best to plan and execute on projects.
  • Provide technical leadership and vision in designing, implementing, testing and rolling out the next generations of our payments systems.
  • Raise the bar on sustainable engineering by improving best practices, producing best in class of code, documentation, testing and monitoring.
  • Be a humble mentor and trusted advisor for both our talented team members and passionate leaders alike. Deal with a differences in opinion in a mature and fair way, helping teams to commit and move forward.


What You'll Need

  • Bachelor's degree or higher in an engineering field (e.g. Computer Science, Computer Engineering, etc.)
  • 10+ years’ experience designing, implementing large scale distributed systems (serving 5K+ QPS, participating in 100M+ in transactions)
  • Advanced, inside-out knowledge of multiple programming languages, data store systems and message queue. We use programming languages like Go, Java, Python, data stores like Cassandra, DynamoDB, Redis and MQs like Kafka.
  • Deep, industry leading expertise in one or more technology domains and are the "go-to" person for one or more areas of their business.
  • A track record of building large-scale, highly-available systems that solve complex, organizational level business problems.
  • Expert and hands-on understanding of fault-tolerant systems and multi-datacenter/cloud architectures.
  • Passion for driving continual improvement initiatives on engineering best practices like coding, testing or monitoring.
  • Excellent written and verbal communication skills, including the ability to write detailed technical documents.
  • Passionate about helping teams grow by inspiring and mentoring engineers.


Bonus Points If


  • Deep, industry leading expertise in one or more technology domains.
  • Built large scale projects with stream processing and batch processing.
  • Implemented complex regulatory compliance projects successfully.
  • Experience working in the Fintech industry.



What You’ll Need
  • 10 Minimum Years of Experience with Distributed Systems, Payments


About the Team

You will have a direct impact on the movement of money in and out of the company. This means that riders, eaters and more will experience timely and accurate collections, and partners and restaurants will receive timely and accurate disbursements. We are a cutting edge payments engineering team empowered to further accelerate the incredible growth of Uber through money-movement innovations. If that sounds awesome to you then you should join our team, whether or not you have any previous payments experience.


At the core of the magical Uber experience is the seamless and frictionless payment at the end of the ride.  Uber Money processes many millions of payment transactions per day, 24 hours per day, 7 days a week, all around the globe.  On a weekly basis, we pay out to over a million driver partners in over 600 cities around the world. Needless to say, we operate at incredible scale.


Creating engineering solutions for our customers and partners is rewarding because we know we make every experience better by providing a world-class Payment Platform  experience. In addition to ensuring you have a magical experience with Uber, we also have a huge impact on Uber's bottom line.

Apply for the job

Subscribe to our blog.


Blog & Newsletter Signup