Job Description
Industry: Internet Marketplace Platforms
Seniority for this role: Not Applicable
Engineering at Uber Under the hood of the Uber platform is a large-scale, microservice-based architecture that facilitates the reliability and scalability of our products. The Platform organization at Uber is responsible for keeping all Uber products Up & Running flawlessly. This encompasses thousands of microservices running all of Uber’s business logic for handling trips, food orders, and more. The organization spans across multiple subteams such as Core Platform, Developer Platform, Fleet Reliability, and Service & Deployment. If you find yourself dreaming of a new job with large-scale infrastructure management, then we have about 1 million containers across 100,000 hosts waiting for you to lean in. What You’ll Do Staff engineers at Uber have a deep impact across a wide variety of business and technology decisions spanning multiple projects and locations. They are passionate and pragmatic technologists who are able to design, implement and deliver scalable and resilient systems. They are not only collaborative role models, but also approachable thought leaders within a larger group. They are humble teachers, technically mentoring a team of talented engineers while also executing on delivering uniquely challenging projects. Lead multiple high-impact cross-functional projects from conception to completion. Provide insight into new technologies and work with the team to make architectural design decisions. Implement new features while prioritizing security, user experience, modern design, high availability, and scalability Collaborate with other infrastructure teams, production engineer team and product manager to support engineering fundamental programs and drive adoption Communicate and collaborate with other teams, both technical and non-technical Mentor and train junior developers Bring a passion for the creativity and discipline that goes into development with cloud technologies! Basic Qualifications 8+ years of professional software development experience. BS or higher degree in Computer Science, or a related technical field, or equivalent experience. Backend: Proficient in one or more backend languages, like Java, Go, C/C++, C#, with the ability to pick up new ones quickly. Excellent coding abilities. Strong problem-solving skills, with relevant experience in implementing large-scale distributed backend services. 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. A phenomenal teammate approach: You believe that you can achieve more on a team – that the whole is greater than the sum of its parts. You rely on others’ feedback for continuous improvement. Understanding of business and design requirements, whether you’re working on an API used by other developers, an internal tool consumed by our operation teams, or a feature used by millions of customers, your attention to detail leads to a delightful user experience. High coding standards (TDD, Clean Code) Preferred Qualifications Knowledge of scalable storage and distributed systems. For example, you understand the tradeoffs of different sharding and replication strategies; you can reason about data consistency in a distributed environment. Experience analyzing, monitoring, and solving large-scale, high-traffic distributed systems. Excellent written and verbal communication skills, including the ability to write detailed technical documents. Show more Show less