Home › Blog › Frontier Lab Engineering — Other Teams' Code
Frontier Lab Engineering Practicum · Article 7 of 9 🧩

Working With (and Around) Other Teams' Code

Every article so far has mostly assumed you're working inside code your own team owns. In practice, a frontier lab's training stack is stitched together from data pipelines, shared libraries, scheduler integrations, and infrastructure tooling owned by teams you may never talk to directly. This article covers why organizational structure ends up mirroring code structure whether anyone plans it or not, how ownership is actually enforced day to day, and the etiquette of changing — or depending on — code that isn't yours.

FL
FrontierAGI Team

Nobody Owns the Whole Stack

Article 1 of this series introduced monorepo culture and code review scrutiny tracking blast radius rather than line count. What that article didn't fully unpack is the organizational side of the same fact: a monorepo makes every team's code technically reachable by every engineer, but "technically reachable" and "yours to change confidently" are very different things. A frontier lab's training stack routinely spans a data infrastructure team, a scheduler/platform team, a distributed training framework team, and multiple model-research teams — and the code you depend on daily is disproportionately likely to have been written by people who don't sit anywhere near you.

1968 Year Melvin Conway published the observation now known as Conway's Law
3 Team Topologies interaction modes: collaboration, X-as-a-Service, facilitating
1 Owning reviewer required per changed path in most real code-review systems
Part 1 — Conway's Law

Why the Codebase Looks Like the Org Chart

Melvin Conway's 1968 paper, later popularized as "Conway's Law," observed that organizations design systems that mirror their own communication structure — teams that talk to each other easily produce tightly-integrated code, and teams that don't produce code with hard boundaries between them, regardless of what the ideal architecture would look like on a whiteboard. In a frontier lab, this shows up concretely: the scheduler and the training framework tend to have a clean, well-documented interface precisely because the platform team and research teams talk constantly, while two research teams that rarely coordinate often end up with duplicated, subtly incompatible utility code, even when a shared implementation would be objectively better engineering.

"Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations." — Melvin Conway, 1968
Part 2 — How Code Ownership Actually Works

Ownership as an Enforced Mechanism, Not a Suggestion

Potvin & Levenberg's Google monorepo paper — already cited in Article 1 of this series — describes exactly how ownership scales inside a single giant repository: per-directory owners files that name who must review a change before it merges, enforced automatically by the code review tooling rather than left to social convention. This is the practical answer to "whose code is it, really" in a monorepo: ownership isn't about who's allowed to read or technically edit a file, it's about whose approval is required before an edit becomes real, and it exists specifically so that the blast-radius-based review scrutiny from Article 1 has someone with real context actually applying it.

Ownership SignalWhat It Actually Means
Required reviewer on a pathThis team has context you likely don't — their approval is a real gate, not a formality
No listed ownerEither genuinely unowned (a real gap worth flagging) or the ownership file is stale
You're the only frequent committerYou may be the de facto owner even without a formal owners-file entry — document it
Part 3 — The Etiquette of Changing Others' Code

A Confident Diff Is Not the Same as a Welcome One

The single most common cross-team friction point is an engineer making a change to someone else's code that is technically correct but organizationally unwelcome — bypassing context the owning team has and you don't, such as a subtle reason a seemingly-dead code path is actually load-bearing for a use case you've never seen. The etiquette that avoids this is simple to state and easy to skip under time pressure: tag the listed owner early, explain the change's motivation rather than just its diff, and be explicit about whether you're proposing a change for them to make, or asking permission to make it yourself. This is the direct organizational counterpart to Article 3's debugging instinct of shrinking scope before acting — here, shrinking your assumption of understanding before touching code outside your usual boundary.

1
Read the file's history, not just its current state. A strange-looking line is often a fix for a bug you can't see from the code alone.
2
Loop in the owning team before writing the diff, not after — a five-minute conversation can save a rejected review cycle.
3
Assume you're missing context on any code outside your own team's regular area, even when the fix looks obvious.
Part 4 — Dependency Debt

The Cost of Depending on Someone Else's Code

