Senior Software Engineer: Stateful Deployment Platform
About the Role
The Stateful Deployment Platform team builds 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.
A Bit About Us
We manage 10,000s of hosts with petabytes of storage across multiple geographical regions with availability zones in both Uber's own data centers, AWS and GCP. 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, Palo Alto, Seattle, New York and Vilnius.
What the Candidate Will Need / Bonus Points
A typical senior engineer in our team fits the following profile. We expect you to have similar traits.
- 5+ years of professional software development experience
- BS, MS or PhD degree in computer science, similar technical field of study or equivalent practical experience
- Excellent coding abilities
- Experience in designing and building world-class software
- Love building distributed systems at (very) large scale
- Experience with database and storage technologies and know the tradeoffs between them
- Strong Linux experience, networking protocols, Linux tools and libraries
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.
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.