58
companies
964
Jobs

Senior Software Engineer, PhD - Backend

Uber

Uber

Software Engineering
New York, NY, USA
Posted on Monday, May 1, 2023
About The RoleUber 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 optimizations, 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. The team has upstreamed changes to the Swift compiler to improve specialization of protocol-based code including contributions to LLVM for optimizing mobile app binary-size. In general, we like to make our tools open source and write about our work in blog posts and 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 a solid understanding of innovative program analysis techniques and experience in developing static analyses or compiler optimizations. 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.
  • Thrive in ambiguous product requirements.
  • 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
  • PhD in Computer Science, Computer Engineering, or related field.
  • Prior experience with compiler optimization, static analysis, dynamic analysis, and machine learning applied to program analysis.
  • Solid understanding of modern program analysis and machine learning techniques.
  • Excellent coding skills and software design skills.
  • Published papers in program analysis or code optimization.
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.
  • Experience presenting at industry-recognized academic conferences.
For New York, NY-based roles: The base salary range for this role is $174,000 per year - $193,500 per year.For San Francisco, CA-based roles: The base salary range for this role is $174,000 per year - $193,500 per year.For Seattle, WA-based roles: The base salary range for this role is $174,000 per year - $193,500 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.