Skip to main content
The Hard Parts.dev
RF-08 Code · Structural RF Red Flags
Severity medium-high Freq common

Shared utility layer grows faster than products

The common or shared layer expands aggressively while real product or domain code remains less stable or less clear.

Severity
medium-high
Frequency
common
First noticed by
staff engineers · platform teams · new adopters
Detectability
visible-if-you-look
Confidence
high
At a glanceRF-08
Where you see this

internal platformsframework-heavy teamslarge shared libraries

Not necessarily a problem when
a proven platform capability is being intentionally built for multiple active consumers
Often mistaken for
more shared code means more maturity
Time horizon
medium-term
Best placed to act

architectplatform leadtech lead

The signal

What you would actually notice

Shared layers often become dumping grounds that increase coupling and reduce local clarity.

Field observation

Common, shared, platform, core, or util packages grow rapidly and become the default destination for new logic.

Also observed

  • Let us put it in common so other teams can use it later.
  • Most of our changes are in shared-core now.

Primary reading

What it usually indicates

Most likely underlying patterns when this signal shows up. Not a diagnosis, a starting hypothesis.

Usually indicates

Most likely underlying patterns when this signal shows up.

  • premature reuse
  • weak local ownership
  • platform-before-product thinking

Stakes

Why it matters

Shared layers often become dumping grounds that increase coupling and reduce local clarity.

Inspection

What to check next

Deliberate steps to confirm or disconfirm the primary reading above. Not a checklist. An order of inspection.

  1. consumer count
  2. change history of shared packages
  3. adoption versus output ratio

Diagnostic questions

Questions to ask the team, or yourself, before concluding anything.

  1. How many real consumers does this shared layer have?
  2. Would this code be clearer if it stayed local longer?
  3. Is reuse proven or merely hoped for?

Progression

Under the signal

Where this pattern tends to come from, what's holding it up, and where it goes if nothing changes.

Leading indicators

What tends to show up first.

  • teams add to shared layers before local implementation proves the pattern
  • common code has many optional paths and flags

Common root causes

What is usually sitting under the signal.

  • premature abstraction
  • status bias toward reusable code
  • central platform prestige

Likely consequences

What happens if nothing changes.

  • abstraction addiction
  • cross-team coupling
  • unclear local ownership

Look-alikes

Not what it looks like

Patterns that can be mistaken for this signal, and 'fix' attempts that make it worse.

False friends Things the signal is often confused with, but isn't.
  • more shared code means more maturity

Anti-patterns when responding

Responses that feel sensible and usually make the underlying pattern worse.

  • moving local code into shared space after one use
  • treating shared code volume as leverage

Context

Context and ownership

Where this signal surfaces, who sees it first, who can actually act, and how much runway there usually is before escalation.

Common contexts

Where it shows up

  • internal platforms
  • framework-heavy teams
  • large shared libraries
Most likely to notice

Who sees it first

Before it escalates.

  • staff engineers
  • platform teams
  • new adopters
Best placed to act

Who can move on it

Not always the same as who notices it.

  • architect
  • platform lead
  • tech lead
Time horizon

medium-term

How much runway there usually is before the signal hardens into the underlying pattern.

AI impact

AI effects on this signal

How AI-assisted and AI-driven workflows tend to amplify or hide this signal.

AI amplifies

Ways AI tooling tends to make this signal louder or more common.

  • AI makes packaging reusable-looking helpers cheap, increasing shared-layer sprawl.

AI masks

Ways AI tooling tends to hide this signal, so it keeps growing under the surface.

  • Generated abstractions look clean and coherent enough to evade skepticism.

Relationships

Connected signals

Related failure modes, decisions behind the signal, response playbooks, and neighboring red flags.