This list contains only the countries for which job offers have been published in the selected language (e.g., in the French version, only job offers written in French are displayed, and in the English version, only those in English).
As a Senior Software Engineer, you will be a critical contributor to Uber’s enterprise platform, building the core platform for automating contracts and invoicing for Uber's large business clients (B2B). Your main challenge will be to take complex, custom deal terms from sales contracts and transform them into standardized, digital data that our systems can easily process. This work directly reduces errors and significantly speeds up payment collections (Account Receivables). You will be responsible for the complete design and implementation of high-scale, mission-critical backend services.
Job Responsibility:
System Design & Architecture: Design and implement new, foundational microservices that ensure the financial accuracy for our B2B business, guaranteeing high performance, fault tolerance, and meeting aggressive reliability standards (SLOs)
Data Standardization & Governance: Define a flexible data structure (a Line-of-Business-agnostic data model) and service contracts to standardize complex commercial terms (like fees, incentives, and commitments) into a single, centralized and reliable system (Single Source of Truth or SSOT)
Core Platform Development: Build and maintain the core platform services for managing the entire lifecycle of a B2B Contract—treating it as the primary data entity—including versioning and secure data storage
Automated Business Logic: Implement complex, rule-based logic to automatically calculate and apply contract-based pricing to internal services (like Fares and Billing), which will eliminate the need for manual invoice adjustments
End-to-End Integration: Lead the technical integration with key upstream systems (like Salesforce) for creating contracts, and with high-volume downstream consumers to ensure financial data flows seamlessly and accurately across the entire process from a sales lead to collecting cash (Lead-to-Cash process)
Requirements:
At least 5-10 years of software engineering experience
Bachelor’s degree in Computer Science, Engineering, Mathematics or related field experience
Proven knowledge of C, C++, Java, Python, or Go is a must-have with at least 3 years of recent experience in either
Nice to have:
Architecture skills: Knowledge of data structures and an eye for architecture. You can discuss the tradeoff between architectural choices, both on a theoretical level and on an applied level
High coding standards (TDD, Clean Code)
Proven track record within a production environment
A phenomenal teammate approach: 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' feedback for continuous improvement
Understanding business and design requirements, whether you're working on an API used by other developers, an internal tool consumed by our operation teams, or a feature used by millions of customers, your attention to detail leads to a delightful user experience