Please enable Javascript
Skip to main content

Sr Software Engineer, Programming Systems Group

Backend, Engineering
in Amsterdam, Netherlands

Uber Engineering is growing quickly as we look to take on some exciting opportunities at scale and around the world. As we grow our team and code base, there is a growing need for automatic analysis tools to keep our code quality and performance high while ensuring our engineers can continue to adapt quickly. To support this need, the Programming Systems Group is looking for hardworking engineers to develop new static and dynamic analysis tools, and programming models, and apply them to Uber’s code base.

The team is seeking to build tools to improve performance and reliability across a variety of languages, including Java (mobile and backend), Swift, Go, Kotlin, and TypeScript. The work includes a mix of both building or extending core infrastructure and developing new optimizations/analyses targeted at key issues. Recent work by the team includes Piranha & NullAway static analysis tools. In general, we like to make our tools open source and write about our work in blog posts or academic papers. We also participate actively in the research community, including attending conferences, organizing workshops, and serving on program committees.

To succeed in this position, you will have to deep dive into understanding of innovative program analysis techniques and gain experience in developing static analyses.  Understanding of machine learning concepts and its application to program analysis problems would be preferable. You should also be passionate about writing clean, efficient, and well-tested code.

What the Candidate Will Need / Bonus Points

---- What the Candidate Will Do --—

  • Drive exciting, ambitious, previously unsolved projects from end to end.
  • Collaborate with product managers and data scientists closely.
  • Make data driven decisions, with exceptional execution.
  • Be motivated to own projects and push them forward with independence.
  • Most importantly, have a passion to make Uber better for our customers.

---- Basic Qualifications --—

  • MS or PhD degree in Computer Science, Computer Engineering, or related field.
  • Prior experience with one of the following static analysis, dynamic analysis, or machine learning applied to program analysis.
  • Solid understanding of modern program analysis and machine learning techniques.
  • Excellent coding skills and software design skills.

---- Preferred Qualifications --—

  • Ability to communicate effectively with both technical and business partners.
  • Experience in simplifying/converting business problems into technical problems.
  • Research mentality with a bias towards action to structure a project from idea to experimentation to prototype to implementation.

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.

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.

*Accommodations may be available based on religious and/or medical conditions, or as required by applicable law. To request an accommodation, please reach out to accommodations@uber.com.


See our Candidate Privacy Statement

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, Veteran Status, or any other characteristic protected by law.