About the Role
- - - - What the Candidate Will Do ----
- Build sophisticated solutions for merchants and scalable distributed systems and technologies to enable Uber to grow its business globally.
- Contribute to the Android monorepo on core Uber flows, building core components and user-facing experiences by designing, implementing and maintaining scalable, robust, distributed systems that support user-facing products.
- Directly participate in the making of important business decision, in collaboration with Product, Design and Data Science, and building the technical capabilities to support them
- Work closely with backend engineers and cross-platform developers
- Drive adoption of the best methodologies in code health, testing, and maintainability.
- Implement native UI with the latest Android/Backend technologies
- Come up with the right architecture and design for ideas and experiments to scale quickly.
- Apply software experimentation philosophy, setting up A/B experiments for hypothesis testing.
- Build instrumentation in the experiments, understand, mine insights, and investigate these to help product with data-driven decisions from experimentation.
- Monitor and measure launched products and feed learnings back into the product development process.
- Extend scope beyond Android development
- - - - Basic Qualifications ----
- 6+ years of full-time Android engineering work experience with solid understanding of Android SDK, different versions of Android, and how to deal with different screen sizes
- Proficiency in Kotlin and Java
- Proficiency in object oriented programming, MVC architecture, multithreading, networking, offline storage, memory management and source control management (git)
- Familiarity with RESTful APIs to connect Android applications to back-end services
- Solid understanding of Android UI design principles, patterns, and best practices
- Knowledge of the open-source Android ecosystem and the libraries available for common tasks
- Familiarity with cloud message APIs and push notifications
- A knack for benchmarking and optimization
- Understanding of Google’s Android design principles and interface guidelines
- Strong focus on high-quality mobile UI experiences. Experience with UI/UX paradigms to build sophisticated user experiences
- Experience working with product and design teams
- Experience analyzing a feature in production using analytics and experiments
- Experience with Unit Testing, testing frameworks and best practices
- Ability to understand business requirements and translate them into technical requirements
- Full professional proficiency English language skills to work with other engineers and stakeholders from different regions around the world
- - - - Preferred Qualifications ----
- Knowledgeable in Reactive programming (RxJava),, Kotlin coroutines and Dependency injection.
- Comfortable working within the coding conventions of a large engineering organization and working in a large and sophisticated code base with many contributors
- Advanced Degree: Master's or Ph.D. in computer science, engineering, data science, or a related field.
* Accommodations may be available based on religious and/or medical conditions, or as required by applicable law. To request an accommodation, please reach out to .