Ryan Lopopolo (he/him)

Most of my career has been spent figuring out how organizations distribute expertise and preserve judgment. The work has taken me through data products, developer productivity, infrastructure, language runtimes, and agents. Each system changed how I think about where work gets stuck and how to keep the same human judgment from being spent twice.

Snowflake taught me that the artifact is only one part of the system. I built the data marketplace inside a diamond-like jewel: a fully integrated, globally singular product with high coupling across organizations and product surfaces. The job was designing the system and unblocking execution while slotting a new product into all of that coupling. Implementation was abundant compared to permission and alignment to do the work.

Brex made the attention constraint concrete. I was group tech lead for developer productivity, leading a team of 40 and supporting a 350-person engineering organization. With five teams, I could give attention to three things each week at most. Cost of failure became a proxy for where that attention belonged. Scaling the organization meant keeping my attention off the critical path.

Attention was not the only constraint I kept finding. Producing an artifact and reviewing it both require hundreds of decisions about tone, taste, risk tolerance, how much polish is enough, which shortcuts are acceptable, and what counts as done. Teams encode almost none of this in a specification. It lives in org design, social norms, hiring loops, onboarding, and repeated exposure to people who already know what it means to do a good job.

OpenAI made that missing specification visible. When working on an autonomous codebase, our reviewer agents endlessly bullied the implementation agent until we wrote down that reviewers should bias toward merging and only surface P2s and above. Human reviewers already knew when to unblock. The agents did not until we wrote it down.

At OpenAI, I went zero to one on early agent interaction patterns across Code Interpreter, ChatGPT Record, and connectors in ChatGPT, then pioneered using coding agents to do general knowledge work by building employee-shaped agents. Each step put more of the job into the product and exposed more of the context the organization had not written down.

My team spent five months building and shipping an autonomous data scientist. Agents wrote all 1 million lines of code. When the agent failed, taking back the keyboard was not an option. The repository, tools, tests, and feedback loops had to get better. That forcing function became Harness Engineering. A repeated review comment became a lint, test, document, tool, or review agent. We paid ruthless attention to where we were spending our time and made it so we didn’t.

I had seen the same rule when an organization adapts to an incident. After starting my career at Citadel and Box, I worked at Stripe across infrastructure and product as the company grew from 600 to 6,000 employees. Stripe’s first-ever Code Yellow pulled together 20 people for two months to build Adaptive Acceptance. When the Code Yellow ended, Adaptive Acceptance kept running. Code reds need maintenance loops: the work should survive the temporary team assembled to do it.

This work changed what I think a product can be. BI dashboards and SaaS products have a fan-in/fan-out shape because one team cannot do bespoke work for everyone. Once expertise and feedback can live in a machine, a Data Science team can put its ontology and business context into an agent that does the bespoke metrics work for everyone.

At Google Cloud, I am Principal Engineer, Agentic Google Cloud Platform. I’m building agents that do the full job of operating your cloud, from design to routine operations through to incident response. Cloud operations require Harness Engineering to successfully deploy AI: the agent has to deeply adapt to each customer’s knowledge, workflows, and environment.

This is the world I want to build. Organizational judgment should be durable and executable. A correction from an incident, a code review, or an agent run should improve the system that does the next job. Human attention can go toward taste, risk, and deciding what should exist instead of supplying the same missing context again.


My first love is the Ruby programming language. I spent six years building Artichoke Ruby, an alternative Ruby implementation written in Rust. Artichoke forced me to learn unsafe Rust, FFI boundaries, pointer lifetimes, trait design, runtime architecture, and borrow semantics under stress. That education alone justified the experiment. I archived Artichoke in 2025. Build things. Even weird things. 💎 🦀 🐍

Outside work: food 😋, Spotify 🎧, hiking and snowshoeing in the Pacific Northwest 🏔️, strength training 💪, and the garden 🌱. Naturally, the house runs a production observability stack for the home automation infrastructure 🧑‍💻.

🔑 GPG Keys

I sign my commits on GitHub with one of several GPG keys:

  • Fingerprint: 0x46047D739B6AE0B1
  • Fingerprint: 0x717CDD6DC84E7D45
Ryan Lopopolo smiling

"As an agent influencer," my Slack catchphrase.