Sr Software Engineer – Android, Uber

Sr Software Engineer - Android, Uber

Company Uber
Job title Sr Software Engineer, Android
Job location Hyderabad, India
Type Full Time

Responsibilities:

  • 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

Requirements & Skills:

  • 6+ years of full-time Android engineering work experience with a 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 in English language skills to work with other engineers and stakeholders from different regions around the world
  • 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.

apply for job button