Steven Stuart
Software Architect
Software architect with 15 years of experience building complex distributed systems — from web and desktop applications to microservices and event-driven platforms serving millions of users. Founder of Lucent Owl.
Articles
Architecture Is a Belief About Where Authority Belongs
SOLID, normalization, least privilege, and bounded contexts share a structural belief: that where authority lives determines what the system can absorb. This post develops that into two measurable properties, contour and bond, and traces through an order workflow how authority correctly placed is quietly eroded by optimization.
Reporting and Production Make Terrible Roommates
Reporting pressure gradually distorts production schemas until they serve two masters and compromise for both. Separating the workloads lets each model evolve for the consumers it was designed to serve.
How One Screen Holds the Entire Industry Hostage
The web platform already does what most apps do, but Apple's control of the phone screen keeps the industry building native. The 'users prefer native' narrative is circular logic created by the constraint itself.
Observability Is Authored, Not Installed
Most observability failures trace back to code that doesn't classify its own behavior. When your system can't distinguish 'handled correctly' from 'actually broken,' no platform can compensate.
The Most Dangerous Sentence in Software Development
Every methodology assumes that when discovery arrives, someone will stop and act on it. Plan continuation bias is the pre-rational impulse that prevents exactly that.
How Shared Libraries Become Shared Shackles
Shared libraries promise reuse and consistency but more often bind team autonomy and development tempo through coupling and coordination overhead. The consistency they claim to provide is better achieved by sharing principles, tradeoffs, and values rather than sharing implementation.
AI in Practice: The Skill Inversion
As AI commoditizes code generation, the bottleneck shifts from technical execution to business judgment. The middle is hollowing out: you either go deep-and-mechanical or broad-and-human.
Making Invalid States Unrepresentable: The Billion-Dollar Mistake That Wasn't
Structure your data so invalid states cannot exist. Validate at construction, trust internally, and let null crash loudly rather than masking absence with defaults that propagate corruption silently through your system.
SEO Still Works, Just Not How We Hoped
The 'SEO is dead' narrative draws a false binary between SEO and social media. SEO has a real problem: authority signals that once filtered spam now create insurmountable barriers for newcomers. But it still excels at surfacing authority and trust. Use social channels for democratic reach and speed; let SEO compound as a long-term credibility asset.
Shaped Kanban: Complete Features, Not Sprints
Sprints organize around time intervals. Shaped Kanban organizes around completing features with clear boundaries and circuit breakers to bound risk. Work flows at its natural pace within disciplined constraints.
Why 'Tech Debt' Does Not Get Fixed
The term 'tech debt' perpetuates the communication failures that created the problem. It's ambiguous, defensive, and guarantees deprioritization. Replace it with Corrections, Optimizations, and Re-Alignments to break the cycle.
Why the Fastest Incident Responders Slow Down First
Reproduction is the fulcrum of effective troubleshooting. Without it, you're guessing about the problem and guessing about the fix. The teams that resolve incidents fastest have internalized the fundamentals so completely that gathering facts, testing assumptions, and proving causation become automatic even under pressure.
Package Updates Are Investments, Not Hygiene Tasks
Treating package updates as investments rather than chores means making deliberate, context-driven decisions based on value and risk instead of following dogma or chasing version uniformity.
Rebuild Success Often Comes from Realignment, Not New Technology
Many celebrated system rebuilds appear successful not because of new technology, but because they force teams to realign with value and best practices. This realignment work could have happened without the rebuild.
Why I Changed My Mind About Exceptions
Evaluating arguments for Result types versus exceptions for handling expected failures in modern distributed C# systems, examining which claims have measurable backing and which are subjective preference.
How Weak Leaders Weaponize Empowerment
Personal development goals, family culture, and unlimited PTO sound empowering. In practice, they're often control mechanisms that externalize leadership failures onto employees through ambiguity, emotional manipulation, and blame-shifting.
Why Configuration Files Don't Belong With Your Code
Storing configuration files alongside application code creates security risks and deployment complexity. Distributed config stores solve these problems while introducing new trade-offs worth making.
Why JWTs Make Terrible Authorization Tokens
Embedding authorization in JWTs creates security risks and UX problems because immutable tokens don't match dynamic permissions. Learn why session-based grants are worth the minimal latency cost.
First to Market, First to Fail: The Economics of Architectural Decisions
Rushing to market creates delayed costs that compound over time. Second movers learn from pioneers' mistakes while building on solid foundations. Architectural decisions are economic decisions, and the bill always comes due.