Software Engineer II - Discovery and Monetization
Role details
Job location
Tech stack
Job description
Collaborates with stakeholders within the team to build and maintain backend services and solutions to support user-facing products.
About the Team (We are hiring for multiple teams)
Uber is changing the way people think about transportation. Whether it's a ride, a sandwich, or a package, we use technology to give people what they want, when they want it.
We're looking for engineers to join our team to help grow UberEats business that enables eaters to discover new food items/restaurants/grocery items and restaurants to grow their customer base. You'll work with teams behind apps used by millions globally every day. In hundreds of cities, people tap their phones to get a ride, get food delivered, or earn extra cash with Uber; we're looking for engineers that can help us ensure every one of those experiences is magical.
UberEats ads business enables eaters to discover new foods, and restaurants to grow their customer base. You'll work with teams behind apps used by millions globally every day and be a part of the technical foundations of a new product.
Partners with stakeholders and leads team efforts to build and maintain backend services and solutions to support user-facing products, downstream services, or infrastructure tools and platforms used across Uber.
What You'll Do
- Design, develop, and maintain robust and scalable software solutions
- Collaborate with product managers, cross-engineering teams, data scientists and other partners to gather requirements and translate them into technical specifications
- Identify opportunities and lead of the entire development lifecycle end-to-end, from architecture design and coding to deployment
- Conduct thorough code reviews, offering constructive feedback to maintain high code quality and elevate coding standards
- Stay up-to-date with the latest technologies and industry trends, evaluating their potential impact on our software systems and recommending appropriate integrations or improvements
Requirements
- Bachelor's degree or equivalent in Computer Science, Engineering, Mathematics or related field with at least 2 year of full-time Software Engineering work experience OR PhD in Computer Science, Engineering, Mathematics or related field
- Proficiency in at least one programming language such as Java, C++, Python, or Go
- 3+ years of experience with backend development, building and delivering end-user products., * Master's degree or higher in Computer Science, Engineering, Mathematics or related field
- More than 3 years of full-time Software Engineering work experience
- Proven experience building highly available distributed systems (at Uber scale) and working across multiple backend services
- Experience working on scalable backend systems utilizing a microservices architecture
- High bar for quality as demonstrated by code reviews, documentation, unit and integration testing
- Experience with optimization techniques and algorithmic development
- Strong problem-solving skills, with expertise in algorithms, data structures, and complexity analysis
Uber's mission is to reimagine the way the world moves for the better. Here, bold ideas create real-world impact, challenges drive growth, and speed fuels progress. What moves us, moves the world - let's move it forward, together.