2021 PhD Software Engineer Internship


San Francisco, CA, USA


Dec 9

This job is no longer accepting applications.

The Programming Systems group at Uber is looking for PhD student interns for the summer of 2021. 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 efficiency. Most intern projects also have external visibility via open source, blog posts, publications, or talks.

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, 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 PiranhaOptimistic Concurrency in GoNullAwayExistentialSpecializer, and Nanoscope. We are also active in the research community and publish and participate in top conferences.

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 deep technical problems and implement those solutions
  • Connect with engineers company-wide 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

Basic Qualifications

  • Currently enrolled in a PhD program studying compilers, program analysis, and / or programming languages

Preferred Qualifications

  • Passionate about writing clean, efficient, and well-tested code
  • Ability to communicate effectively with both technical and business stakeholders
  • Publication(s) in top-tier conferences in the areas of program analysis, and/or compilers

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

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.

You must be logged in to to apply to this job.


Your application has been successfully submitted.

Please fix the errors below and resubmit.

Something went wrong. Please try again later or contact us.

Personal Information


View resume



We ignite opportunity by setting the world in motion