Job Description
About the Role
Many drivers rely on Uber as their primary and flexible earnings source. To deliver on our value proposition as a flexible earnings platform, it is critical we reliably and clearly communicate what has been, and could be, earned to each and every driver on the platform. Information about earnings is the foundation by which drivers are able to set and track their goals and make tradeoffs about when and where to drive.
As part of the earnings reliability team, you will have direct responsibility for vital systems and processes. You will take ownership of key features and initiatives in crafting and building high quality, scalable systems in making earnings reliable and efficient. Your work will directly impact the lives of Uber's partners (drivers, couriers), riders, eaters, and operations teams across the globe.
Want more jobs like this?
Get Software Engineering jobs in Amsterdam, Netherlands delivered to your inbox every week.
What You'll Do
- Detailed understanding of service architecture. Contribute to the Android monorepo on core Uber flows enabling earnings experiences. Write quality code and documentation
- Solve complicated problems with groundbreaking design and algorithms.
- Work closely with backend engineers and cross platform developers to build Driver earnings experience.
- Drive adoption of the best methodologies in code health, testing, and maintainability.
- Jam with Product, Design and Research teams to understand product ideas and business needs and help deliver these as a series of experiments
- Implement native UI with the latest Android/Backend technologies
- Come up with the right architecture and design for ideas and experiments to quickly scale.
- Good understanding of software experimentation philosophy in the earlier work with understanding of setting up A/B experiments for hypothesis testing.
- Build instrumentation in the experiments, understand and mine insights and investigate these to help product with data driven decisions from experimentation.
- Work with smart, inclusive and motivated teammates in a fast-paced, collaborative environment.
Basic Qualifications:
- Graduated from a relevant degree (B.Sc, M.Sc) in Computer Science or related technical field or equivalent practical experience within last two years.
- Passionate about high-quality mobile UI experiences and Android SDK.
- Familiarity with RESTful APIs to connect Android applications to back-end services and basic understanding of Android UI design principles, patterns, and best practices.
Preferred qualifications:
- Knowledgeable in Reactive programming (RxJava), Kotlin and Dependency injection.
- Experience in Android engineering.
- Experience in object oriented programming, MVC architecture, multithreading, networking, offline storage, memory management and source control management (git).
- Understanding of Google's Android design principles and interface guidelines.
- Knowledge of the open-source Android ecosystem and the libraries available for common tasks.
- Familiarity with cloud message APIs and push notifications.
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.
Offices continue to be central to collaboration and Uber's cultural identity. Unless formally approved to work fully remotely, Uber expects employees to spend at least half of their work time in their assigned office. For certain roles, such as those based at green-light hubs, employees are expected to be in-office for 100% of their time. Please speak with your recruiter to better understand in-office expectations for this role.