Prism Insights | Test

Through the Prism

Written by Ina Ochoche | Jul 8, 2026 4:17:13 AM

The Friction Tax

I’m liking the polished concrete floors. The carpet pattern was too aggressive at my previous job.

First day.
New laptop, new badge, new Slack notifications every fourteen seconds. Trying to remember everyone’s name while pretending you definitely understood the org chart.
The ID photo came out surprisingly decent. That alone feels statistically impossible.
There’s excitement too. No more interviewing. No more LeetCode. No more “tell me about a time…”. Just building.

A few onboarding sessions begin. Some “Getting Started” docs. Warm welcomes from engineering.

Then the first setup call starts.

“Okay, first clone the repo.”

Easy.

“Now install the dependencies.”

Still good.

“Actually not that Node version.”
“Use pyenv.”
“No, not that Python.”
“You need Rosetta for that package.”
“Did you run the Docker thing?”
“No, the other Docker thing.”

Silence.

Someone finally says:

“Yeah, setup’s kinda rough right now.”

You laugh politely.

Three hours later, the build is green… sorta. The onboarding docs are still wrong though. A month later, you’ve mastered the strange Docker ritual. Mostly. You still don’t know why it works. Only that if you skip it for more than a week, the environment breaks again.

Mental note:

“Fresh Pull and Build” before the boys trip to Peru next month.

Looks like the laptop’s coming too.

“People-centered” is not a cultural slogan. It is an operational discipline.

Most companies say people are their greatest asset, then structurally optimize around everything except people. They optimize cloud spend, sprint metrics, procurement cycles, reporting structures, quarterly dashboards, and utilization reports while a highly paid employee spends two days deciphering which version of the onboarding documentation is the “real” one.

And somehow everyone collectively accepts this as:

“just part of working.”

It isn’t. It’s organizational debt.

One of my graduate school professors used to say:

“Companies rarely fail because of ideas. They usually fail because they have the wrong people.”

My addition to that:

Organizations finally get the right people … then fail again by not enabling them.

Friction is organizational debt.

At Prism, we started looking at our engineering organization through a simple lens:

ROI ≈ Utility(Y)−[Total Cost(X)+Friction Tax]

Not as a precise financial equation (all the above are hard to truly quantify), but as a forcing function. A reminder that organizational friction has a real cost — even when it never appears on a balance sheet.

Variable What It Actually Means Hidden Realities
Utility(Y)
The actual value created Shipped features, reliability, customer trust, product momentum.
Total Cost(X)
More than just salary Recruiting, SaaS tooling, infrastructure, onboarding, operational overhead.
Friction Tax
The hidden variable Dependency drift, broken onboarding, slow CI pipelines, context switching, tribal knowledge, unclear ownership, environment instability.

 

Friction tax is the cost of a $150,000 engineer sitting idle because the setup documentation hasn’t been updated since the previous administration. It is the slow psychological erosion caused by fighting systems instead of building products. And the dangerous part is that most organizations become so accustomed to this friction that they stop seeing it altogether. And like most forms of organizational debt, the worst parts are notoriously difficult to quantify.

A people-centered organization systematically removes friction from meaningful work.

At Prism, we started asking a different question:

“What prevents engineers from contributing at full capacity?”

Engineers wanted to: build the product, finish the ticket, demo the feature, solve meaningful problems

They did not want to spend half their morning debugging local environments or deciphering undocumented infrastructure rituals. So we stopped treating development environments like pets. We moved toward a strictly ephemeral model: One Ticket, One Branch, One Isolated Cloud Stack.

The goal was simple: A new engineer should be able to contribute meaningful code on Day One. Preferably within seven minutes.

Developer satisfaction is a non-negotiable non-functional requirement . . . Constrained by business reality.

We implemented a cloud-native development workflow centered around GitHub Codespaces, ephemeral infrastructure, infrastructure-as-code and AI-native developer tooling. A developer creates a feature branch and that branch becomes the unit of work and the source of truth. From there:

  • a Codespace launches automatically
  • tooling versions are preconfigured
  • dependencies are hydrated
  • infrastructure deploys through AWS CDK
  • identities are bootstrapped securely
  • test users are provisioned automatically
  • APIs self-configure dynamically
  • Internally, we jokingly named some of the workflows “The Janitor” and “The Undertaker.” The Janitor reclaimed stale environments. The Undertaker destroyed infrastructure automatically when branches were deleted or merged.

The engineer opens the environment and starts building. Not troubleshooting. Increasingly, that also means reducing cognitive friction. Modern engineering environments are no longer just compute and infrastructure problems. They are context problems. Engineers lose enormous amounts of time trying to answer questions the organization already knows somewhere: “How does this service communicate with the rest of the stack?”, “What breaks if this Lambda changes?” ,“Which implementation is actually correct?”

That is friction too. We wanted engineers spending cognitive energy solving business problems — not performing Slack archaeology to reconstruct undocumented system behavior.

So our cloud development environment includes AI as part of the operational workflow — not because it is trendy, but because it materially reduces that friction tax.

Cursor became our default IDE because it provides utility to our developers and integrates seamlessly into our Codespaces environment, infrastructure workflows, and repository context. Our environments bootstrap shared engineering context automatically such as agents.md conventions, architectural guidance, requirements and documentation. We needed to reduce the cognitive load required to contribute meaningfully. AI simply became another way to do that.

Being people-centered does not mean infinite spend . . . A dead company helps nobody.

Operational empathy without economic discipline is not sustainable leadership. You cannot burn money indefinitely in the name of developer happiness. No company means: no mission, no product, no employees, no engineering organization to optimize in the first place.

So we made deliberate tradeoffs:

  • We did not provision isolated Aurora databases for every engineer because the cost and provisioning latency would destroy both finances and developer experience.
  • We shared heavyweight stateful resources pragmatically.
  • OpenSearch clusters remained centralized because spinning them up per branch would be operationally absurd.
  • Codespaces hibernated automatically after inactivity. Janitorial workflows aggressively reclaimed unused resources. AI usage and token consumption were monitored intentionally, just like every other shared engineering resource.

We optimized for velocity, developer experience and sustainable cost

Because developer satisfaction is important. But uncontrolled infrastructure spend is simply another form of organizational instability. And instability eventually reaches employees too.

When organizations remove friction, engineers return the investment in velocity, ownership, and creativity.

That was the real ROI.Not just hours saved; not just fewer onboarding tickets, not just faster deployments.

Momentum. Sustained momentum.

The engineer from Day One eventually figures everything out:

The strange Docker ritual.
The undocumented dependency.
The unwritten tribal knowledge.

Eventually, every organization teaches people how to survive its friction. The question is whether that friction was ever necessary in the first place. Developer experience is not a luxury feature. It is production infrastructure. Because every hour lost to unnecessary operational friction is more than wasted payroll.

It is wasted momentum.
Wasted creativity.
Wasted human potential.

And in a startup, wasted momentum compounds fast.