Sculley et al.'s "Hidden Technical Debt in Machine Learning Systems" — cited in Articles 2 and 5 of this series for configuration and kernel maintenance debt — devotes a specific section to what it calls "glue code" and "dependency debt": the tendency for teams to bend their own code around another team's package or API's quirks, accumulating fragile adapter layers that break whenever the upstream team changes something they had every right to change, because it was never a documented contract between the two teams in the first place. Recognizing this pattern is the first step to avoiding it — a clean, minimal, explicitly-versioned interface to another team's code is worth the upfront design cost every time it prevents a break during someone else's unrelated refactor.

Part 5 — Team Interaction Modes

Naming How Two Teams Actually Work Together

Skelton & Pais's book Team Topologies names three recurring interaction modes between teams that map cleanly onto frontier-lab reality: collaboration (two teams working closely and temporarily on a shared, evolving problem — common early in a new training framework's life), X-as-a-Service (one team consumes another's clearly-defined API or platform with minimal ongoing coordination — the healthy long-term state for a mature scheduler or data pipeline), and facilitating (one team actively helps another ramp up on a technology, temporarily, with the explicit goal of no longer being needed). Naming which mode a given cross-team relationship is actually in — rather than defaulting to constant ad hoc collaboration — is often the single clearest fix for a chronically friction-heavy team dependency.

Collaboration Close, temporary, shared problem X-as-a-Service Clear API, minimal coordination Facilitating Temporary help ramping up a team
Team Topologies' three interaction modes — naming the mode is often the fix for chronic cross-team friction.
Part 6 — Real Scenarios

Real Scenario Walkthroughs

🔨Scenario A — A "Simple" Fix That Broke Another Team's Pipeline
An engineer notices a seemingly-dead parameter in a shared data-loading utility and removes it in a routine cleanup PR, without checking the owners file (Part 2) or the file's history (Part 3). The parameter was in fact load-bearing for a different team's less-common training configuration; their next run silently used a wrong default rather than crashing, echoing Article 3's warning about failures that don't announce themselves — the bug surfaced days later as a quietly worse model, not an immediate error.
The lesson: "this looks unused" is a hypothesis, not a fact, for any code you don't own — the owning team's context is the only reliable way to confirm it.
🔗Scenario B — Glue Code That Broke on an Unrelated Refactor
A research team built a thin adapter layer around an internal scheduler API's undocumented quirks (Part 4's dependency debt), rather than asking the platform team for a documented interface. When the platform team refactored their internals — well within their own stated ownership boundary — the adapter broke silently, and the research team's next several training launches failed with a confusing error unrelated to their own recent changes.
The lesson: depending on another team's undocumented internal behavior is a debt that comes due exactly when you have no reason to expect it, because the owning team had every right to change what you never asked them to promise.

Readiness Checklist

1
Can you explain Conway's Law in your own words, with a real example from a codebase you've worked in?
2
Do you check a file's ownership and history before making a "simple" change to code outside your own team's area?
3
Can you name a piece of glue code you've written or seen, and what documented interface would have made it unnecessary?
4
Given a specific cross-team dependency, can you name which of the three Team Topologies interaction modes it's actually in?

⚠️ What's Missing or Uncertain

Ownership tooling and team structures vary enormously between organizations. Some labs enforce ownership through automated tooling (owners files, required reviewers); smaller or newer teams often rely entirely on informal social knowledge of "who really knows this code." The underlying dynamics — Conway's Law, dependency debt, the value of naming interaction modes — are durable and broadly cited; the specific tooling and formality you'll encounter will differ by team and by company size.

Where This Series Goes Next

Article 8 pulls every prior article in this series together into a single, connected walkthrough: shipping one real experiment from idea to merged PR — writing the training code (Article 2), requesting the compute (Article 4), debugging it when it breaks (Article 3), and navigating review from a team whose code you touched along the way (this article).

🎥 Recommended Videos

🧭 Closing — Ownership Is a Coordination Tool, Not a Fence

🎯 The Bottom Line
A frontier lab's training stack is built by many teams whose code structure will, per Conway's Law, keep mirroring their communication patterns whether anyone plans it or not. Treating code ownership as a real signal worth respecting, reading history before editing unfamiliar code, avoiding undocumented glue-code dependencies, and naming your actual interaction mode with another team are what separate an engineer who occasionally causes cross-team incidents from one whose changes to shared systems are trusted on sight — a form of credibility that compounds across an entire career at a lab, not just a single project.