Software Engineer - Maps Data Store
We're changing the way people think about transportation. Not that long ago we were just an app to request premium black cars in a few metropolitan areas. Now we're a part of the logistical fabric of more than 500 cities around the world. Whether it's a ride, a sandwich, or a package, we use technology to give people what they want, when they want it.
For the people who drive with Uber, our app represents a flexible new way to earn money. For cities, we help strengthen local economies, improve access to transportation, and make streets safer.
And that's just what we're doing today. We're thinking about the future, too. With teams working on autonomous trucking and self-driving cars, we're in for the long haul. We're reimagining how people and things move from one place to the next.
About the Role:
Our team builds large-scale spatial storage systems for map data and also develops algorithms, business logic, and infrastructure for map data. Every day, our systems store, process, and serve billions of objects for thousands of users across the globe. We are looking for a select few, talented, senior software engineers that will help extend and scale these systems to keep pace with Uber's rapidly expanding business.
What You'll Do:
- Help scale throughput of our geo-replicated, spatial database by 100X!
- Develop comprehensive algorithms, logic, and infrastructure to ensure map data fits Uber's unique business needs.
- Enhance a high-impact, geospatial service that serves polygon entities that drive Uber's core day-to-day operations.
- Collaborate with other team members, design, prototype, implement, test, and deploy algorithms or micro-services.
- Work with technologies like Cassandra, ZooKeeper, Mesos, docker, HDFS, Spark, Thrift, and AWS.
What You'll Need:
- Bachelor of Science degree (or higher) in computer science, related field or equivalent practical experience.
- Very strong software engineering skills, supported by 5+ years of industry experience.
- Deep curiosity to learn new technologies, explore new ideas, and passion to implement them.
- Strong written, verbal communication skills; ability to influence others within your team and outside your team.
- Attention to detail, particularly around software engineering fundamentals, testing methodologies, and quality.
- Strong sense of ownership, passion, and initiative to fix problems and optimize systems that are both inside and outside your area of responsibility.
- Willingness and optimism to try new ideas; ability to quickly adapt and learn from mistakes and from other team members.
- Strong work ethic, productivity, and commitment; relentless desire to see projects through to timely completion.
- A belief that your team can accomplish more together than as individuals; ability to accept constructive feedback for continuous self-improvement; dependability - someone who the team can depend on to deliver results.
- Ability to understand the big picture and how your technical contributions will positively impact the Uber business.
Bonus Points If
- You have experience with any of the following: scalable, distributed systems and services; distributed NoSQL data stores like HBase, Cassandra, HDFS, or BigTable; cloud infrastructure like AWS or Azure; messages queues like Kafka; geo-replication and consistency/availability trade-offs; and service-oriented-architectures.
- A passion for working on systems related to maps.
About the Team:
Our team is comprised of software engineers with diverse backgrounds and experiences.
See Inside the Office of Uber
Uber is an on-demand car service that’s shaking up transportation systems around the world. By solving some of the world’s biggest problems, Uber hopes to create a future where there is limitless freedom of movement for people and things across the globe. Through passion, optimism, and curiosity for building solutions, the team at Uber strives to learn together, solve together, build together, and ultimately move the world forward together.
Back to top