Skip to main content
Uber

Tell us your location

Please enter your nearest city name to help us display the correct information for your area

Select your language

2019 PhD Software Engineer Internship - Programming Systems

Engineering, University in San Francisco, CA

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.

About the Role

 

The Programming Systems group at Uber is looking for PhD student interns for the summer of 2019.   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

  • PhD student (ideally graduating no later than Summer 2020) 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, 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 (https://github.com/uber/NullAway), RxThreadEffectChecker (https://github.com/uber-research/RxThreadEffectChecker), and Nanoscope (https://github.com/uber/nanoscope/wiki/Trace-Extensions).  We are also active in the research community and aim to publish and participate in top conferences.


See our Candidate Privacy Statement

At Uber we don’t just accept difference—we celebrate it, we support it, and we thrive on it for the benefit of our employees, our products and our community. Uber is proud to be an equal opportunity workplace. We are committed to equal employment opportunity regardless of race, color, ancestry, religion, sex, national origin, sexual orientation, age, citizenship, marital status, disability, gender identity or Veteran status.