Sr Software Engineer (Architect), iOS - Developer Platform
About the Role
Uber Mobile infra is at a critical expansion point, we are making a huge impact on making our mobile apps and backend services more reliable and fault-free. We are trying to reduce mobile app release latency. We are investing in innovative systems to bring our mobile Apps to give our end users the best user experience possible and to scale. Our Mobile teams are supporting hundreds of engineers and tens of thousands of users every day.
As one of our first mobile engineers in BLR, you will be critical in building out the next generation of infrastructure scale our systems to the next 5 years and more. We will provide a platform for you to explore and build out cutting edge system at Uber, and across the whole automation industry.
We are looking for experienced Mobile Engineers who has experience in mobile App development and mobile infra field to work on high impact projects that will greatly increase developer velocity at Uber. If you love writing S.O.L.I.D. framework code that will stand the test of time, and enjoy the freedom to do things the "right way", then this is your team. We will be focusing on app performance, mobile architecture, automation frameworks best practices, building a stable, scalable and maintainable automation system.
What You'll Do
- You will lead and contribute to engineering efforts from design to implementation, solving complex technical challenges around developer and engineering productivity and velocity.
- You will build tooling including mobile test framework, test runners, device management systems, CI pipelines, failure detection and monitoring systems and more.
- Deploy tooling and systems created to CI environment as well as to local development experiences.
- Analyze and decompose complex software systems and collaborate with cross-functional teams to influence design for ease-of-use, scalability, and testability,
- Work closely with iOS, Android, release and backend engineers to design cross-platform solutions.
- Collaborate with different program teams working on our applications.
What You'll Need
- 7 Plus Years Full-Time, Professional Software Development Experience
- Strong expertise in Swift and Objective-C
- Solid computer science foundations in data structures, algorithms, system design
- Strong skills in analyzing system logs and debugging
- Deep understanding of iOS SDKs
You have understanding of latest and cutting edge frameworks on iOS
You have experience in multithreaded programming and excellent memory management know how
- Strong focus on high-quality and maintainable code
- Experience in efficiently collaborating on projects
- High emotional intelligence, empathy, self-awareness, and optimism.
- Great communication skills and an ability to work in a team and with end-users
- Experience with writing, releasing, maintaining mobile applications
Bonus points if
- BS/MS/PhD in Computer Science or a related field
- Experience with bash scripts, python, go, java and other languages
- Experience with Jenkins development or other CI pipeline tools
- Contribute to the wider iOS community via open source
About the Team
Our developer platform group's mission is to Accelerate product velocity by providing a friction-free, integrated development platform to the thousands of engineers who build and improve Uber's various products.
Our developer platform teams are responsible to support all the tools that are used throughout a developer lifecycle. This contains
- Generic developer infrastructure like the code monorepos, build systems, continuous integration, deployment & release and testing systems etc.
- Language platform specific solutions like Mobile & Backed Developer experience and Frameworks etc.
- Platforms like internationalization, developer analytics etc.
Below are the teams under Developer Platform that we are currently hiring Android engineers for
Core Automation Platform (CAP)
We provide a reliable and automated end-to-end testing framework for mobile sanity tests. Our tools allow safeguarding features and preventing regressions for each release and CD build, enabling mobile developers to build reliable Apps quickly.
The mission for the Mobile Release Engineering team is to provide efficient high quality releases with guardrails and visibility for all Uber applications. It's important for Uber that we safely roll out updates to our mobile applications on the Apple and Google stores regularly and efficiently. The release platform is responsible for the insights and automation to perform safe rollouts in a staged manner with efficient mitigation along the way. We will accomplish this by building and extending our platform and tooling across the entire mobile diff lifecycle.
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 600 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.
Uber is proud to be an equal opportunity workplace. We are committed to equal employment opportunity regardless of race, color, ancestry, religion, sex, national origin, sexual orientation, age, citizenship, marital status, disability, gender identity, Veteran Status, or any other characteristic protected by law.