Senior Software Engineer at Uber
ABOUT THE ROLE:
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.
ABOUT THE TEAM:
The goal of the fulfillment foundations team is to build, maintain and optimize the foundational services/frameworks on top of which the Uber's core fulfillment flow is built. Some of the critical services/frameworks that this team develops and supports are: Google Cloud Spanner, Fulfillment Events Workflow, Java/Go Frameworks for Fulfillment Services, etc. The services and frameworks that this team owns are used by 100s of engineers across the company. We directly support Uber Rides, Uber Eats, Uber Freight and many more experimental products.
This team is part of the Marketplace Org which is the real-time decision-making and systems behind Uber (ex: matching riders/drivers, pricing, fulfillment). We develop systems that can recover from business failures, monitor conformance, develop complex user state machine flows to unlock new product lines in the company.
- Technical Competency: Maintains and applies thorough and up-to-date knowledge to build and maintain backend services and solutions to support user-facing products, downstream services, or infrastructure tools and platforms used across Uber, which could include developing and maintaining large-scale multi-tenant services and/or customized solutions based on existing backend infrastructure; monitoring on-prem or cloud-hosted software and infrastructure operations and detecting outages/issues in network or server environments; identifying, analyzing, and resolving system availability, reliability, and performance issues. Serves as a domain resource inside and outside their own team. Improves Uber standards and leads the adoption of Uber and industry standards within the team or project.
- Coding: Writes high-quality code (i.e., reliable, readable, efficient, testable), provides quality code reviews, and creates comprehensive tests and quality documentation to solve complex problems that are not well-defined and span multiple areas or projects. This includes knowledge of data structures, algorithms, programming and associated programming languages and frameworks, and major phases/activities of the software research and development life cycle (e.g., requirements, design, build, experiment, test, debug, deploy, monitor). Monitors, reports, and ensures resolution of complex technical problems according to standards and best practices.
- Design & Architecture: Partners with stakeholders to understand customer and/or business requirements. Translates requirements into effective design documents to address clearly defined business or technical problems. Provides expertise to make trade-off decisions between short-term results and long-term goals.
- Efficiency & Being a Force Multiplier: Creates and promotes efficiency and speed within the team by leveraging and improving existing solutions, developing extensible solutions, and reconciling gaps and redundancy within the team. Identifies opportunities and advocates for better performance and efficiency of the team's software and systems.
- Operational Execution: Manages and executes ambiguous technical projects and solutions with drive and appropriate sense of urgency to deliver technical and business impact within the team. Plans, organizes, and manages tasks, resources, and timelines within the team to accomplish work accurately and on time. Defines and diagnoses ambiguous problems and determines an appropriate solution, recommendation, or decision while logically evaluating alternatives and factors (e.g., resources, costs, tradeoffs). Anticipates roadblocks and develops strategies to mitigate risk.
- Collaboration: Listens to and supports ideas/opinions of others from diverse backgrounds and experiences. Proactively builds and maintains collaborative and trusting relationships with multiple stakeholders within the team. Recognizes conflict or disputes among people and situations; mediates open communication of different points of view to resolve conflicts and meet shared goals. Provides constructive and actionable feedback to others to help improve the entire team.
- Citizenship: Enhances the effective functioning of Uber by participating in and promoting activities and efforts that contribute to the engineering and/or people culture in the team such as mentoring junior engineers. Represents the team to the broader community through participation in internally- and/or externally-focused engagements (e.g., tech talks, open source, conferences, team building).
- PhD or equivalent in Computer Science, Engineering, Mathematics or related field OR 3-years full-time Software Engineering work experience, WHICH INCLUDES 2-years total technical software engineering experience in one or more of the following areas:
- Programming language (e.g. C, C++, Java, Python, or Go)
- Note the 2-years total of specialized software engineering experience may have been gained through education and full-time work experience, additional training, coursework, research, or similar (OR some combination of these). The years of specialized experience are not necessarily in addition to the years of Education & full-time work experience indicated.
- Product engineering
- Scalability engineering
- Distributed systems
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 10,000 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.
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.