Sr Software Engineer, Stateful Container Management
Uber
Software Engineering
Aarhus, Denmark · Central Denmark Region, Denmark
Posted on Friday, March 31, 2023
About The RoleWe 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.
A Bit About UsWe 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.
What You'll Need
- A typical 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
- Background in multiple programming languages, e.g., C/C++, Python, Go, etc.
- Attention to detail, particularly around software engineering fundamentals, testing methodologies, and quality.
- Experience with Linux development
- Experience with large distributed systems.
- Experience with containerization software such as Kubernetes, Docker, Mesos.
- Comfortable working with on-prem and cloud-based infrastructure (AWS, GCP).
- Experience with database and storage technologies and know the tradeoffs between them.
See more open positions at Uber
Something looks off?