Meetup

Learnings from Live Coding: An MLOps Project on Twitch

Felipe Campos Penha, CargillEpisode 63 · 50:12 · May 2021 · 424 viewsHosted by Demetrios Brinkmann
Thumbnail for Learnings from Live Coding: An MLOps Project on Twitch Watch on YouTube
TL;DR
  1. 1

    Felipe Campos Penha moved from notebook-based proof-of-concept work toward better software practices by learning how to organize code, collaborate in repositories, and work with containers.

  2. 2

    Live coding helped Felipe learn in public, get immediate feedback, and show the parts of programming that are usually hidden, including bugs, documentation searches, and uncertainty.

  3. 3

    His Greenhouse project is a reusable Python project template with containers and placeholder machine learning code, built partly to learn MLOps with help from the community.

Summary

Felipe Campos Penha describes how his work moved from computational physics into industry data science and then toward operational machine learning practices. In academia, model parameters had physical meaning, while industry work focused more on prediction, delivery speed, customers, and stakeholder approval. For several years, customer validation kept his work in notebooks, spreadsheets, manually run code, and simple scheduled jobs. He began learning software development practices and started Greenhouse, a Python template for data work with containers and placeholder training and prediction code. He developed the project live on Twitch. The format reduced editing work, exposed real debugging, and gave him feedback from viewers. Felipe says the audience both learns from his examples and helps him solve problems. He also explains how YouTube supported his job search as a portfolio, while Twitch has mainly shaped his learning and programming communication.

Key ideas
05:36

Physics models and business models are judged by different goals

Felipe Campos Penha says the pace and purpose of work changed when he moved from academia into industry. Academic work moved slowly around a supervisor and regular meetings, while industry work felt like a constant fire drill because customers and money were involved. His physics regression work aimed to discover meaningful parameters, such as a particle's mass, and establish limits for them. In industry data science, he cared more about how well a model predicted. A linear regression might contain thousands of coefficients, and after retraining he could discard the old model. The parameters mattered in physics because they described something physical. They mattered less in many business prediction tasks.

09:01

Customer validation kept early machine learning work in notebooks

Felipe describes spending almost three years in what he calls proof-of-concept hell. Customers wanted to see value before committing to a product, so they often tested models manually in spreadsheets. Felipe ran code from Jupyter notebooks, sometimes sending outputs to an AWS bucket for customers to read. He occasionally scheduled a job, but the work remained far from a complete operational system. Before leaving that company, he began organizing his code so colleagues could use it. A period between jobs gave him time to study software development, repositories, collaboration, and practices for machine learning software. At one company, he took responsibility for encouraging better software development practices.

12:12

Greenhouse gave Felipe a practical way to learn MLOps

Felipe started the Greenhouse project after deciding to learn Rust, although he later focused on Python. He first built containers and a project framework before fully knowing the language, which taught him how the parts of a software project fit together. Greenhouse became a template for data science, data analytics, data engineering, and general Python work. It includes a structure for machine learning training and prediction, but it is not a package that users simply import. GitHub can copy the template into a new repository. Felipe uses a small Palmer Penguins dataset as a placeholder, so people can replace the data, models, and connections for their own work.

14:31

Twitch makes the coding process visible while it happens

Felipe chose Twitch after seeing data scientists in Brazil use it for live coding. Compared with his edited YouTube videos, Twitch lets him turn on a camera, use his setup, and start coding without polishing the recording afterward. Viewers can respond during the stream, so feedback arrives while he is working. He describes Twitch as a platform built for live interaction, with chat, subscriptions, rewards, and other features that make sense during a broadcast. His preferred style is to vocalize his reasoning. He looks at documentation, searches for syntax, and shows that knowing where to find an answer can matter more than memorizing every command.

20:01

Showing bugs and uncertainty can help both the streamer and the audience

Felipe distinguishes quiet focus streams from streams where the coder explains each decision. He prefers the second format because speaking through a problem makes the reasoning visible. He does not try to hide that he forgets syntax or needs to search documentation. Viewers sometimes find answers before he does and post them in the chat. Felipe also had a stream where nearly every approach broke. His response was to explain why he changed direction, then continue the work offline if the problem consumed too much time and return with a solution later. He says showing mistakes and explaining thoughts has helped him become a better programmer and communicator.

26:26

The audience changes the project through shared examples

Felipe says the Twitch audience both learns from Greenhouse and helps shape it. Some viewers look up documentation before he does and share possible fixes. Others adopt techniques they see in his streams. He gives Docker Compose as an example: colleagues saw him use a configuration file to start a Jupyter notebook inside a container and then began using the same approach in their own streams. Felipe also learns from other streamers. After seeing a colleague use Prefect, he added it to Greenhouse as a workflow practice package similar to Airflow. The project is therefore a learning exercise that grows through visible experiments and feedback.

34:41

Public content supported Felipe's job search in different ways

Felipe says YouTube had a more direct effect on his job interviews than Twitch because he had built the channel earlier and could present it as a portfolio. Interviewers asked about his videos and the way he interacted with the community. The channel did not decide whether he got a job, but Felipe felt it was consistently a positive part of the discussion. He also listed it on his resume, along with repositories and written work. Twitch was newer, so its effect was mainly on what he was learning. Live streaming also made writing feel less slow and perfectionist because it did not require polishing every sentence, figure, or edit before sharing.

30:47

Starting a live coding channel does not require a perfect production setup

Felipe advises people who want to stream to begin with a small project or with the process of learning from scratch. A stream can follow a dataset through a model over several sessions, or it can focus on one subject. He says Twitch feels different from live coding in a job interview because the streamer can be relaxed, explain mistakes, and make the session playful. He also mentions that people can run quiet focus sessions instead of speaking constantly. For software, he uses OBS, which is open source and works on Windows, Mac, and Linux. His advice is practical: do not wait for perfect equipment or a perfect project.

"I think YouTube had a more direct impact on my interviews my job interviews because I did it at first last year when I was looking intensely for a position and it was really good because as I said it served as a portfolio."Felipe Campos Penha34:41
Who should watch
  • You are a data scientist whose work stops at notebooks, spreadsheets, or proof-of-concept demonstrations and you want a concrete path toward better software practices.
  • You want to learn machine learning engineering by building a small project while getting feedback from other practitioners.
  • You are considering YouTube or Twitch and want to understand what public debugging, imperfect explanations, and live community feedback can add.