At Uber, we ignite opportunity by setting the world in motion. We take on big problems to help drivers, riders, delivery partners, and eaters get moving in more than 600 cities around the world.
We welcome people from all backgrounds who seek the opportunity to help build a future where everyone and everything can move independently. If you have the curiosity, passion, and collaborative spirit, work with us, and let’s move the world forward, together.
About the Role
Uber's Core Infrastructure team is seeking experienced software engineers to help create the future of urban transportation. Sound 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 data-centers and rethinking queueing systems that now handle hundreds of millions of jobs. Peak load is still a bit crazy 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-centers 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
Manage scale & reliability. Our solutions support Uber's always-on marketplace. Maintaining this platform at scale requires constant investment in security, reliability and monitoring tooling.
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.
Experience in building distributed and concurrent systems, knowing the tradeoffs between stateful/stateless and synchronous/asynchronous architectures.
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.
Bonus Points If
Experience with multiple programming languages and data stores. We use programming languages like Go, Java, Python, data stores like Cassandra, DynamoDB, Redis and MQs like Kafka.
Experience working in systems handling high volume financial transactions.
Migrated services between microservices and monoliths and understand the practical tradeoffs of one architecture versus the other.
Built large scale projects with stream processing and batch processing.
Some examples of work done by the Aarhus Engineering office:
En Uber no solo aceptamos la diferencia; la celebramos, la apoyamos y la valoramos para beneficio de nuestros empleados, de nuestros productos y de nuestra comunidad. Uber se enorgullece de ser un lugar de trabajo con igualdad de oportunidades y es un empleador de acción afirmativa. También estamos comprometidos con el empleo en igualdad de oportunidades sin considerar raza, color, origen familiar, religión, sexo, origen nacional, orientación sexual, edad, ciudadanía, estado civil, condición de discapacidad, identidad de género o estado de Veterano.