Software architecture, coding and design

I'm Alex, a software engineer working with React, TypeScript, and AWS. I'm writing about my journey as a software engineer and the things I learn along the way.

Drag, drop, and the optimistic update race

My usual React Query reflex — just invalidate to get the real deal — fell apart the moment I added drag-and-drop to a kanban board. Here's what concurrent optimistic updates actually require, and where each concern belongs.

Architectural Decisions

Architectural decisions shape codebases for years. Here are the principles I've developed over 25 years to make better ones — covering simplicity, vendor lock-in, reversibility, and total cost of ownership.