Chris Woody Woodruff

@woodruff.dev

I like creating software solutions to solve problems. I am also a speaker, podcaster, and author on technology. I love htmx, server-side web dev, data, Web APIs, baseball and bourbon. .NET/Web Dev MVP All of my posts are created using recycled electrons

Was chatting with the EF Core team about anti-patterns, walked through offset pagination, and completely forgot to mention keyset. So I wrote the post I should have brought. Skip().Take() isn't wrong. It's misapplied. On hot tables, it's slow AND silently drops/duplicates rows. Keyset fixes both.

Pagination in Entity Framework Core: Why Skip/Take Falls Apart on Hot Tables - Chris Woody Woodruff | Fractional Architect

If you've built an ASP.NET Core API or list view backed by Entity Framework Core, you've almost certainly written something like this: var page = await _db.Orders .OrderBy(o => o.Id) .Skip((pageNumber...

woodruff.dev

The new stack was Next.js. The new stack was NestJS. The new stack was modern. Three years later, the same team is having the same conversation about the same problems against the system they just rewrote. The architecture survived the migration intact. #softwarearchitecture #softwaredesign

The Rewrite Trap: Why Rebuilding the System Almost Never Fixes What Was Actually Broken

The Same Architecture, Now in TypeScript

simplicityfirstphilosophy.substack.com

A team spent $14,400 on infrastructure to solve a problem that a 4-minute database index fixed. Nobody measured the system before approving the proposal. "This needs to scale" is performance anxiety dressed as engineering. #softwarearchitecture #engineering #systemdesign

What Would Justify This? The Question Teams Never Ask Before Adding Infrastructure

The proposal is for an internal product catalog API. Forty operations staff will use it.

linkedin.com

A service decomposition took 3 months to build. Reversing it will take 9. The asymmetry was never calculated before the decision was made. Reversibility is the most underpriced quality in software. Every one-way door looks like a corridor until you need to go back.

The Architecture of Regret: Why Reversibility Is the Most Underpriced Quality in Software

Every One-Way Door Looks Like a Corridor Until You Need to Go Back

simplicityfirstphilosophy.substack.com

82% of engineers believe trending tech adoption improves career prospects. Nobody got promoted for recommending a monolith. The bill stays with the organization. The credit travels with the architect. That asymmetry explains your architecture better than any technical analysis.

The Status Architecture: Why Complexity Is the Currency of Technical Prestige and Who Pays the Bill

The Architect Gets the Credit. The On-Call Engineer Gets the 2 A.M. Page.

simplicityfirstphilosophy.substack.com