Clean Architecture is one good rule wearing four rings of costume. Keep the rule. The costume is optional, and most teams pay for it without knowing why.
SL#89 - Your Repo's New Quality Score Is an Average. Decay Isn't.
GitHub Code Quality goes GA on July 20, stamping a maintainability grade on every repo and a merge gate on every PR. Optimizing that number can raise your grade while your worst files keep rotting. Here is what to gate on instead.
SL#87 - Hexagonal Architecture, and the One Rule the Hexagon Hides
Ports and adapters is not a shape you draw or a folder layout you copy. It is a single rule about which way your dependencies point, and almost everyone who claims to use it has broken that rule.
SL#85 - Layered Architecture: The Default That Works
Every greenfield service drifts into controller, service, repository. People call it boring three-tier and reach for something fancier. The boredom is the feature.
The MVC your web framework ships is not the MVC that Trygve Reenskaug wrote down in 1979. What mutated and what survived tells you what the pattern was actually for, and why the Controller keeps falling apart.
SL#78 - What Design Patterns Actually Are (and When to Ignore Them)
A design pattern is not reusable code. It's a name for a recurring shape that a good solution takes under pressure. Knowing the difference is what separates engineers who use patterns from engineers who get used by them.
SL#76 - Code Review Was Never About Reading the Diff
AI made writing code almost free and left reviewing it exactly as expensive. The teams losing that trade are the ones who still think review is where bugs get caught.
SL#55 - GitHub Just Shipped Stacked PRs. They Fix the Wrong Half of Code Review.
Splitting a 2,000-line diff into five 400-line PRs makes each one easier to read. It does nothing about the only resource code review actually runs out of: a reviewer who is paying attention.
SL#52 - The Debt AI Is Building Isn't In Your Code
Refactoring used to be the antidote to messy code. It can't reach the kind of debt your team is now accumulating, because the debt has moved somewhere refactoring can't go.