About the Role
At Uber’s Programming Systems Group (PSG), we develop programming language (PL) techniques to enhance developer productivity and make our systems efficient and reliable. We leverage novel work on compiler optimizations, static and dynamic program analysis, performance tooling and optimizations, and generative AI as applied to developer tooling.
PSG members focus on solving real problems at scale for Uber developers across all languages and platforms. The team has a track record of innovative PL research (publications in PLDI, OOPSLA, ICSE, FSE, ASPLOS, CGO) and cutting-edge industry-standard open-source tools.
You will help delight our engineering teams, and redefine the standard for developer tooling through innovative work in compilers and program analysis. This includes (but is not limited to):
- Static analyzers / pluggable type systems
- Dynamic analysis tools (e.g., for concurrency bug detection)
- GenAI-powered and rules-based program repair and code refactoring
- Profile-guided compiler optimizations
- Performance measurement, analysis, and optimization tools
If you enjoy enabling large engineering organizations to be productive, discussing anything from applications to micro-architectures and algorithms to kernels, and you measure the success of your projects in “nines”, we would like to talk to you.
What the Candidate Will Do ----
Uber’s developer platform org’s mission is to enable Uber developers to build high-quality software consistently and without frustration.
To this organization’s mission the Programming Systems Group brings a team of Ph.D. engineers with experience in program analysis and compilers who are passionate about delivering real-world solutions for engineering teams at scale. Our strategic focus is on finding opportunities where specialized PL/static analysis/compiler optimization solutions can be used to solve developer pain points and deliver on company priorities through efficiency improvements, automation, or increased reliability through tooling.
Through the platforms and tools we own, we want Uber developers to focus on the product experience, without having to worry about ‘how’ things work under the covers, all while redefining developers’ expectations about the capabilities of their development environment, as well as the performance and reliability of our services and applications.
---- Basic Qualifications ----
- Bachelor’s Degree or equivalent in Computer Science, Engineering, Mathematics or related field AND 3+ years full-time Software Engineering work experience prior to Engineering Management experience AND 1 + years full-time Engineering Management work experience, INCLUDING
- experience setting roadmap and goals for the engineering team and leading engineering projects from planning through review stages.
- experience consulting with key partners, maximizing engineering resources, using measurable metrics and/or KPIs, and collating technical artifacts to make key engineering decisions.
- experience ensuring delivery by allocating engineering talent effectively to achieve engineering deliverables, empowering engineers, and maintaining productivity.
- experience hiring, team building, performance management, mentorship, and employee development.
-
experience advocating engineering best practices and driving engineering excellence within their team and organization.
-
AND INCLUDES professional industry exposure to and/or experience in one or more of the following areas:
-
programming languages, compilers, software engineering or related areas.
-
Note the 3 years total of specialized software engineering experience may have been gained through education and full-time work experience, additional training, coursework, research, or similar (OR some combination of these). The years of specialized experience are not necessarily in addition to the years of Education & full-time work experience indicated.
---- Preferred Qualifications ----
- Highly preferred: Ph.D. in Computer Science or a related discipline, or equivalent experience.
- 5+ years managing global cross-functional engineering teams in a hyper-growth environment.
- 5+ years of experience developing software
- Significant research experience in programming languages, compilers, software engineering or related areas.
- A strong ability to architect and design robust, high-scale systems and to challenge engineers to think bigger and more generically in developing their solutions.
- Experience going through the full software cycle from requirements, design, coding, testing, continuous integration, delivery, and ongoing management of world-class software and services.
- Metrics, data and results-oriented approach
- Previous experience with building platforms and developer tools or similar technologies and influencing adoption across groups and industries.
- Familiarity with LLVM, Javac Plugin APIs, JVM internals, Linux performance tools, and similar technologies
- Familiarity with Bazel and other hermetic build solutions
- Programming experience in Go
For San Francisco, CA-based roles: The base salary range for this role is USD$218,000 per year - USD$242,000 per year.
For Seattle, WA-based roles: The base salary range for this role is USD$218,000 per year - USD$242,000 per year.
For all US locations, you will be eligible to participate in Uber’s bonus program, and may be offered an equity award & other types of comp. You will also be eligible for various benefits. More details can be found at the following link https://www.uber.com/careers/benefits.
Uber is proud to be an Equal Opportunity/Affirmative Action employer. All qualified applicants will receive consideration for employment without regard to sex, gender identity, sexual orientation, race, color, religion, national origin, disability, protected Veteran status, age, or any other characteristic protected by law. We also consider qualified applicants regardless of criminal histories, consistent with legal requirements. If you have a disability or special need that requires accommodation, please let us know by completing this form.
Offices continue to be central to collaboration and Uber’s cultural identity. Unless formally approved to work fully remotely, Uber expects employees to spend at least half of their work time in their assigned office. For certain roles, such as those based at green-light hubs, employees are expected to be in-office for 100% of their time. Please speak with your recruiter to better understand in-office expectations for this role.