Uber has hundreds of web applications from marketing sites (like uber.com), to rider/driver management portals, and internal support and data visualization tools. The Web Platform team was formed to support a consistent foundation to reduce the likelihood of security vulnerabilities, duplicated efforts, technical debt, and minimal UI consistency, among other things. We work with Uber product teams and web engineers across the company to build tools, systems, and architectures that enable them to quickly achieve their web application goals, without sacrificing quality or consistency.
Our team is structured into three main sub-teams: Core Architecture; Safety, Monitoring & Quality; and UI/UX Platform:
- Core Architecture - this group works on the base of our stack—React, Redux and Node.js—and the tooling necessary to support modern, performant web applications. The major focus for this team is creating a system that is easy-to-use yet robust, includes best-in-class developer tools, supports all the variances in our applications on a universal updated foundation, and helps engineers fetch data across hundreds of internal service APIs.
- Safety, Monitoring & Quality - this team manages the rollout of web application code in a safe and sustainable way. They tackle challenges related to providing a consistent, reproducible infrastructure, including our Docker Node.js container, internal NPM registry, and asset deployment system. Additionally, they’re responsible for creating a safe rollout strategy of code, supporting testing tools, staging environments, and experimentation frameworks. They also provide robust monitoring and analytics tools to provide insight into user analytics, application performance and health, and conversion tracking.
- UI/UX Platform - this team focuses on enabling UI productivity and designer/engineer collaboration. They are responsible for decreasing the gap between what a designer designs and an engineer turns into code. They support tools for faster and easier React component development as well as the sharing and discovery of those components. They also help improve the accessibility and localization of our sites around the world through developer, UI/UX, and cross-browser testing tools.