Staff Software Engineer, Stateful Fleet Management
Uber
Software Engineering
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 globally. Our mission at Uber is to run all storage solutions at scale, with high availability, low cost, and a high level of automation. All changes are automated (or self-healing) such as doing kernel upgrades, handling host failures, or expanding storage clusters.
About UsWe run 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 containerized and co-located on hosts with intelligent placement to optimize utilization and failure domain anti-affinity to improve efficiency and consistency. Services are written in Go and All code changes are peer-reviewed.We have vast opportunities ahead to extend the integrations with the different DBMS and to increase fleet-wide efficiency and reliability by optimizing scheduling, auto-scaling, and host local configurations such as CPU-sets, Numa and LVM. 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 customer teams in San Francisco, Palo Alto, Seattle, New York, and Vilnius.
What You Will DoYou will improve your software engineering, systems engineering, hardware/Linux OS/kernel knowledge, cloud knowledge, and infrastructure systems experience to investigate and decipher ambiguous problems in our production fleet while also contributing to planning, new systems design, and improvement of existing systems to enable even greater efficiency and insight.
- Contribute to planning, design and architecture, and building of systems, tooling, and observability in support of reliable workload scheduling, workload discovery, fleet security, host-level insights, and cloud expansion efforts
- Actively drive collaboration across multiple teams to create alignment and progress.
- Implement solutions in Go with a strong focus on clean, readable code with unit and integration test coverage.
- Take an active part in code change peer reviews to ensure quality and multi-functional sharing across the team.
- Contribute to engineering cultivation 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.
- 8+ years of experience
- BS, MS, or Ph.D. 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.
- Strong hands-on experience with Linux investigating and debugging performance problems
- An inherent aim is to collaborate, both within the team and across the organization
- Excellent written and verbal interpersonal skills, and the ability to write detailed design documents, post mortems
- A belief that your team can accomplish more together than as separate individuals
- Attention to detail, particularly around software engineering fundamentals, testing methodologies, and quality
- Experience with the cloud and migration to the cloud is a plus
- Strong understanding of Linux kernel internals, e.g., ability to read and understand kernel code.
- Experience with database and storage technologies such as MySQL, Cassandra, Kafka, and HDFS and knowing the tradeoffs between them
- Experience with large distributed systems.
- Experience with containerization software such as Kubernetes, Docker, and Mesos.
- Comfortable working with on-prem and cloud-based infrastructure (AWS, GCP).
- Accommodations may be available based on religious and/or medical conditions, or as required by applicable law. To request accommodation, please get in touch with accommodations@uber.com.
See more open positions at Uber
Something looks off?