Five engineering opinions I changed my mind about this year
Short ones. No diagram, no ceremony.
In no particular order. I will probably change my mind about half of these again before the year is out — that is sort of the point.
TypeScript should be enabled by default
I used to think defaulting to TS for a small project was over-engineering. After watching three "small" projects grow into the thing the company actually depends on, I think the inverse: defaulting to JS is the over-engineering — you are betting that you can predict the future shape of the codebase. You almost never can.
Monorepos are mostly a build-tool problem
The thing people hate about monorepos is usually their tool chain (slow builds, fragile caches, mystery script orchestration). The benefits — shared types, atomic refactors, one PR for a feature — survive every tool change. Replace the tool, keep the monorepo.
Optimistic UI is overrated for low-frequency actions
For chat and reactions, yes, latency is the experience. For everything else — settings, profile edits, deletes — show a real spinner, get the real answer, and quit lying to the user. The bugs that came from "what if the server rejects this" cost more than the perceived speed bought.
Read next
Tangents that earned their keep
May 8, 2026 · 2 min
Building YasirOS — a personal operating system in the browser
Most portfolios are documents. YasirOS is a system. Here is the design philosophy, the six laws, and the trade-offs that make it work.
May 1, 2026 · 1 min
Block-based content models: why every modern CMS converges
Markdown was a great default for a decade. The next decade is typed blocks — and the reasons aren't taste, they're mechanics.
Discussion
Be the first to reply
Sign in to reply, react, and follow the thread.
Sign inThe thread is empty — for now. Reasonable take? Pushback? Drop it here.