Senior Backend Software Engineer, Earner Payments
Role details
Job location
Tech stack
Job description
Millions of earners around the world rely on Uber as their primary and most flexible source of income. At the heart of that experience is getting paid accurately, reliably, and on time. Earner Payments is the foundation of trust between Uber and our driver and courier partners. To deliver on our promise as the world's leading flexible platform, we must ensure that every trip, every delivery, and every incentive is seamlessly credited to an earner's preferred payment method, without delays.
As a Senior Software Engineer with Earner Payments, you will work with a team that owns and scales some of Uber's most mission-critical systems. From building resilient payment pipelines to enabling fast, flexible payout options, your team will make payments reliable, efficient, and trustworthy at a global scale. The systems you build will directly impact the financial well-being of millions of earners and the operations teams that support them.
What You'll Do
- Build elegant backend platform components for high-throughput and low-latency distributed systems.
- Solve challenging problems with cutting-edge design and algorithms.
- You will work with others in the team to maintain the health of our systems and code base, keep development hygiene, refactor and make improvements, and keep our systems robust and resilient.
- Drive adoption of best practices in code health, testing, and maintainability.
- Analyze and decompose complex software systems and collaborate with cross-functional teams to influence design for scalability and testability.
- Work with smart and motivated teammates in a fast-paced, collaborative environment.
Requirements
Do you have experience in Scalability?, 1. 6+ years of backend software engineering experience with Strong CS fundamentals.
- Extensive software design and development skills. Ability to learn, adapt to new technologies, and contribute in a productive environment.
- Expertise in one or more object-oriented programming languages (e.g. Java, Golang, Python).
- Experience with production-quality services, deployment, monitoring, and reliability.
- Background in distributed storage and database systems (SQL or NoSQL, e.g. MySQL, Cassandra).
- Ability to decompose complex problems into clean, extensible, performant services and systems.
- Self-driven to identify opportunities to make things better and efficient.
- Thoughtfulness. High adaptability. A willingness to learn.
- Experience mentoring team members & being a trusted advisor
- A team player attitude. You believe that you can achieve more on a team - that the whole is greater than the sum of its parts. You rely on others' candid feedback for continuous improvement, and you help others by returning the favor.
Bonus points
- You have prior experience working on features end-to-end, including frontend, backend, and database.
- Background in building high-performance, scalable distributed systems.