Job Description
Uber Engineering is expanding rapidly as we tackle exciting challenges at scale globally. As our team and codebase grow, there is an increasing need for automatic analysis tools to maintain high code quality and performance while allowing our engineers to adapt quickly. To support this need, the Programming Systems Group is seeking talented engineers to develop new static and dynamic analysis tools, programming models, and apply them to Uber's codebase.
Responsibilities
- Drive exciting, ambitious, previously unsolved projects from end to end.
- Collaborate closely with product managers and data scientists.
- Make data-driven decisions with exceptional execution.
- Be motivated to own projects and push them forward independently.
- Have a passion for improving Uber for our customers.
Qualifications
- MS or PhD degree in Computer Science, Computer Engineering, or related field.
- Prior experience with static analysis, dynamic analysis, or machine learning applied to program analysis.
- Solid understanding of modern program analysis and machine learning techniques.
- Excellent coding and software design skills.
- 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.
Preferred Skills
- Deep understanding of innovative program analysis techniques.
- Experience in developing static analyses.
- Understanding of machine learning concepts and their application to program analysis problems.
- Passion for writing clean, efficient, and well-tested code.
About the Team
The team is focused on building tools to improve performance and reliability across various languages, including Java (mobile and backend), Swift, Go, Kotlin, and TypeScript. The work involves building or extending core infrastructure and developing new optimizations/analyses targeted at key issues. Recent projects include Piranha & NullAway static analysis tools. We aim to make our tools open source and share our work through blog posts or academic papers. We actively participate in the research community, attending conferences, organizing workshops, and serving on program committees.
Join us in our mission to enhance Uber's codebase and contribute to the broader engineering community.
Benefits Extracted with AI
- Flexible work environment
- Opportunities for professional growth
- Participation in research community
Similar jobs
Last update: 23 minutes ago
Staff Software Engineer - Backend
Join Uber as a Staff Software Engineer - Backend, focusing on membership systems. Work with Java, Python, C++, and more in Amsterdam.
Staff Software Engineer - Backend
Join Uber as a Staff Software Engineer - Backend to develop and enhance solutions for millions of members globally.
Senior Software Engineer: Configuration Management/Deployment
Join Uber's Amsterdam team as a Senior Software Engineer focusing on configuration management and deployment. Solve infrastructure challenges at scale.
Staff Software Engineer, Fullstack, Capacity & Efficiency Engineering
Join Uber as a Staff Software Engineer in Amsterdam, focusing on fullstack development and capacity efficiency engineering.
Software Engineer - Backend - Membership
Join Uber as a Backend Software Engineer to develop member-first experiences in a collaborative team, impacting global foundations.
Senior Software Engineer (Elasticsearch)
Join Uber as a Senior Software Engineer specializing in Elasticsearch, working on sophisticated infrastructure across data centers and cloud.
Staff Software Engineer: Data & Infrastructure Platforms - Metrics & Alerting
Join Uber's Amsterdam team as a Staff Software Engineer focusing on Data & Infrastructure Platforms, specializing in Metrics & Alerting.
Senior Software Engineer - Capacity & Efficiency Engineering
Join Uber as a Senior Software Engineer in Amsterdam, focusing on capacity and efficiency engineering with skills in Python, Java, and distributed systems.
Senior Software Engineer - Production Engineering
Join Uber as a Senior Software Engineer in Amsterdam, focusing on production engineering and reliability.
Senior Software Engineer - Platform CI
Join Uber as a Senior Software Engineer in Amsterdam to enhance our Developer Platform using AWS, Java, Python, and Docker.
Senior Software Engineer - Machine Learning
Join Uber as a Senior Software Engineer in Machine Learning, focusing on developing member-first experiences in Amsterdam.
Senior Software Engineer - Backend
Join Uber as a Senior Software Engineer - Backend, focusing on membership experience and cross-team collaboration.
Senior Software Engineer - Backend
Join Uber's Membership team as a Senior Software Engineer - Backend, focusing on developing member-first experiences.
Senior Software Engineer III - Java
Join TomTom as a Senior Software Engineer III in Amsterdam, focusing on Java and back-end development in a hybrid work environment.
Senior Software Engineer - Backend - Maps
Join Uber as a Senior Software Engineer in Amsterdam to innovate and scale backend map services.
Staff Software Engineer - Backend
Join Uber as a Staff Software Engineer - Backend, focusing on membership systems, in Amsterdam. Requires 7+ years experience.
Senior Backend Software Engineer - Earnings Experience
Join Uber as a Senior Backend Software Engineer to build scalable systems for earnings experience.
Staff Software Engineer, Backend
Join Uber as a Staff Software Engineer, Backend, to lead impactful projects and mentor a talented team.
Staff Software Engineer - Backend
Join Uber as a Staff Software Engineer - Backend, focusing on membership systems. Work with Java, Python, and C++ in Amsterdam.
Software Engineer II - Web/FrontEnd
Join Uber's Membership team as a Software Engineer II focusing on Web/FrontEnd development to enhance user experience globally.
Senior Software Engineer - Java, AWS
Join Uber as a Senior Software Engineer focusing on Java and AWS, driving service standards and best practices.
Sr Staff Engineer - Earner Growth
Senior Staff Engineer role in Amsterdam focusing on software development and system architecture for Uber's Incentives Platform.
Staff Software Engineer - Java
Join Uber as a Staff Software Engineer focusing on Java, Spring, and distributed systems in Amsterdam.
Software Engineer II, Backend - Production Engineering
Join Uber as a Software Engineer II in Backend Production Engineering, focusing on reliability and efficiency of tech platforms.