<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Organization | Law Zava</title><link>https://lawzava.com/topics/organization/</link><description>5 posts from 2017 to 2026 on organization, with frequent overlap into teams, leadership, and ai.</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sun, 19 Jul 2026 20:06:28 +0000</lastBuildDate><atom:link href="https://lawzava.com/topics/organization/index.xml" rel="self" type="application/rss+xml"/><item><title>Build the System the Model Cannot Break</title><link>https://lawzava.com/blog/2026-05-14-build-the-system-the-model-cannot-break/</link><pubDate>Thu, 14 May 2026 00:00:00 +0000</pubDate><guid>https://lawzava.com/blog/2026-05-14-build-the-system-the-model-cannot-break/</guid><description>A manifesto for building AI-native organizations. Twelve tenets across strategy, architecture, economics, and people — and the only test that matters in year two.</description><content:encoded><![CDATA[<h2 id="quick-take">Quick take</h2>
<p>An AI-native company is not a company that uses AI. It is a company whose operating model — decisions, ownership, interfaces, capital, and failure boundaries — has been built so AI compounds inside it instead of evaporating around it.</p>
<p>The model will change. The system around it should not.</p>
<p>This is a manifesto. It is opinionated, deliberately. Twelve tenets, four movements, one test. Borrow what works. Argue with the rest.</p>
<hr>
<h1 id="movement-i--strategy">Movement I — Strategy</h1>
<h2 id="1-the-operating-model-is-the-strategy">1. The operating model is the strategy</h2>
<p>The model is the most expensive dependency in your stack. It is not the brain. The brain is everything you build around it: context assembly, retrieval, validation, retries, telemetry, fallback, escalation.</p>
<p>Two companies buy the same frontier model on the same Tuesday. One ships in six weeks with a deterministic fallback, a typed validator, and an eval gate on every PR. The other ships in six months with a notebook of &ldquo;good prompts&rdquo; and a Slack channel for incidents. Same model. Different company.</p>
<p>If your AI plan begins with &ldquo;which model should we buy,&rdquo; you are solving the easiest problem in the room. <strong>The moat is everything around the model.</strong></p>
<h2 id="2-capital-allocation-is-the-first-product-decision">2. Capital allocation is the first product decision</h2>
<p>Great AI teams do not start with a roadmap. They start with  <a href="/blog/2026-04-16-ai-capital-allocation-what-to-stop-funding/"
   
   >a kill list</a>
. Capital is finite. Attention is finite. Support burden is finite.</p>
<p>Three questions before any AI initiative gets funded:</p>
<ol>
<li>Does this increase <strong>margin</strong>, reduce <strong>risk</strong>, or improve <strong>speed</strong>?</li>
<li>Can we measure that effect within one to three quarters?</li>
<li>Do we own the <strong>fallback</strong> if the model or vendor changes?</li>
</ol>
<p>If the answer to all three is not yes, the default is no.</p>
<p>The most common pattern across Series B–D companies that quietly stalled in 2024–2025: somewhere between $1M and $3M of engineering and infra burned on internal copilots that never crossed adoption threshold, plus a duplicate prompt orchestration layer because two teams built one in parallel. Neither project had a measurable failure mode. Both had a sponsor.</p>
<p>A four-dimension scorecard makes the next budget meeting honest:</p>
<ul>
<li><strong>Adoption</strong> — are real users using it in a real workflow?</li>
<li><strong>Reliability</strong> — does it fail in bounded, observable ways?</li>
<li><strong>Margin</strong> — does it reduce cost or improve unit economics?</li>
<li><strong>Speed</strong> — does it shorten a real business cycle time?</li>
</ul>
<p><strong>If you cannot defend it with numbers, the project is not innovative. It is unpriced.</strong></p>
<h2 id="3-decision-latency-is-a-pl-variable">3. Decision latency is a P&amp;L variable</h2>
<p>Slow decisions look like caution. In practice, they are hidden expense. Every day a real decision sits unresolved, the business pays in delay, rework, and attention.</p>
<p>Headcount is an input.  <a href="/blog/2026-03-30-throughput-engineer-headcount-lagging-metric/"
   
   >Throughput is an outcome</a>
. Adding the tenth engineer to a system that takes nine days to approve a deploy adds nine more days of waiting, not 10% more output.</p>
<p>Track four numbers with the same seriousness as revenue:</p>
<ul>
<li>time from issue raised to decision made</li>
<li>time from decision made to action taken</li>
<li>escalations per decision class</li>
<li>decisions reopened after approval</li>
</ul>
<p><strong>Ambiguous ownership is the most expensive architecture in your company.</strong></p>
<hr>
<h1 id="movement-ii--architecture">Movement II — Architecture</h1>
<h2 id="4-build-firewalls-not-masterpieces">4. Build firewalls, not masterpieces</h2>
<p>A statistical engine cannot be expected to behave like deterministic infrastructure. If your architecture only works when the model is correct 100% of the time, it is not architecture. It is wishful thinking with a demo budget.</p>
<p>Three failure modes, three firewalls. They are not the same thing and they are not solved by the same code:</p>
<ul>
<li><strong>Inbound sanitization.</strong> What data is permitted into the prompt context. PII strippers, schema enforcers, retrieved-document trust scoring. This is also where indirect prompt injection — instructions hidden in a vendor PDF, a customer message, or a tool output — gets caught before it reaches the model.</li>
<li><strong>Outbound validation.</strong> A typed schema checker stands between the model and the operational database. Malformed JSON, out-of-range values, and policy-violating outputs are rejected at the boundary, not absorbed by downstream services.</li>
<li><strong>Operational fallback.</strong> Circuit breakers for vendor outages and rate limits. If the model returns invalid output three times in a row, the system degrades to a deterministic path — not a stack trace in front of the user.</li>
</ul>
<p>Each of these is a separate piece of code with a separate owner, a separate test surface, and a separate failure mode. A &ldquo;kill switch&rdquo; that catches all three is a slide, not a system.</p>
<p><strong>You cannot prompt your way out of entropy. You have to architect your way out of it.</strong></p>
<h2 id="5-evaluation-is-the-spine">5. Evaluation is the spine</h2>
<p>If you cannot define an eval suite before shipping a feature, you do not understand the system well enough to ship it.</p>
<p>A  <a href="/blog/2026-04-23-ai-evaluation-maturity/"
   
   >five-level maturity ladder</a>
