Skip to main content
Uber CareersUber Careers

Backend Software Engineer - Foundations (Vilnius)

Backend, Engineering
in Vilnius, Lithuania

Uber has become an integral part of people's lives and it is critical that the systems that power the platform are always available to everybody in the world. Uber continues to expand into new cities and its growth and popularity present interesting challenges for managing the change in scale with the pace of innovation. We are looking for engineers that are able to apply the principles and discipline of robust distributed systems to solve operational challenges, while enhancing developer productivity and maintaining operational simplicity.


You will be part of a team of engineers with a healthy mix of systems and software engineering skills, 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, you should definitely join our awesome SRE team.


A Site Reliability Engineer is a Software Engineer with strong systems and operational skills in one or more functional domains, where the domain may range from Databases to Networking. Most importantly, they have a passion in designing and maintaining highly reliable systems. Empirically, strong engineers with this skillset and passion tend to be a rare and selective breed.


As a member of Foundations SRE, you'll have free reign over Uber on-premise and Cloud infrastructure. You will be responsible to deliver and maintain the best IaaS (Infrastructure as a Service) platform in the World. Infrastructure automation, inventory management, change management, ensuring 99.99% uptime, high availability, capacity and scalability - this what we do every day at large scale.

What you'll do:

  • Partner with fellow engineers to architect and build mission critical software and systems that can stand the test of scale and availability, while limiting operational overhead.
  • Drive efficiencies in systems and processes: capacity planning, configuration management, performance tuning, monitoring and root cause analysis.
  • Participate in an oncall rotation and be available for escalations.

What you'll need:

  • BS or MS in Computer Science or a related technical discipline. Equivalent practical experience is a reasonable substitute.
  • Experience with AWS, GCP or Azure
  • Good programming skills at least in one of Go, Java, C/C++, Python, .NET, PHP and an ability to pick up new ones.
  • Expert level Linux knowledge and a good understanding of its fundamentals and internals: kernel, filesystems, modern memory management, threads and processes, the user/kernel-space divide, network stack, etc.
  • A good understanding of large-scale distributed systems in practice, including multi-tier architectures, application security, monitoring and storage systems.
  • Configuration management knowledge: Puppet, Chef, etc.
  • Good scripting skills of at least one of bash, perl, etc.
  • Working knowledge of the TCP/IP stack, internet routing and load balancing.

Be sure to check out the Uber Engineering Blog to learn more about the team.

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.

Uber is an equal opportunity employer and enthusiastically encourages people from a wide variety of backgrounds and experiences to apply. Uber does not discriminate on the basis of race, color, religion, sex (including pregnancy), gender, national origin, citizenship, age, mental or physical disability, veteran status, marital status, sexual orientation or any other basis prohibited by law.