Skip to main content
Uber CareersUber Careers

2020 PhD Software Engineer Internship - Programming Systems

Engineering, University
in San Francisco, California

About the Role

The Programming Systems group at Uber is looking for Ph.D. student interns for the summer of 2020. We seek candidates with a strong background in compilers, program analysis, and / or programming languages.

You will work closely with members of the group on building or extending tools that improve Uber's software reliability, performance, and developer productivity. Most intern projects also involve externalizing the work via open source, blog posts, publications, or talks.

What You'll Do

  • Work with your mentor closely to scope a project, define the problem, and develop and prototype the solution
  • Develop creative and novel solutions to technical problems and implement those solutions
  • Communicate with engineers outside our team to understand the use cases and feasibility of your work, and collaborate on productizing your work
  • Work as appropriate on open sourcing and publishing your work

Sample Projects

  • Build a new static analysis tool to prevent certain classes of bugs
  • Implement new compiler optimizations to improve code performance
  • Develop novel dynamic analysis techniques to detect bugs and performance problems at runtime
  • Build refactoring tools to automatically fix bugs or cleanup code

What You'll Need

  • Ph.D. student (ideally graduating no later than Summer 2023) in compilers, program analysis, and / or programming languages
  • Passionate about writing clean, efficient, and well-tested code
  • Ability to communicate effectively with both technical and business stakeholders

About the team

The Programming Systems group develops tools and techniques to improve performance, reliability, and developer productivity across a variety of programming languages, including Java (mobile and backend), Swift, Objective-C, and Go. The work includes static and dynamic analysis, compiler optimizations as well as performance evaluation and tooling work at the language runtime and OS system levels. We mostly work on open source projects - recent examples include the NullAway (, RxThreadEffectChecker (, Piranha (, and Nanoscope ( We are also active in the research community and aim to publish and participate in top conferences. Further details can be found in our website.

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.