:</p>
<ol>
<li><strong>Vibes-based.</strong> Someone eyeballs prompts before release.</li>
<li><strong>Spreadsheet.</strong> Suite exists, runs occasionally, blocks nothing.</li>
<li><strong>CI/CD-integrated.</strong> Evals run on every PR. A failed gate stays failed.</li>
<li><strong>Continuous telemetry.</strong> Production samples scored asynchronously. Incidents become regression tests.</li>
<li><strong>Governance as moat.</strong> Evaluation shapes architecture before code. Margin, latency, and sovereignty tradeoffs are quantified, not asserted.</li>
</ol>
<p>Below Level 3 is not a production system. It is a demo with a pager.</p>
<p>Level 4 is where most organizations get stuck, and the reason is rarely effort. Judge models drift, ground truth ages, sampling bias creeps in, and your asynchronous scoring quietly stops tracking the failure mode you cared about. Mature teams hold a small, hand-labeled golden set as the anchor, treat the judge model as a versioned dependency, and re-calibrate when either changes.</p>
<p>Eval portability is a year-two survival trait. If your eval suite is hand-tuned to one model&rsquo;s tokenizer and one vendor&rsquo;s output quirks, you have not built an eval suite. You have built a benchmark for the model you are about to be unable to leave.</p>
<h2 id="6-agentic-systems-run-on-a-reliability-contract">6. Agentic systems run on a reliability contract</h2>
<p>Agents are not magical workers. They are autonomous systems with more ways to fail. The reliability discipline gets stricter, not looser.</p>
<p>Every production agent answers five questions in one meeting, without hand-waving:</p>
<ul>
<li>what is it allowed to do?</li>
<li>what is it explicitly not allowed to do?</li>
<li>what metrics prove it is healthy?</li>
<li>what happens when the model degrades?</li>
<li>who can stop it, and how fast?</li>
</ul>
<p>But the five questions are a meeting checklist. The contract is a published artifact with <strong>SLOs, blast-radius caps in dollars or rows or API calls, rollback latency targets, and a named owner per failure mode.</strong> Blast radius is the real design variable: data scope, action scope, time scope, permission scope, fallback scope.</p>
<p>Kill switches are not weakness. They are governance that can move faster than the failure. A useful test of any AI control: <strong>could an engineer follow this rule at 2 a.m. without calling a committee?</strong></p>
<p>A roadmap that ships an agent without answers to these questions is a roadmap that has shipped a liability with a product label. Every initiative names how it turns off, how it knows it is hurting, how fast it reverts, and what manual path exists when the model degrades.</p>
<p><em>Companion:  <a href="/docs/agent-reliability-contract"
   
   >Agent Reliability Contract template</a>
.  <a href="/docs/rollback-template"
   
   >Rollback document template</a>
.</em></p>
<p><strong>Autonomy without a reliability contract is just an incident waiting for a timeline.</strong></p>
<hr>
<h1 id="movement-iii--economics--externals">Movement III — Economics &amp; Externals</h1>
<h2 id="7-unit-economics-live-at-the-workflow-not-the-model-call">7. Unit economics live at the workflow, not the model call</h2>
<p>Teams fixate on tokens because tokens are visible. The real bill sits around the model: retries, context assembly, human correction, support escalation, and the work of proving the output is acceptable.</p>
<p>Route by value and by risk. Trivial work stays cheap and local. High-stakes work earns expensive inference and stronger checks. A finance-aware leader can answer, without hand-waving:</p>
<ul>
<li>what each class of request costs to serve, end to end</li>
<li>where the rework happens</li>
<li>what failure costs when the model is wrong</li>
<li>which parts of the workflow justify premium inference</li>
</ul>
<p>The cost question nobody owns until it explodes: <strong>when product ships a feature that 10x&rsquo;s tokens, who pays?</strong> If the answer is &ldquo;we&rsquo;ll figure it out,&rdquo; you have not designed an operating model. You have deferred a fight.</p>
<p>Compute placement is part of this calculation, not a separate one. For high-frequency agentic workloads, a chain of round-trips across regions and vendors compounds into real latency tax and real egress cost. Local-first, hardware-aware patterns earn their place where the workload mix justifies them — and create a worse outcome where it does not. Measure first, place compute second.</p>
<p><strong>A cheaper model that fails gracefully beats an expensive model that fails silently.</strong></p>
<h2 id="8-sovereignty-is-an-architecture-constraint">8. Sovereignty is an architecture constraint</h2>
<p> <a href="/blog/2026-04-06-sovereign-systems-privacy-non-optional/"
   
   >Privacy is not a feature you bolt on</a>
 before an enterprise contract closes. It is the shape of the system.</p>
<p>A sovereign system controls the full lifecycle of every piece of data — where it lives, who can access it, how long it persists, and what happens when someone asks you to delete it. In practice, four concrete patterns:</p>
<ul>
<li><strong>Customer-managed keys.</strong> BYOK or hold-your-own-key. If your cloud provider holds the only copy of the encryption key, &ldquo;we cannot access your data&rdquo; is a policy promise, not a verifiable claim.</li>
<li><strong>Regional routing with storage isolation.</strong> EU data does not leave EU infrastructure. The application layer handles the routing. The deployment pipeline ships multi-region.</li>
<li><strong>Scoped, short-lived access.</strong> No ambient credentials. Service-to-service tokens with explicit grants and automatic expiry.</li>
<li><strong>Immutable audit trails.</strong> Append-only, tamper-evident logging of every access, transformation, and movement.</li>
</ul>
<p>&ldquo;We use AWS&rdquo; is not an answer to &ldquo;where does my data live.&rdquo; <strong>Sovereignty is about specificity.</strong></p>
<p>The compounding bill arrives when you try to add this later. The discount arrives when you build it in early and close enterprise contracts without an architectural retrofit.</p>
<h2 id="9-the-threat-model-is-the-manifesto">9. The threat model is the manifesto</h2>
<p>An AI manifesto without a threat model is marketing copy. Four risks every operator names explicitly:</p>
<ul>
<li><strong>Indirect prompt injection.</strong> Instructions hidden in retrieved documents, tool outputs, and user uploads — not just in the user&rsquo;s direct prompt. Treat every retrieved string as potentially adversarial. Validate before it reaches the model. Strip before it reaches the agent.</li>
<li><strong>Silent quality drift.</strong> The model returns <em>slightly</em> worse reasoning. The tone shifts. The retrieval starts ignoring critical documents. There is no stack trace. Only asynchronous production scoring, anchored to a golden set, catches this before customers do.</li>
<li><strong>Vendor and model lock-in by accident.</strong> Fine-tunes, preference data calibrated to one model family, and prompts hand-tuned to a specific tokenizer compound. By year two, your &ldquo;swappable&rdquo; model is a six-month migration. Discipline preserves optionality: prompt abstraction, eval portability, vendor-neutral preference data, and a quarterly review of what would break if the vendor changed terms tomorrow.</li>
<li><strong>Agent blast radius creep.</strong> Permissions accumulate. The agent that summarizes documents quietly gains write access to your billing API because someone needed it once. Audit scope quarterly. Treat agent permissions like database credentials, not like configuration.</li>
</ul>
<p>Threat modeling is not a one-time exercise. It is the bill of materials your system runs on.</p>
<hr>
<h1 id="movement-iv--people--failure">Movement IV — People &amp; Failure</h1>
<h2 id="10-interfaces-beat-titles">10. Interfaces beat titles</h2>
<p>Most AI hiring plans try to fix an interface problem with resumes. They rarely work.</p>
<p>A working leadership system is not a roster of senior titles. It is a decision map. Four owners with explicit decision rights and explicit escalation paths:</p>
<ul>
<li><strong>Product</strong> — user outcomes, adoption, business tradeoffs.</li>
<li><strong>Platform</strong> — safe defaults, deployment paths, observability, paved roads.</li>
<li><strong>Applied AI</strong> — workflow behavior, routing, prompting, retrieval, evaluation quality.</li>
<li><strong>Governance</strong> — risk boundaries, sovereignty controls, escalation thresholds.</li>
</ul>
<p>The titles can be anything. The interfaces cannot be ambiguous. If the answers depend on who is online that day, the system is not operational.</p>
<p>The same logic governs platform teams. A platform exists to make repeated decisions disappear into the default path — identity, routing, eval harnesses, logging, safe deployment, fallback behavior. The moment platform becomes a queue that has to bless every use case,  <a href="/blog/2026-05-14-why-ai-platform-teams-become-bottlenecks/"
   
   >the queue is the product</a>
 and waiting is the cost. <strong>A platform should remove waiting, not become a waiting room.</strong></p>
