Senior Software Engineer, Infrastructure - Seattle
Uber is on the lookout for top-notch software engineers to join our Infrastructure team. This role involves building and managing robust distributed systems to solve infrastructure challenges that delight our quickly growing platform engineering and product engineering teams, enabling the whole engineering organization to iterate at top speed in an open, decentralized environment.
Our systems and infrastructure spans physical data centers and cloud providers. You will be part of a team of strong software and systems engineers, executing in a fast paced environment. If you love working on software products that touch the physical world and want some serious experience under exponential growth conditions, this is it.
Are you among the rare breed of software engineers with a passion for systems, designing and managing highly reliable infrastructure? As a Senior Software Engineer in the Infrastructure team, you will be expected to act as an “engineer for the engineers”. You will be responsible for some of the following areas: infrastructure configuration management, provisioning, deployment automation, capacity management, chaos engineering. You should have a demonstrable ability to debug complicated failures and be able to grok complex systems from high level design all the way down to their syscalls.
- Systems architecture design, including management of upstream and downstream dependencies.
- Provide technical leadership, influence and partner with fellow engineers to architect, design and build infrastructure that can stand the test of scale and availability, while reducing operational overhead.
- Design and deliver software and tools to advance the reliability of infrastructure including availability, performance, efficiency & scaling.
- Drive efficiencies in systems and processes through automation: capacity planning, configuration management, performance tuning, monitoring and root cause analysis.
- Participate in periodic on-call rotations and be available for escalations.
- Collaborate with platform, product and security engineering teams, and enable successful use of infrastructure and foundational services.
- BS or MS in Computer Science or a related technical discipline, or equivalent experience.
- 5+ years of experience building and managing distributed systems. Sound understanding of fundamentals and principles of distributed systems.
- Highly proficient in one of the following programming languages: Go, Java, C/C++, Python, C# and good scripting skills and ability to pick up new ones.
- Systematic problem solving approach and knowledge of algorithms, data structures and complexity analysis.
- Experience with container technologies (Docker, Mesos), and configuration management (Chef, Puppet).
- Experience with a relational database (MySQL, PostgreSQL), caching or queuing systems (Redis, Varnish, Apache Kafka).
- Good working knowledge of networking (TCP/IP).
- Power-user Linux knowledge and willingness to explore Linux internals.
- A good understanding of large-scale distributed systems in practice, including multi-tier architectures, consensus services (ZooKeeper), application security and monitoring systems.
- Experience with a cloud like AWS, Azure or GCP is a strong plus.
- Grit, drive and a strong feeling of ownership coupled with collaboration and leadership.
- Employees are showered with Uber credits each month.
- The rare opportunity to change the world such that everyone around you is using the product you built. We’re not just another social web app, we’re moving real people and assets and reinventing transportation and logistics globally.
- Sharp, motivated co-workers in a fun office environment.
- 401(k) plan, gym reimbursement, nine paid company holidays.
- Full medical/dental/vision package to fit your needs.
- Unlimited vacation policy; work hard and take time when you need it.
We’re bringing Uber to every major city in the world. We need brains and passion to make it happen and to make it happen in style.
Meet Some of Uber's Employees
Community Management Specialist
Brian makes sure that every Uber user has an amazing experience. He troubleshoots roadblocks to customer happiness and also does outreach to attract new Uber users.
Back to top