Software Engineer - Backend (Aarhus, Denmark)

Uber Overview

About Uber

Uber is a technology company that is changing the way the world thinks about transportation. We are building technology people use everyday. Whether it's heading home from work, getting a meal delivered from a favorite restaurant, or a way to earn extra income, Uber is becoming part of the fabric of daily life.

We're making cities safer, smarter, and more connected. And we're doing it at a global scale-energizing local economies and bringing opportunity to millions of people around the world.

Uber's positive impact is tangible in the communities we operate in, and that drives us to keep moving forward.

Job Description

Uber's Core Infrastructure team is seeking experienced software engineers to help create the future of urban transportation. Sounds interesting? Read on!

We are responsible for the infrastructure software that makes Uber's data-centers around the world highly reliable and scalable. We've built the foundation of a highly cohesive, loosely coupled service-oriented architecture that is going to propel us into the next 100x growth levels - which will come pretty soon, considering that we're doubling in size every six months.

We are partitioning data processing pipelines across multiple hot datacenters and rethinking queueing systems that now handle hundreds of millions of jobs. Peak load is still a bit stressful for us, but we're hard at work developing the next generation platform that will scale with grace and can be operated with ease.

The Core Infrastructure team is building systems for consumption by all the other engineering teams at Uber. We're setting best practices and helping other teams architect better solutions, and we're not afraid to get into the nitty-gritty.

What you'll do

  • Be part of the Core Infrastructure team working the software that makes Uber's global data-centres highly reliable and scalable.
  • Build systems for consumption by all the other engineering teams at Uber. Setting best practices and helping other teams architect better solutions.
  • Re-thinking and re-architecting systems which handle millions of jobs.
  • Work with next-generation technology to build the foundations that will propel us into the next 100x growth levels

What you'll need

  • Excellent coding abilities. You have advanced knowledge of at least one programming language, and are happy to learn more. Our core languages are Python, Go and Java.
  • Ability to learn on the go. We're looking for software engineers who quickly pick up new technologies or new APIs. You keep yourself up-to-date with the latest technological trends. You're constantly on the lookout for opportunities to try out new things.
  • Scalability. You understand computers and what happens when a lot of them get together in a room. We're developing cross-datacenter, multi-master systems. We need engineers who think about monitoring, fault-tolerance, durability, and scalability.
  • Monitoring skills. Experience with code optimization, run-time analysis and systems architecture. We measure and analyze pretty much everything.
  • Architecture skills. Knowledge of data structures and an eye for architecture. You can discuss the tradeoff between architectural choices, both on a theoretical level and on an applied level.
  • Passion. You feel ownership over everything you ship. You'd never call code "released" until you're satisfied it's correct. You pride yourself on efficient monitoring, thorough documentation, and proper test coverage.
  • Excellent coding abilities. You have advanced knowledge of at least one programming language, and are happy to learn more. Our core languages are Python, Go and Java.
  • Ability to learn on the go. We're looking for software engineers who quickly pick up new technologies or new APIs. You keep yourself up-to-date with the latest technological trends. You're constantly on the lookout for opportunities to try out new things.
  • Scalability. You understand computers and what happens when a lot of them get together in a room. We're developing cross-datacenter, multi-master systems. We need engineers who think about monitoring, fault-tolerance, durability, and scalability.
  • Monitoring skills. Experience with code optimization, run-time analysis and systems architecture. We measure and analyze pretty much everything.
  • Architecture skills. Knowledge of data structures and an eye for architecture. You can discuss the tradeoff between architectural choices, both on a theoretical level and on an applied level.
  • Passion. You feel ownership over everything you ship. You'd never call code "released" until you're satisfied it's correct. You pride yourself on efficient monitoring, thorough documentation, and proper test coverage.

Some examples of work done by the Aarhus Engineering office:

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

Perks

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.


See Inside the Office of Uber


Back to top