<p>Hiring works after the operating contract is clear, not before. New hires scale the current operating model, good or bad. <strong>Org debt is interface debt with better branding.</strong></p>
<h2 id="11-anti-fragility-requires-portability-discipline">11. Anti-fragility requires portability discipline</h2>
<p>Resilience is surviving the shock. Anti-fragility is using the shock to remove the next one.</p>
<p>Fragility hides in the org chart and in the stack. One engineer who knows the routing. One vendor whose terms changed last week. One fine-tune that took six months to train and would take six months to migrate. That is not an organization or a system. That is a single point of failure wearing a department badge or a model card.</p>
<p>Four design choices build strength:</p>
<ul>
<li><strong>Modular ownership.</strong> No critical function depends on one person&rsquo;s memory. Deputies are named.</li>
<li><strong>Resettable interfaces.</strong> A model, vendor, or workflow can be swapped without a rewrite. This is not free. It requires prompt abstraction, eval portability, vendor-neutral preference data, and a regular drill where the team actually proves a swap is possible.</li>
<li><strong>Fast learning loops.</strong> Every failure produces a tighter eval, a better fallback, or a clearer operating boundary.</li>
<li><strong>Cross-training on the boring parts.</strong> Alerts, evals, fallback logic, access boundaries. The unglamorous work is what keeps the organization elastic.</li>
</ul>
<p>A short anti-fragility check:</p>
<ul>
<li>Can you swap a model without rewriting the product?</li>
<li>Can you lose a key engineer without losing the system?</li>
<li>Can you absorb a vendor price increase without panic?</li>
<li>Can you turn a production incident into an improved control?</li>
</ul>
<p>If any answer is no, the organization is more brittle than it thinks. The most expensive lie an AI organization tells itself is that the model is swappable when nobody has tried.</p>
<h2 id="12-the-year-two-test">12. The year-two test</h2>
<p>A lot of AI organizations look healthy in month three and brittle by year two. The model did not fail. The operating model did. Prototype energy is easy to create. Durable coordination is not.</p>
<p>The single question that separates the two:</p>
<blockquote>
<p>Can the AI system survive a senior person going on vacation for two weeks?</p>
</blockquote>
<p>If the answer is &ldquo;not really,&rdquo; the organization is still running on hidden tribal knowledge.</p>
<p>If the answer is &ldquo;yes, with documented ownership, a published reliability contract, an eval suite that blocks releases, and a fallback path the on-call engineer can execute at 2 a.m.,&rdquo; the company is moving from prototype to production.</p>
<p>That is the only year-two test that matters. Everything else in this manifesto is in service of passing it.</p>
<hr>
<h2 id="what-this-manifesto-is-not">What this manifesto is not</h2>
<p>It is not a prediction about which model wins. It is not a framework for replacing engineers with agents. It is not a defense of any vendor, any cloud, or any stack.</p>
<p>It is a statement about how serious companies organize for AI when the easy money, the demo budgets, and the hype cycles are done — and only the operating model is left to do the work.</p>
<p>The model will change.</p>
<p>The system around it should not.</p>
<hr>
<p><em>Law Zava writes about the operating model behind serious AI execution. Companion artifacts:  <a href="/docs/agent-reliability-contract"
   
   >Agent Reliability Contract template</a>
 ·  <a href="/docs/rollback-template"
   
   >Rollback document template</a>
 ·  <a href="/docs/eval-starter-kit"
   
   >Eval Suite starter kit</a>
. The canonical reading path is at  <a href="/blog"
   
   >/blog</a>
.</em></p>
]]></content:encoded></item><item><title>The CTO Communication Protocol: Aligning Engineers, Executives, and Investors in AI Programs</title><link>https://lawzava.com/blog/2026-05-12-cto-communication-protocol-ai-programs/</link><pubDate>Tue, 12 May 2026 00:00:00 +0000</pubDate><guid>https://lawzava.com/blog/2026-05-12-cto-communication-protocol-ai-programs/</guid><description>AI programs fail when each layer hears a different success definition.</description><content:encoded><![CDATA[<h2 id="quick-take">Quick take</h2>
<p>AI programs rarely fail because one team is incompetent. They fail because the organization tells itself three different stories about the same system. Engineers hear one version of reliability, executives hear one version of commercial impact, and investors hear one version of scale. By the time those stories collide in a board meeting, the disagreement has already been baked into the program.  <a href="/blog/2026-04-14-ai-cto-perspective/"
   
   >A CTO&rsquo;s job</a>
 is to keep the story true enough that people can act on it.</p>
<h2 id="the-alignment-problem">The Alignment Problem</h2>
<p>Every layer in a company listens for a different failure.</p>
<p>Engineers ask: can we make it reliable without turning the stack into a science project?</p>
<p>Executives ask: can it matter this quarter, not someday?</p>
<p>Investors ask: can it scale without becoming a support burden, a security problem, or a  <a href="/blog/2026-04-28-margin-risk-speed-ai-strategy-metrics/"
   
   >margin leak</a>
?</p>
<p>If those questions are not coordinated, the organization drifts into avoidable conflict. Product thinks it shipped success. Engineering thinks it shipped risk. Finance thinks it shipped cost. The AI program becomes a political object instead of an operating system.</p>
<h2 id="what-each-layer-needs-to-hear">What Each Layer Needs to Hear</h2>
<p>A good communication protocol gives each audience the right level of detail and nothing more.</p>
<p><strong>Engineers</strong> need constraints, failure modes, ownership, and the exact conditions under which they should stop or escalate.</p>
<p><strong>Executives</strong> need the business outcome, the tradeoffs, the cost of delay, and the risk of waiting for a perfect answer.</p>
<p><strong>Investors or board members</strong> need the thesis, the numbers, the confidence interval around those numbers, and the reason the company believes the numbers are real.</p>
<p>The common mistake is predictable: over-share implementation detail upward and under-share operational reality downward. Leaders either talk past each other or sand off the complexity to keep the room calm. Neither habit helps. Clarity is kinder than politeness when the system is expensive.</p>
<h2 id="build-a-communication-rhythm">Build a Communication Rhythm</h2>
<p>Strong CTOs do not improvise every update. They set a rhythm that forces the same narrative to appear at predictable intervals, so the organization can spot drift before it becomes a surprise.</p>
<p>A practical cadence looks like this:</p>
<ul>
<li>weekly: operational progress, blockers, decisions made, decisions deferred</li>
<li>monthly:  <a href="/blog/2026-05-05-measure-ai-progress-without-theater/"
   
   >outcome metrics</a>
