Skip to main content
Uber CareersUber Careers

Web Infrastructure Developer Experience

Engineering
in San Francisco, California

About the Role

As an engineer on the Web Developer Experience team, you will build first-class tooling and infrastructure to support the 500+ Web developers at Uber. This team focuses on designing, developing and scaling a robust platform to solve Uber's unique build tooling challenges, create web-specific infrastructure to support our wide array of internal and external websites, and extend CI/CD systems to provide safe, high-quality rollouts for our web apps.

What You'll Do:

  • Design and build advanced automated build, test and release infrastructure
  • Ship services and tools that greatly increase developer productivity and application quality
  • Drive adoption of best practices in code health, testing, and maintainability
  • Continue to refine and define our tech stack, utilizing open source tools, generalizing product-specific code and/or building novel solutions to needs we encounter
  • Contribute features and fixes back to open source software, or create and promote our own open source tools
  • Communicate and collaborate within and across teams to drive company-wide, large-scale projects
  • Mentor, educate and support those around you, as well as other web engineers within the company

What You'll Need:

  • You have deep knowledge in Node.js, and are an expert in debugging and profiling services built using it
  • You are knowledgeable in modern web/Node.js dependency management and build tools (npm/Yarn, Babel, Browserify/Webpack/Rollup, etc.)
  • You have experience utilizing multiple strategies for testing web applications (e.g. cross-browser, integration, visual regression, etc.)
  • You have experience with containerized CI/CD pipelines, and creating reproducible builds from development to production
  • You are adept at communicating and collaborating effectively with others, promoting your ideas as well as being humble when you may be wrong
  • You are excited to learn from and teach others and are passionate about creating tools, products and providing support for your fellow engineers

Bonus Points If:

  • You have worked with Buck, Bazel, or other large-scale build tools within a monorepo context
  • You have utilized and configured systems like SauceLabs, Screener.io, Jenkins, or other web testing services
  • You have experience creating automation in continuous integration for web applications

About the Team

Uber has a vast array of web applications -- over 300 actively maintained -- from marketing and product sites (like uber.com and ubereats.com), to our rider/driver portals, to internal support and data visualization tools for our operations and logistics teams. Without a consistent foundation, all of these applications could have been built off of entirely different tools and architectures, creating a higher likelihood of security vulnerabilities, duplicated effort across teams, technical debt, minimal UI consistency, etc.

The Web Platform team was formed to support this foundation and prevent these types of issues. We work with Uber's web engineers to build out a set of tools and systems to help them achieve their website goals more efficiently, without sacrificing quality or consistency.

Architecture

The Architecture team focuses on the core of our stack -- Fusion.js --and the APIs necessary to easily create modern, performant web applications. The major challenges for this team are creating a system that is easy to use, yet powerful. The primary areas of effort here are the core Fusion APIs and plugins, data fetching (across 1,000s of internal service APIs), logging/monitoring, and experimentation/analytics.

Developer Experience

The Developer Experience team builds on top of Uber's core infrastructure to enable a speedy, yet robust web application development environment. The primary areas here are local development experience, CI/CD & prod build tooling, test infrastructure, application provisioning, and our internal NPM registry. As the company moves to a monorepo, this team's challenges include scalability of our tooling, fast/robust test infrastructure, and processes/systems to support architecture upgrades across 400+ web applications.

UI Platform

The UI Platform team focuses on UI developer productivity and design and eng collaboration. The major focus of this team is to build and support a React component UI toolkit for web engineers, Base Web. This allows for web engineers to simply drop in a shared set of components, like dropdowns, tables, forms, etc., rather than each team implementing their own system and duplicating functionality. The challenges this team faces are shrinking the gap between what a designer designs and what an engineer turns into code. In addition, this team helps to improve the accessibility and internationalization of our sites through developer tooling, build out systems for sharing and discovery of the UI components, and keeps our UI / UX high-quality through visual and cross-browser testing tools.

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.