Our engineering culture is the same across all our engineering offices: in Amsterdam, this is no different from San Francisco or our other locations. Amsterdam is one of the largest mobile engineering offices outside of our Bay Area headquarters. As a diverse group, with hardworking people from over 30 countries working together.
Engineers working at Uber are highly autonomous, involved in decisions impacting the business and systems. We have a high bar for engineering quality, which starts with a transparent planning process before we write code - any engineer can get involved here. We have passionate teams building efficient developer tools and keep improving our Android monorepo. We are big on constructive code reviews, accompany business logic with automated tests and have robust deployment and beta testing processes in place. We balance code and architecture quality with good execution speed, supporting the continued growth of Uber.
Mobile architecture for many of the Uber apps is based on the cross-platform RIBs architecture which we have open sourced, several mobile engineers from the Amsterdam office contributing. We write Android code mostly in Java, starting to introduce Kotlin to some codebases. We use Motif for dependency injection, RxJava for asynchronous event based programming and tools like NullAway for advanced static analysis. We frequently share work and learnings on Android and mobile on our engineering blog and our regular Android internal engineering meetings.
What You'll Do
As a Mobile Engineer on the Driver team, you'll:
Write best in class code and contribute to a clean and continuously evolving mobile architecture, many of this based on RIBs.
Work with an energetic and fun group of mobile, backend, frontend engineers, as well as product managers, designers, data scientists, user researchers.
Propose ideas, implement solutions, experiment, and launch your ideas to Uber's millions of users.
Influence other engineers, teams and product managers, impacting the full product lifecycle.
Collaborate with teams in different offices
Keep the bar high on sustainable engineering by following best practices, producing best in class of code, documentation, testing, and monitoring.
What You'll Need
A passion for designing, implementing and shipping beautiful user experiences.
4 or more years of experience with mobile development.
Hands-on knowledge of Android and strong knowledge of Java or Kotlin.
Experience building and shipping consumer-facing products.
A collaborative approach, being open to help team members.
Applied knowledge of software engineering and best practices such as testing, documentation and code reviews.
Good written and verbal communication skills, including the ability to write engineering documents.
About the team
We are a new team, embarking on growing our Driver base by expanding to existing transport ecosystems. With the goal of delivering billions of $ growth for Uber in the next 3 years, you will lay the foundation technology for the team to deliver this bold business critical goal.
You will have the opportunity to work from the ground up, building and scaling systems in a fast paced engineering environment, and therefore ensuring global success. You will get to collaborate with engineers across Uber, to maximize and accelerate delivery of features
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.