, risk posture, and what changed in the operating assumptions</li>
<li>quarterly: strategy shifts, tradeoffs, roadmap changes, and what the board should expect next</li>
</ul>
<p>That structure gives the organization memory and gives the board a clean way to compare this quarter with the last one.</p>
<p>The point is not to produce more slides. The point is to keep the story consistent enough that people can challenge it honestly.</p>
<p>Misaligned narratives are delayed incidents.</p>
<h2 id="use-the-same-three-questions-everywhere">Use the Same Three Questions Everywhere</h2>
<p>Keep asking the same three questions in every forum: what changed, what did it affect, and what happens next? Those questions work at the team level, the executive level, and the board level because they force the same discipline: outcome, consequence, next move. If a layer cannot answer them, the communication is not yet useful.</p>
<p>Alignment is not consensus. It is a shared operating picture.</p>
<h2 id="key-takeaways">Key Takeaways</h2>
<ul>
<li>AI programs fail when each audience hears a different success definition.</li>
<li>Engineers, executives, and investors need different levels of detail, but they need the same core truth.</li>
<li>Use a consistent communication rhythm so the story does not change every time the room changes.</li>
<li>Keep asking what changed, what it affected, and what happens next until the answer is sharp enough to survive board scrutiny.</li>
</ul>
]]></content:encoded></item><item><title>AI Team Structures 2026: Central, Embedded, and Hybrid Models</title><link>https://lawzava.com/blog/2026-02-16-ai-team-structures/</link><pubDate>Mon, 16 Feb 2026 00:00:00 +0000</pubDate><guid>https://lawzava.com/blog/2026-02-16-ai-team-structures/</guid><description>A practical guide to central, embedded, and hybrid AI team structures, with roles, tradeoffs, and scaling rules.</description><content:encoded><![CDATA[<h2 id="quick-take">Quick take</h2>
<p>By mid-February 2026, the org question isn&rsquo;t &ldquo;should we have an AI team?&rdquo; It&rsquo;s &ldquo;where does ownership live?&rdquo; The best structures make evaluation, cost, and incident response someone’s job, not a shared worry. Most teams land on a hybrid: a small enabling platform group plus embedded delivery in product teams.</p>
<p>AI work has shifted from experiments to ongoing product and operations work. Most organizations that ship AI features have converged on a small set of structures. The right choice still depends on maturity, product criticality, and how much shared infrastructure is needed. The structure also changes how teams manage  <a href="/blog/2026-02-09-ai-cost-trends/"
   
   >AI inference cost</a>
,  <a href="/blog/2026-01-26-ai-native-architecture-2026/"
   
   >AI-native architecture</a>
, and governance.</p>
<p>This post focuses on structures that stay stable under real delivery pressure, not aspirational org charts.</p>
<h2 id="team-models-that-hold-up">Team models that hold up</h2>
<h3 id="central-platform-team">Central platform team</h3>
<p>A central platform team builds and operates shared AI infrastructure, evaluation tooling, and common components. This model fits organizations that need consistency, strong governance, and shared reliability across many teams. It works particularly well in regulated industries where auditability and compliance require a single pane of glass across all AI usage.</p>
<p>Where it breaks down is speed. When every product team routes requests through a central group, the platform team becomes a bottleneck. This is common in organizations with ten or more product teams sharing a three-person AI platform group. The queue grows, the platform team triages by business priority, and lower-priority teams either wait or build workarounds. If you choose this model, staff it generously or accept that iteration speed will be gated.</p>
<h3 id="embedded-in-product-teams">Embedded in product teams</h3>
<p>AI engineers live inside product teams and ship features end to end. This model fits products where AI is core to user experience and iteration speed matters. A team building a search product or a conversational interface benefits from having the AI engineer sit in the same standup, hear the same customer feedback, and own the same on-call rotation as the rest of the squad.</p>
<p>The risk is fragmentation. When several product teams solve the same problems independently, you end up with three prompt evaluation frameworks, two model routing strategies, and no shared understanding of cost. This model works best when you have a small number of product teams, or when AI use cases are different enough that shared infrastructure would not save much effort.</p>
<h3 id="hybrid-model">Hybrid model</h3>
<p>A small platform team provides shared foundations while product teams embed AI engineers for delivery. This is the most common model because it balances infrastructure consistency with product-team autonomy.</p>
<p>The platform team in a hybrid model typically owns inference infrastructure, model selection and routing, shared evaluation tooling, and cost observability. Product-team AI engineers own feature-level prompts, domain-specific evaluation datasets, and production behavior for their use case. The boundary between these layers matters more than the org chart. Writing down the interface contract, what the platform provides and what the product team owns, prevents most of the friction that kills hybrid models.</p>
<p>The hybrid model fails when the platform team behaves like an internal vendor rather than an enabling function. If product teams have to file tickets and wait for releases to get basic capabilities, you&rsquo;re back to the central bottleneck problem with extra steps. The platform team should ship self-serve tooling and stay close to the product engineers who use it.</p>
<h2 id="decision-criteria">Decision criteria</h2>
<p>Use the structure that matches the work, not the other way around. Three factors tend to dominate the decision.</p>
<p>First, how many teams need the same AI capabilities and standards. If the answer is two, embedded is fine. If it&rsquo;s eight, you need a platform function or you will drown in duplication.</p>
<p>Second, how frequently AI features ship and change. High iteration velocity favors embedded engineers who can move with the product team&rsquo;s sprint rhythm. Slower, more deliberate releases are easier to route through a central group.</p>
<p>Third, how much operational risk and compliance pressure exists. Regulated environments benefit from centralized governance and audit trails. Lower-risk consumer products can afford more distributed ownership.</p>
<p>Add one more that teams often forget: <strong>how expensive mistakes are</strong>. If the blast radius is high, you want tighter standards, stronger review, and explicit gating.</p>
<h2 id="roles-and-responsibilities-in-2026">Roles and responsibilities in 2026</h2>
<h3 id="ai-engineer">AI engineer</h3>
<p>Builds AI features inside product flows, owns evaluation in production, and partners with design and data for quality. The role blends software engineering with systematic testing and monitoring. In 2026, the AI engineer is distinct from the ML engineer or data scientist. An ML engineer typically focuses on model training, fine-tuning, and training infrastructure. A data scientist focuses on analysis, experiment design, and statistical rigor. The AI engineer works downstream of both: integrating models into products, building evaluation harnesses that catch regressions, and owning production behavior. Think of it as the difference between building the engine and building the car.</p>
<h3 id="ai-platform-engineer">AI platform engineer</h3>
<p>Owns shared systems like inference services, evaluation pipelines, and model routing. The focus is reliability, scale, and cost control for many teams at once. This role requires strong infrastructure engineering skills and an understanding of how product teams consume AI capabilities. Strong platform engineers pair with product-team AI engineers to understand real usage patterns rather than building abstractions in isolation.</p>
<h3 id="ai-product-manager">AI product manager</h3>
<p>Defines the use case scope, success metrics, and rollout plan. The role emphasizes rigorous tradeoffs between quality, latency, and cost, with clear ownership of user outcomes. An AI PM needs to be comfortable with probabilistic behavior and must resist the urge to promise deterministic results. They own the decision of when a feature is good enough to ship and when it needs more evaluation investment.</p>
<h2 id="team-size-and-scaling">Team size and scaling</h2>
<p>Most teams start too large. A single AI engineer embedded in a product team, supported by a lightweight shared toolkit, is enough to validate whether AI adds value to a workflow. Scaling up before validation leads to expensive teams that optimize solutions to the wrong problems.</p>
<p>For the platform function, two to three engineers can support four or five product teams if the scope is well-defined. Once you pass that ratio, the platform team needs to grow or the scope needs to shrink. A common mistake is building a platform team of six that tries to serve fifteen product teams and ends up serving none of them well.</p>
<p>When hiring, prioritize engineers who have shipped AI features into production over those with impressive research backgrounds but no operational experience. The gap between a working prototype and a reliable production system is where most AI projects stall, and that gap is an engineering problem, not a research problem.</p>
<h3 id="ai-security--governance-partner">AI security / governance partner</h3>
<p>Whether this is a dedicated role or a shared function, someone must own policy: data handling rules, permission models, logging requirements, and review gates. Teams that skip this role tend to slow down later under audit pressure.</p>
<h2 id="common-failure-modes">Common failure modes</h2>
<p>These patterns show up across teams. Platform teams that ship abstractions without enabling product speed often build elaborate internal APIs nobody asked for while product teams work around them. Product teams that skip evaluation and discover quality issues late usually treat AI features like deterministic code, then get surprised when behavior drifts after a model update. Ambiguous ownership for model behavior in production creates incidents where nobody knows whether the platform team or the product team should respond. Usually it is both, but the escalation path was never defined.</p>
<h2 id="what-this-looks-like-at-different-sizes">What This Looks Like At Different Sizes</h2>
<ul>
<li><strong>Small startup (1 to 2 AI engineers)</strong>: embed in the product, keep tooling lightweight, and use strict output validation plus a small eval set. Avoid platform work that nobody will maintain.</li>
<li><strong>Mid-size company (multiple product teams)</strong>: introduce a small platform function to own routing, eval tooling, and shared guardrails, while keeping delivery embedded in product teams.</li>
<li><strong>Large org (regulated, many teams)</strong>: platform + governance becomes non-negotiable. Embedded teams still ship features, but standards, audit trails, and permissions need central ownership.</li>
</ul>
<h2 id="operating-practices-that-matter">Operating practices that matter</h2>
<p> <a href="/blog/2024-02-19-evaluating-llm-applications/"
   
   >Evaluation</a>
 is a first-class deliverable, not a side task. Teams that ship reliably treat test sets, error analysis, and monitoring as part of every release. Evaluation datasets are versioned alongside code, and regressions in evaluation scores block releases the same way failing tests would.</p>
