Tuesday April 16, 2024


When I walked into #Google I was so excited to learn how to code like the pros. The only coding I truly learned was the recurring daily complaint by the engineers there “oh, I’m just moving protos again today”.

Moving protos…what?

Protobufs, or protos as they’re affectionately called, are a type of configuration file. And Google’s architecture is so advanced that fewer folks spend time coding and more time manipulating protos to improve the software.

Why? Because software 2.0 is impossible to automate or code. Why? The book Power and Prediction explains how future software has trillions of possible combinations of design.

#YouTube has a deep learning algorithm called Brain that has one main job: figure out the probability a person will click on a video.

On top of this, they do what all recommendation systems do: they customize the diversity of content or the categories of content. Do you want more videos similar to video X? Do you want more educational content, but very different video?

All recommendation systems operate like this: an ML model at the base and then rules and configurations to overlay on top. And the protos control the configurations. And the software engineers analyze the metrics coming from your “watch time”. Their job is then to manipulate the proto files to improve the system.

So when they “move protos” all day long, they’re just getting systems to talk to each other.

“How should I configure my ___ pipeline?” - asked every engineer ever. Here I take a dive into ways that I’ve seen #machinelearning pipelines be configured.


Bryan lives somewhere at the intersection of faith, fatherhood, and futurism and writes about tech, books, Christianity, gratitude, and whatever’s on his mind. If you liked reading, perhaps you’ll also like subscribing: