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 data-centers 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-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
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 https://uber.icims.com/icims2/servlet/icims2?module=AppJob&action=jobEdit&id=13640&tab=RQ_MAIN&hashed=-200234831#!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.