<p>Clear service ownership and on-call rotations prevent AI incidents from becoming orphaned problems. Every AI feature in production should have a named owner who is paged when it degrades. Cost management belongs in planning, not just finance review after launch. Model inference costs can surprise you, and the time to catch a cost spike is before it compounds for a month.</p>
<h2 id="a-pragmatic-starting-point">A pragmatic starting point</h2>
<p>If the organization is early, start embedded with a lightweight shared toolkit and a small platform function. As adoption grows, formalize the platform team and tighten standards. Revisit the structure every six months, because the problem shifts as AI moves from pilot to core workflow. The structure that got you to your first production feature is rarely the structure that will support your tenth.</p>
<h2 id="faq">FAQ</h2>
<h3 id="what-is-the-best-ai-team-structure-in-2026">What is the best AI team structure in 2026?</h3>
<p>For most companies, the best default is hybrid: a small platform group owns shared infrastructure, routing, evaluation, and governance, while product teams own delivery and workflow quality.</p>
<h3 id="when-should-ai-engineers-be-embedded-in-product-teams">When should AI engineers be embedded in product teams?</h3>
<p>Embed AI engineers when iteration speed and workflow context matter more than central consistency. This works best when use cases are distinct or when the company is still validating where AI creates value.</p>
<h3 id="when-does-a-central-ai-platform-team-make-sense">When does a central AI platform team make sense?</h3>
<p>A central platform team makes sense when many product teams need the same model access, evaluation tooling, governance, and cost controls. It fails when it becomes a ticket queue.</p>
<h3 id="who-owns-ai-quality-in-production">Who owns AI quality in production?</h3>
<p>The product team should own user-facing behavior. The platform team should own shared reliability, model access, routing, observability, and guardrails. The interface between those teams must be explicit.</p>
]]></content:encoded></item><item><title>Your AI Team Problem Is Not Technical</title><link>https://lawzava.com/blog/2024-12-02-building-ai-teams/</link><pubDate>Mon, 02 Dec 2024 00:00:00 +0000</pubDate><guid>https://lawzava.com/blog/2024-12-02-building-ai-teams/</guid><description>Most AI team failures come from unclear ownership and weak evaluation, not missing talent. Structure and discipline beat hiring sprees.</description><content:encoded><![CDATA[<p>I&rsquo;ve been in or around AI teams since 2018 &ndash; from a startup accelerator to enterprise teams, with roots going back to my first startup. One lesson keeps repeating: teams rarely fail at AI because they lack talent. They fail because nobody owns the outcome.</p>
<p>That sounds harsh. It&rsquo;s also true.</p>
<h2 id="the-ownership-gap">The Ownership Gap</h2>
<p>Here&rsquo;s how it usually goes. A company decides to &ldquo;do AI.&rdquo; They hire an ML engineer, maybe two. Those engineers build a demo. Leadership is impressed. Then someone asks, &ldquo;Who owns this in production?&rdquo; and the room goes quiet.</p>
<p>The ML engineer built the model. The product team didn&rsquo;t spec the success criteria. The data engineer wasn&rsquo;t involved. The designer has no idea what happens when the model gets it wrong. And nobody defined what &ldquo;getting it wrong&rdquo; even means.</p>
<p>I&rsquo;ve seen this exact pattern at large enterprises and small startups. The blocker isn&rsquo;t technology. It&rsquo;s structure.</p>
<h2 id="three-models-that-work">Three Models That Work</h2>
<p>Every successful team I&rsquo;ve seen fits one of three structures, and the core tradeoff has not changed.</p>
<p><strong>Embedded.</strong> AI engineers sit inside product teams. They ship features directly, own the evaluation, and live with the consequences of their choices. This works when AI is a feature, not a platform. The downside: practices drift across teams because there&rsquo;s no central coordination.</p>
<p><strong>Platform.</strong> A central team builds shared infrastructure &ndash; model serving, evaluation harnesses, prompt management, observability. Product teams consume that platform. This works when multiple products need AI. The downside: the platform team gets pulled in every direction and loses focus on any single product.</p>
<p><strong>Hybrid.</strong> A platform team builds the core. Embedded engineers in product teams customize it. This is the most common pattern at companies that have scaled this successfully. It also requires the most coordination. Without clear ownership boundaries, it degenerates into blame-passing between platform and product.</p>
<p>Pick the model that matches your current scale, not the one you hope to need in two years.</p>
<h2 id="who-to-hire">Who to Hire</h2>
<p>The best AI engineers I&rsquo;ve worked with share a few traits that don&rsquo;t show up on resumes.</p>
<p>They can explain how their system fails. Not just how it works, but how it breaks and what happens when it does. This is the best interview signal I&rsquo;ve found.</p>
<p>They think in systems, not models. The model is one component. The retrieval layer, validation step, fallback path, and monitoring are just as important. A candidate who talks only about model architecture is missing the point.</p>
<p>They build evaluations before they build features. If you can&rsquo;t measure whether the thing works, you&rsquo;re guessing. The best engineers treat eval sets like test suites. They version them, maintain them, and refuse to ship without them.</p>
<p>They&rsquo;ve shipped something to real users. Not a notebook. Not a demo. Something people used, complained about, and forced them to iterate on. Production experience changes how you think about every design choice.</p>
<h2 id="the-operating-loop">The Operating Loop</h2>
<p>Fancy process frameworks aren&rsquo;t necessary. A tight loop between four phases covers it:</p>
<p><strong>Discovery.</strong> Define success in measurable terms. What does &ldquo;good&rdquo; look like? What are the edge cases? Is the data available? A clear definition of success is worth more than a long list of ideas.</p>
<p><strong>Prototyping.</strong> Run small experiments with real examples. Document the failures, not just the successes. Bring domain experts in early &ndash; they know the edge cases you&rsquo;ll miss.</p>
<p><strong>Development.</strong> Build the evaluation suite first. Version prompts and retrieval logic as code. Test against known failure cases whenever models or data change.</p>
<p><strong>Production.</strong> Roll out gradually. Monitor quality and cost in the same dashboard. Treat regressions as product issues with named owners, not vague &ldquo;the model changed&rdquo; explanations.</p>
<h2 id="what-actually-goes-wrong">What Actually Goes Wrong</h2>
<p>The problems I see most often aren&rsquo;t technical:</p>
<ul>
<li>Nobody owns evaluation for a specific feature. There&rsquo;s a shared checklist but no named person.</li>
<li>Success criteria are undefined, so feedback becomes opinion. &ldquo;This doesn&rsquo;t feel right&rdquo; isn&rsquo;t actionable.</li>
<li>The pipeline is too complex for the use case. Someone built a multi-agent system for what should have been a single prompt.</li>
<li>Knowledge stays in people&rsquo;s heads. When someone leaves, the team loses context that took months to build.</li>
</ul>
<p>Fix these four problems and you&rsquo;re ahead of most AI teams. No new tools required. No new hires. Just clarity about who owns what and how you know it&rsquo;s working.</p>
<p>That&rsquo;s the whole secret: clear ownership, reliable evaluation, and the discipline to maintain both. Everything else is detail.</p>
]]></content:encoded></item><item><title>Restructuring Engineering Orgs After Layoffs</title><link>https://lawzava.com/blog/2023-06-12-engineering-org-restructuring/</link><pubDate>Mon, 12 Jun 2023 00:00:00 +0000</pubDate><guid>https://lawzava.com/blog/2023-06-12-engineering-org-restructuring/</guid><description>Most post-layoff reorgs fail because they reorganize boxes instead of addressing the actual gaps. Here&amp;amp;rsquo;s what I&amp;amp;rsquo;ve seen work this year.</description><content:encoded><![CDATA[<h2 id="quick-take">Quick take</h2>
<p>If your reorg is a PowerPoint exercise to make the reduced headcount look intentional, stop. Fix ownership gaps, not org charts. The people who survived the layoffs already know what&rsquo;s broken &ndash; ask them.</p>
<p>I&rsquo;ve been pulled into three different &ldquo;help us restructure after layoffs&rdquo; conversations this year. The pattern is remarkably consistent. Company does layoffs in Q4 2022 or Q1 2023. The remaining engineers are spread thin. Ownership is unclear. Two or three critical systems now belong to nobody. Leadership decides a reorg will fix it.</p>
<p>It usually doesn&rsquo;t. Not because reorgs are bad, but because they&rsquo;re solving the wrong problem.</p>
<h2 id="what-actually-happened">What actually happened</h2>
<p>Here&rsquo;s the real situation at most of these companies. They cut 20-30% of engineering. The layoffs weren&rsquo;t surgical &ndash; they hit across teams, sometimes based on recency bias or cost rather than capability. The survivors are demoralized, overloaded, and wondering if they&rsquo;re next.</p>
<p>Then someone proposes a reorg. New team names, new reporting lines, maybe a shift from project teams to product teams. The slide deck looks clean. The reality is chaos.</p>
<p>What these orgs actually need isn&rsquo;t new boxes on a chart. It&rsquo;s three things: clear ownership of the systems that still matter, explicit decisions about what to stop doing, and honest communication that doesn&rsquo;t insult people&rsquo;s intelligence.</p>
<h2 id="when-a-reorg-is-actually-justified">When a reorg is actually justified</h2>
<p>Sometimes the layoffs genuinely changed the shape of the work enough that the old structure doesn&rsquo;t make sense. Real signals:</p>
<ul>
<li>Two teams were merged but nobody decided which team&rsquo;s approach wins, so both codebases rot.</li>
<li>A critical system lost its entire owning team and it&rsquo;s being maintained by whoever has time, which is nobody.</li>
<li>The product strategy changed alongside the layoffs, and the old team boundaries don&rsquo;t align to the new priorities.</li>
<li>Dependencies between teams have become the primary blocker because the connecting-tissue people were let go.</li>
</ul>
<p>These are structural problems that structural changes can help with.</p>
<h2 id="when-its-not">When it&rsquo;s not</h2>
<p>And sometimes the reorg is cover. I&rsquo;ve seen all of these:</p>
<ul>
<li>A new VP wants to &ldquo;put their stamp&rdquo; on things. The org was fine. The VP needed to justify their hire.</li>
<li>Conflict between two directors is being &ldquo;solved&rdquo; by separating their teams instead of addressing the conflict.</li>
<li>Leadership wants to signal activity to the board. &ldquo;We restructured&rdquo; sounds better than &ldquo;we&rsquo;re still figuring it out.&rdquo;</li>
<li>Someone read the Team Topologies book on a flight and now every conversation includes the phrase &ldquo;stream-aligned.&rdquo;</li>
</ul>
<p>If the root problem is people, process, or strategy, moving boxes around won&rsquo;t help. It&rsquo;ll just add a transition tax to an already exhausted org.</p>
<h2 id="what-i-actually-recommend">What I actually recommend</h2>
<p>Based on what&rsquo;s worked across these situations, the playbook is unsexy. Which is why it works.</p>
<p><strong>Step 1: Map what&rsquo;s actually broken.</strong> Not theoretically broken. Actually broken. Talk to the ICs. They know which systems are unowned, which dependencies are blocked, and which meetings are pointless. I usually spend the first week just listening. The engineers are relieved someone is asking.</p>
<p><strong>Step 2: Make ownership explicit.</strong> Write down, for every critical system: who owns it, who&rsquo;s on-call for it, and what the plan is. &ldquo;Shared ownership&rdquo; is a euphemism for &ldquo;no ownership.&rdquo; If a system matters, one team owns it. Full stop.</p>
<p><strong>Step 3: Kill things.</strong> This is the hard one. After layoffs, you have fewer people. You can&rsquo;t do the same amount of work. Something has to stop. The reorg should make it clear what&rsquo;s being stopped, not just what&rsquo;s being reorganized. At one company, the single most impactful change was killing two internal tools that each had one user. That freed up enough capacity to actually staff the important systems.</p>
<p><strong>Step 4: Communicate like adults.</strong> The worst thing I&rsquo;ve seen is the &ldquo;exciting restructuring&rdquo; email that uses words like &ldquo;streamlined&rdquo; and &ldquo;focused&rdquo; to describe what everyone knows was a layoff aftermath. Don&rsquo;t do that. Be direct: &ldquo;We lost good people. Here&rsquo;s how we&rsquo;re adjusting. Here&rsquo;s what we&rsquo;re stopping. Here&rsquo;s what we&rsquo;re doubling down on. Questions welcome.&rdquo;</p>
<p>At a mobility startup, we went through a version of this during a pivot. Smaller scale, but the same dynamics. The team that handled it best was the one where the lead said &ldquo;I don&rsquo;t have all the answers yet, but here&rsquo;s what I know and here&rsquo;s when I&rsquo;ll know more.&rdquo; Trust went up. Attrition went down.</p>
<h2 id="the-transition-matters-as-much-as-the-design">The transition matters as much as the design</h2>
<p>Even when the new structure is right, the transition can kill it. A few things that consistently matter:</p>
<ul>
<li><strong>In-flight work needs a home.</strong> Every project that&rsquo;s mid-stream needs an explicit owner in the new structure. Not &ldquo;we&rsquo;ll figure it out&rdquo; &ndash; a name, by the end of the week.</li>
<li><strong>New teams need a charter.</strong> Not a manifesto. A one-pager: what you own, what you don&rsquo;t, what your first quarter looks like. Teams that don&rsquo;t get this spend months figuring out their boundaries through conflict.</li>
<li><strong>Give it six months.</strong> The urge to tweak the new structure after four weeks is strong. Resist it. Reorgs take a full quarter to settle and another quarter to show results. Constant adjustment destroys any chance of stability.</li>
</ul>
<h2 id="how-to-know-if-it-worked">How to know if it worked</h2>
<p>Short-term (first month): are the ownership questions answered? Do people know who to go to? Has the &ldquo;who owns this?&rdquo; Slack question frequency dropped?</p>
<p>Medium-term (one quarter): is delivery predictability improving? Are cross-team dependencies less painful? Are the right things getting built?</p>
<p>Long-term (two quarters): retention. If you&rsquo;re losing the people you wanted to keep, the reorg failed regardless of what the delivery metrics say. The engineers who stayed through layoffs and a reorg have a very low tolerance for more disruption. Respect that.</p>
<h2 id="the-real-talk">The real talk</h2>
<p>Reorgs after layoffs are emotional events disguised as structural ones. The people in those boxes are tired, uncertain, and watching closely to see if leadership actually has a plan or is just rearranging furniture.</p>
<p>The best restructuring I&rsquo;ve seen this year was at a company where the CTO stood up and said: &ldquo;This is hard. We&rsquo;re going to get some of it wrong. But here&rsquo;s the logic, and here&rsquo;s how we&rsquo;ll adjust.&rdquo; No spin. No excitement. Just honesty.</p>
<p>That org stabilized in eight weeks. The one that did the polished all-hands with the aspirational vision? They&rsquo;re still losing people.</p>
]]></content:encoded></item><item><title>Stop Renaming Your Ops Team to SRE</title><link>https://lawzava.com/blog/2021-11-08-sre-team-structures/</link><pubDate>Mon, 08 Nov 2021 00:00:00 +0000</pubDate><guid>https://lawzava.com/blog/2021-11-08-sre-team-structures/</guid><description>Opinionated take on SRE team models from someone who has seen them all fail in interesting ways.</description><content:encoded><![CDATA[<p>I have a test I run when I walk into a new organization. I ask the SRE team lead: &ldquo;When was the last time you gave a service back to a product team because they met their reliability bar?&rdquo; If the answer is never, they don&rsquo;t have an SRE team. They have an ops team with a trendy name.</p>
<p>SRE is fundamentally about incentives and ownership. Not tooling. Not Prometheus dashboards. The org structure you choose determines whether reliability work gets prioritized or gets dumped on a small group of people who burn out.</p>
<h2 id="the-three-models-that-actually-exist">The Three Models That Actually Exist</h2>
<p><strong>Centralized SRE</strong> is one team supporting many services. It works early on when you&rsquo;re establishing standards and building your first incident response muscle. I recommend it for companies under 200 engineers with shared infrastructure.</p>
<p>The failure mode is predictable. The SRE team becomes a ticket queue. Product teams throw things over the wall. SREs lose context on individual services. On-call burden grows faster than headcount. I&rsquo;ve seen centralized SRE teams where every member was on call every other week. That isn&rsquo;t sustainable. That&rsquo;s a resignation factory.</p>
<p><strong>Embedded SRE</strong> puts reliability engineers inside product teams. Strong domain knowledge. Clear ownership. I like this model for complex services where the operational profile is unique &ndash; think payment processing, real-time data pipelines, anything where the SRE needs to understand the business logic to debug production.</p>
<p>The failure mode here is fragmentation. Every team invents their own monitoring stack. Incident learnings don&rsquo;t spread. SREs get treated as &ldquo;the person who does the ops stuff&rdquo; instead of a partner. And career growth gets weird because the SRE reports to a product manager who doesn&rsquo;t understand their work.</p>
<p><strong>Platform/Enablement SRE</strong> is the model I push most organizations toward, eventually. A central team builds reliability tooling, templates, and automation. Product teams own their own operations. The SRE team makes reliability easy instead of doing reliability for everyone.</p>
<p>This only works if the platform is good. If your self-service tooling is bad, product teams can&rsquo;t actually own their operations and everything escalates back to the same five experts. I&rsquo;ve watched this fail spectacularly at companies that tried to jump straight here without building the self-service layer first.</p>
<h2 id="what-i-actually-recommend">What I Actually Recommend</h2>
<p>Most organizations over 300 engineers should run a hybrid. Central platform work for the shared layer. Embedded support for the three to five most critical services. Everything else gets the self-service platform and advisory engagement.</p>
<p>The key is having explicit engagement levels. Not every service deserves dedicated SRE attention. I use three tiers:</p>
<ul>
<li><strong>Advisory:</strong> Architecture reviews and SLO guidance. Minimal operational involvement. This is for most services.</li>
<li><strong>Partner:</strong> Joint SLOs, shared incident response, regular reliability reviews. This is for important services with active reliability investment.</li>
<li><strong>Full support:</strong> Dedicated SRE ownership of production and on-call. This is for your revenue-critical, customer-facing, &ldquo;if this breaks the CEO calls someone&rdquo; services.</li>
</ul>
<p>Scale engagement up as criticality increases. Scale it back as the product team matures. The goal is always to make the SRE team less needed, not more.</p>
<h2 id="the-entry-criteria-nobody-wants-to-set">The Entry Criteria Nobody Wants to Set</h2>
<p>Here is where I get unpopular. I tell organizations to require teams to meet a baseline before they get dedicated SRE support. Defined SLOs. Monitoring that reflects user impact. Up-to-date runbooks. Automated deployments with rollback. Participation in postmortems.</p>
<p>If a product team can&rsquo;t be bothered to define an SLO, they aren&rsquo;t ready for an SRE partner. They want someone to carry their pager. That&rsquo;s a different thing.</p>
<h2 id="sizing">Sizing</h2>
<p>The &ldquo;1 SRE per 10 developers&rdquo; ratio gets thrown around a lot. It&rsquo;s a fine starting point but it means nothing without context. A team of 10 developers running a single stateless API needs less SRE support than a team of 10 running a distributed database cluster.</p>
<p>What matters more: can you sustain your on-call rotations? You need at least 5-6 people per rotation to avoid burnout. If you can&rsquo;t staff that, you either have too many services or too few SREs. Probably both.</p>
<h2 id="the-anti-patterns-i-see-everywhere">The Anti-Patterns I See Everywhere</h2>
<p><strong>Renaming ops to SRE.</strong> Same people, same work, new title. Nobody adopted error budgets. Nobody does blameless postmortems. Nobody is writing automation to replace toil. Just a title change and a conference talk about &ldquo;our SRE journey.&rdquo;</p>
<p><strong>SRE as deployment gatekeeper.</strong> If every deploy needs SRE approval, you&rsquo;ve built a bottleneck and called it reliability. Deployments should be automated and safe by default. SRE shouldn&rsquo;t be in the approval chain for routine changes.</p>
<p><strong>SRE as permanent firefighter.</strong> If your SRE team spends 80% of their time on incident response and 20% on prevention, the math never gets better. Google&rsquo;s original guidance was 50% cap on operational work. I&rsquo;ve never seen an enterprise hit exactly 50%, but the principle is right. If there&rsquo;s no time for prevention, you&rsquo;re just managing decline.</p>
<p>The best SRE team I&rsquo;ve worked with was at a mid-sized fintech. Six people. They supported the whole company not by owning every service, but by building such good tooling and templates that product teams could own their own reliability. The SRE team&rsquo;s backlog was mostly platform improvements. Incidents were handled by the teams that owned the services. SREs showed up for the big ones and ran the postmortems.</p>
<p>That&rsquo;s what good looks like. SRE as a leverage point, not a fire department.</p>
]]></content:encoded></item><item><title>What I Learned Building Our Platform Team This Year</title><link>https://lawzava.com/blog/2017-12-28-building-platform-teams/</link><pubDate>Thu, 28 Dec 2017 00:00:00 +0000</pubDate><guid>https://lawzava.com/blog/2017-12-28-building-platform-teams/</guid><description>Reflections on standing up the fintech startup&amp;amp;rsquo;s platform team in 2017 — what worked, what didn&amp;amp;rsquo;t, and why treating infra like a product changed everything.</description><content:encoded><![CDATA[<p>Looking back at 2017, the single best engineering decision we made at the fintech startup was pulling infrastructure work out of the product teams and giving it a home. Not a big, formal reorg. Just two of us, initially, saying: we&rsquo;re going to own CI/CD, deployment, and monitoring so the rest of the team can stop reinventing it every sprint.</p>
<p>That was March. By December, we had a small platform team that actually worked. Getting there was messy.</p>
<h3 id="the-problem-was-obvious">The problem was obvious</h3>
<p>We had product engineers writing their own deployment scripts. Plural. Each service had its own way of getting to production. Some used shell scripts checked into the repo. One team had a guy who just SSH&rsquo;d into the box. Logging was inconsistent. Monitoring was whatever someone remembered to set up. When something broke at 2 AM, diagnosing it meant guessing which service did what and where its logs lived.</p>
<p>This is fine when you have three services. We had more than three services.</p>
<h3 id="what-we-actually-built">What we actually built</h3>
<p>I kept the scope ruthless. Four areas, nothing else.</p>
<p><strong>Developer experience.</strong> CI/CD pipelines, a shared staging environment, deployment tooling that didn&rsquo;t require tribal knowledge. This was the first thing we tackled because it was the loudest pain point.</p>
<p><strong>Runtime infrastructure.</strong> Databases, caches, message queues. Standardized. Documented. Not six different Postgres configurations floating around.</p>
<p><strong>Observability.</strong> Centralized logging and monitoring. One place to look when things go wrong. This alone saved us hours every incident.</p>
<p><strong>Security defaults.</strong> Secrets management that wasn&rsquo;t &ldquo;put it in an environment variable and hope.&rdquo; Auth tooling that product teams could plug into without reading a novel.</p>
<h3 id="treat-it-like-a-product-or-it-dies">Treat it like a product or it dies</h3>
<p>Here is the thing I didn&rsquo;t expect. Building the platform was the easy part. Getting people to use it? That was the actual job.</p>
<p>We had product engineers with muscle memory. They knew their janky deploy scripts. They didn&rsquo;t trust our new pipeline. Fair enough. So I stopped thinking of the platform as infrastructure and started thinking of it as a product. Our users were the product teams. If they didn&rsquo;t adopt what we built, we failed. Full stop.</p>
<p>This meant sitting with teams. Watching them work. Asking dumb questions like &ldquo;why did you just do that manually?&rdquo; and then going back and automating whatever that was. It meant writing docs that were actually useful, not docs that checked a box. It meant having a Slack channel where people got answers fast.</p>
<p>Self-service was non-negotiable. If a team needed a new database, they should get it in minutes. Not file a ticket. Not wait for me to wake up. The moment we became a ticket queue, we became the bottleneck we were trying to eliminate.</p>
<h3 id="how-we-built-the-team">How we built the team</h3>
<p>I started alone, then pulled in one more person with strong ops background. That was the right call. You need someone who has been paged at 3 AM and someone who knows how to build tooling that doesn&rsquo;t feel like punishment to use. Pure infra people build things that work but nobody can figure out. Pure app developers build things that look nice but fall over under load.</p>
<p>We stayed small. Two people, then three by Q4. Attached to engineering leadership, sitting next to the product teams. Physically close. That proximity matters more than any process. When you overhear someone complaining about deploys, you fix deploys. When you&rsquo;re in a different building, you build things nobody asked for.</p>
<h3 id="golden-paths-over-mandates">Golden paths over mandates</h3>
<p>We never mandated anything. I hate mandates. Instead, we built golden paths — a service template, a default pipeline config, a monitoring setup that worked out of the box. You could ignore it all and do your own thing. But the golden path was so much easier that nobody bothered.</p>
<p>That&rsquo;s the trick. Make the right thing the easy thing. Don&rsquo;t write policies. Write code that makes the policy unnecessary.</p>
<p>We exposed platform capabilities through simple APIs. Want a database? Here&rsquo;s a YAML spec, submit it, done. Want to deploy? Push to main. Want logs? They are already where you expect them.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#f92672">apiVersion</span>: <span style="color:#ae81ff">platform.example.com/v1</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">kind</span>: <span style="color:#ae81ff">Database</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">metadata</span>:
</span></span><span style="display:flex;"><span>  <span style="color:#f92672">name</span>: <span style="color:#ae81ff">billing-db</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">spec</span>:
</span></span><span style="display:flex;"><span>  <span style="color:#f92672">engine</span>: <span style="color:#ae81ff">postgresql</span>
</span></span><span style="display:flex;"><span>  <span style="color:#f92672">size</span>: <span style="color:#ae81ff">small</span>
</span></span></code></pre></div><p>Nothing fancy. Deliberately boring. Boring infrastructure is good infrastructure.</p>
<h3 id="what-i-would-do-differently">What I would do differently</h3>
<p>I waited too long to write documentation. The first three months, everything lived in my head and in Slack threads. That doesn&rsquo;t scale. Even with three product teams, it doesn&rsquo;t scale. Write the docs early, even if they are rough.</p>
<p>I also underestimated how much time support would eat. By September, I was spending most of my week answering questions and helping teams migrate. Almost no time left to build new capabilities. We fixed this by setting explicit office hours and protecting two full days per week for building. Should have done that from day one.</p>
<h3 id="where-this-goes-next">Where this goes next</h3>
<p>We&rsquo;re a small company. This setup works for our size. If the fintech startup doubles its engineering team, the platform group will need to split into focused sub-teams — developer experience, infrastructure, security. But not yet. Right now the right move is staying lean and staying close to the people we serve.</p>
<p>A platform team is a product team that happens to build infrastructure. The moment you forget the product part, you&rsquo;re just an ops team with a fancier name. Keep your users close, build for self-service, and make the right path the easy path. That&rsquo;s the whole playbook.</p>
]]></content:encoded></item></channel></rss>