About the Role
We build Uber’s infrastructure to deploy and run all database engines and other stateful systems such as MySQL, Schemaless, Redis, ZooKeeper, Kafka and HDFS globally for all of Uber worldwide. Our mission is to run all Uber's storage solutions at scale, with high-availability, low cost, and high level of automation. All changes are automated (or self-healing) such as doing kernel upgrades, handling host failures or expanding storage clusters.
We manage around 100,000 hosts, millions of containers and exabytes of storage across multiple geographical regions with availability zones in both Uber’s own data centers and multiple cloud vendors. Databases are dockerized and co-located on hosts with intelligent placement to optimize utilization and failure domain anti-affinity to maximize efficiency and reliability. Services are written in Go with a strong focus on clean, readable code with unit and integration test coverage. All code changes are peer-reviewed.
We have great opportunities ahead to extend the integrations with the different database engines and to increase fleet-wide efficiency by optimizing scheduling, auto-scaling and resource forecasting. We strive to automate all operations that are currently handled by on-call engineers with the end goal of having a fully self-healing system - without compromising on availability or reliability.
Our team consists of a healthy combination of both junior and senior engineers with a broad range of experiences across the industry. We value ideas over hierarchy, getting things done and having a measurable impact on the business. We work closely with our stakeholder teams in San Francisco, Sunnyvale, Seattle, New York and Bangalore.
Basic Qualifications
- A typical engineer in our team fits the following profile. We expect you to have similar traits.
- Self driven, team first, strong ownership.
- 5+ years of professional software development experience.
- BS, MS or PhD degree in computer science, similar technical field of study or equivalent practical experience
- Background in multiple programming languages, e.g., Go, Java, Python, etc.
- Attention to detail, particularly around software engineering fundamentals, testing methodologies, and quality.
Good verbal and written communication skills. Experience writing design. documents, documentation, post mortems, etc.
Preferred Qualifications
- Experience building large distributed systems
- Experience with running critical systems in production, how to monitor them and handle incidents.
- Experience with containerization software such as Kubernetes or Docker.
- Experience with database and storage technologies and know the tradeoffs between them.
- Comfortable working with on-prem and cloud-based infrastructure (AWS, GCP).
- Experience with Linux development
What the Candidate Will Do
You will help build large scale software solutions to ensure Uber that are reliable and efficient - in a team to people that want you to grow and succeed. Examples of what it means to be an engineer in our team:
- Design reliable solutions to solve business use cases in a highly distributed system.
- Implement solutions in Go with a strong focus on clean, readable code with unit and integration test coverage - and run it in production.
- Actively drive collaboration across multiple teams to create alignment and progress.
- Take active part in code change peer-reviews to ensure quality and knowledge sharing across the team.
- Contribute to engineering culture in terms of quality, monitoring and on-call practices.
- Own part of the team’s charter and through that help setting longer term direction for the team.
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.
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.
\*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 [accommodations@uber.com](mailto:accommodations@uber.com).