Skip to content
José da Cruz

Enterprise Architect, and Life Thinker

José da Cruz

Enterprise Architect, and Life Thinker

architecture

One-Way Doors vs Two-Way Doors: A Heuristic for How Much Analysis a Decision Deserves

josedacruz, August 23, 2026August 23, 2026

TL;DR: Not every decision deserves the same amount of debate. Some choices are easy to undo if you’re wrong, and some are almost impossible to take back. Sorting a decision into one of those two buckets before you argue about it tells you how much process it actually needs —…

Continue Reading
architecture

The Rule of Least Power: Why the Boring Technology Choice Usually Wins

josedacruz, August 19, 2026August 19, 2026

TL;DR: When you’re picking a tool, a database, or a way of solving a problem, the option with the most features and the most flexibility isn’t automatically the right choice. The Rule of Least Power says: pick the least powerful tool that still gets the job done, because less powerful…

Continue Reading
architecture

The Distributed Monolith: When Your Microservices Still Deploy as One App

josedacruz, August 18, 2026August 18, 2026

TL;DR: Splitting a monolith into microservices doesn’t automatically get you the benefits people promise — independent deploys, one team’s mistake not taking down everyone else, services that scale on their own. If your new services still call each other synchronously, share a database, or all have to deploy together, you’ve…

Continue Reading
architecture

Hyrum’s Law: Why Every Observable Behavior of Your API Becomes Someone’s Dependency

josedacruz, August 17, 2026August 17, 2026

TL;DR: Hyrum’s Law says that if enough people use your software, every observable behavior of it — not just the parts you documented and promised — will eventually become something someone depends on. That means “we never promised that” is not the same as “it’s safe to change.” This post…

Continue Reading
architecture

The Silent Veto: How One Skeptical Senior Engineer Can Kill Any Architecture Decision

josedacruz, August 15, 2026August 15, 2026

TL;DR: Architecture decisions don’t die because someone votes no. They die because one respected engineer looks skeptical, everyone else in the room reads that skepticism as risk, and the proposal quietly stops moving. This “silent veto” has no formal step and shows up on no org chart, but it’s often…

Continue Reading
architecture

Designing a Rate Limiter That Survives a Flash Sale: Token Bucket vs Sliding Window

josedacruz, August 13, 2026August 13, 2026

TL;DR: A simple “count requests per minute” rate limiter looks fine in testing but can let through double the traffic right at the boundary between two time windows — exactly when a flash sale or a bot swarm is most likely to hit you. Token bucket and sliding window algorithms…

Continue Reading
architecture

The Outbox Pattern: How to Publish Events Without Losing Them

josedacruz, August 12, 2026August 12, 2026

TL;DR: When a service needs to save something to its database and tell other services about it at the same time, doing those two things separately can silently lose data. The outbox pattern fixes this by writing the “I need to send this event” note into the same database transaction…

Continue Reading
architecture

The Bus Factor Test: A Quick Heuristic for Finding Your Team’s Hidden Single Points of Failure

josedacruz, August 11, 2026August 11, 2026

TL;DR: The “bus factor” is the number of people who could disappear from your team before a system stops working — and for most teams it’s uncomfortably close to one. Once you find a low bus factor, the real decision isn’t whether to fix it, it’s how: documentation works well…

Continue Reading
architecture

Normalization of Deviance: How ‘It Worked Last Time’ Becomes Your Next Outage

josedacruz, August 11, 2026August 11, 2026

TL;DR: Normalization of deviance is what happens when a team skips a safety step, nothing bad happens, and the skip quietly becomes “how we do things” until it eventually causes a real outage. This is a practical playbook for catching that drift early — name shortcuts out loud, track near…

Continue Reading
architecture

Goodhart’s Law: Why Your Engineering Metrics Stop Working the Moment You Target Them

josedacruz, August 9, 2026August 9, 2026

TL;DR: Any metric you turn into a target stops being a reliable measure, because people (reasonably) start optimizing for the number instead of the thing it was supposed to represent. This is called Goodhart’s Law, and it quietly wrecks engineering metrics all the time. The fix isn’t to stop measuring…

Continue Reading
  • Previous
  • 1
  • 2
  • 3
  • 4
  • …
  • 25
  • Next
  • architecture (154)
  • artificial-intelligence (6)
  • books (2)
  • courses (4)
  • decision-frameworks (4)
  • finances (1)
  • java (8)
  • life-improvement (20)
  • metrics (3)
  • observability (2)
  • puzzles and challenges (3)
  • reviews (1)
  • security (8)
  • spring-boot (36)
  • Systems Thinking (3)
  • GitHub Weekly: MCP Tools Trending Right Now (September 28 – October 4, 2026)
  • The Bulkhead Pattern: Why One Slow Dependency Shouldn’t Sink the Whole Ship
  • Essential Reading: A Philosophy of Software Design — Fighting Complexity One Module at a Time
  • GitHub Weekly: Top 10 Trending Repos (September 21 – September 27, 2026)
  • The Volunteer Tax: Why Raising Your Hand in a Meeting Makes You the Permanent Owner
©2026 José da Cruz | WordPress Theme by SuperbThemes