Uber's ML Education Program teaches employees general machine learning concepts alongside the company-specific practices and tools needed to use Michelangelo.
2
The program gives the platform team direct evidence about where users struggle, which features they want, and why prototypes fail to reach production.
3
The education system is built with engineering principles such as reproducibility, modularity, measurability, accountability, scalability, and discoverability.
Summary
Melissa Barr and Michael Mui explain how Uber built an internal machine learning education program around Michelangelo, its machine learning platform. The program combines external material for general concepts with courses about Uber's problems, workflows, tools, and production practices. It serves engineers, data scientists, software engineers, machine learning engineers, and employees in groups such as marketing, finance, and operations. Courses range from introductory regression and classification to feature engineering, deep learning, embeddings, and specialized platform features. The courses also give the platform team a way to observe user behavior, collect feedback, identify drop-off points, and understand what prevents a prototype from reaching production. Melissa and Michael describe live, semi-guided, and self-serve formats, with reproducible containerized environments that resemble production. They are candid that the program needs a substantial internal platform and volunteer support. Their advice is to find an influential machine learning advocate, build a pitch, and start with a clear company-specific need.
The program teaches Uber-specific machine learning instead of repeating public material
Melissa Barr says the program teaches engineers, data scientists, software engineers, machine learning engineers, and other employees how to do machine learning at Uber. The team links to external resources for general topics such as regression and classification, then fills in the company-specific gaps. Those gaps include how to use Michelangelo and how to recognize which Uber problems could have a machine learning solution. Courses range from beginner material for new engineering hires to intermediate work on feature engineering and deep learning, followed by advanced topics such as embeddings. Even experienced hires need this orientation because they do not arrive knowing Uber's internal platform.
Courses create a feedback loop between platform builders and users
Michael Mui describes the program as an incubation environment where employees can try platform features and give feedback while they are learning. The team used courses to gather expertise around a hybrid parameter search prototype and later used the same approach for services such as auto-tuning, which uses Bayesian optimization to tune model hyperparameters and architectures. Course activity shows where users encounter friction. That evidence goes back to the infrastructure team, which can change onboarding, improve feature usability, and keep requested capabilities on its roadmap. The course is therefore part of platform development, rather than a separate training activity.
Reproducible course environments reduce the gap between learning and production
Michael explains that Uber uses containerized course environments with different dependency sets for different audiences, including PyTorch and TensorFlow users. The same images can be used in production, so learners do not finish a course and meet an unfamiliar setup later. Uber also tracks feature, data, model, hyperparameter, and architecture versions. Its templating system and feature store can snapshot the relevant state. Melissa adds that learners build through the full process with instructors or in self-serve labs, making the course workflow resemble production rather than a disconnected tutorial.
The delivery model balances hands-on help with scale
Melissa says Uber divides training into live, semi-guided, and self-serve formats. Live courses are reserved for complex theory and applications that benefit from hands-on instruction. Semi-guided and self-serve courses handle material that can be delivered and maintained more widely. This lets the team make an initial investment in difficult topics without requiring instructors to hand-hold every employee. Courses can be taken online, often immediately, while the live format provides support where the subject matter demands it.
Volunteer participation forced the program to become easier to maintain
The program was proposed in late 2020 and built during 2021. Melissa says it had about a thousand attendees in 2021 and grew by about 50 percent afterward. The work was volunteer-based, with Melissa and Brooke Carter helping lead the program while engineers volunteered as instructors and content builders. Michael recalls that early courses created frustration because instructors had to rebuild material when environments were not fixed and reproducible. That experience pushed the team toward a framework where courses could be updated incrementally and contributors could leave and return without losing the structure of the work.
Production adoption is a better test than course popularity alone
Melissa says the team wanted to measure what happened after a course, including who created notebooks, how quickly work moved into production, and how many weeks or months passed before a learner had a production model. They were still refining the measurement system. Michael describes an attribution problem because higher feature use may have other causes. The team experimented with course-specific Docker images and branches, which made it possible to identify activity connected to the course. They also track learner and instructor satisfaction, instructor retention, and whether the program is reaching groups outside the established machine learning audience.
The platform evolved toward open, composable workflows
Michael says course feedback exposed a mismatch between a closed, monolithic platform and users who wanted flexibility. Uber's platform moved toward containerized and composable workflows, where users could set dependencies and combine workflows while staying within a production environment. Course exercises revealed requests for open source dependencies, pretrained models, and ways to package experimental work for production. The education program helped surface those needs. Melissa and Michael describe this as a two-way process in which users learn the internal ecosystem while the platform team learns what users need to build.
The program needs an internal platform and an executive advocate
Melissa recommends finding a leader who is passionate about machine learning and can sponsor the program. At Uber, Smitha and Camron supported the initial pitch and helped secure backing. She says the program is easier to start when a company already has a machine learning organization or platform. A company without a homegrown platform may get more value from external resources because recreating general education would be a heavy lift. Michael adds that a smaller program can still document internal practices and grow as the organization's platform becomes more complex.
"We didn't really want to recreate the wheel because there are already a lot of external resources available for machine learning, but we really wanted to focus on what was different at Uber."Melissa Barr07:04
Who should watch
You are building an internal machine learning platform and need a way to teach people how to use it in company-specific workflows.
Your training is popular, but you do not know whether learners can move from notebooks and prototypes into production.
You need a volunteer-run education program that can collect product feedback without turning every course into live hand-holding.