Home
Updated Beliefs

Things I've Changed My Mind About

Beliefs I once held with confidence and no longer hold. Tracking these honestly is the practice that makes me trust my current views more.

Microservices for everything

Used to think

A modern system should always be broken into many small services. Monoliths are legacy thinking.

Now think

Most systems should start as a well-structured monolith. Services are an answer to specific scaling and team-organisation problems, not a default.

Why

I watched too many teams spend twelve months on infrastructure for a problem they could have solved in three with a clean modular monolith.

Comprehensive comments make code better

Used to think

Every function should have a comment explaining what it does.

Now think

Most comments are noise that drifts out of sync with the code. Self-documenting code with the occasional why-comment for non-obvious decisions is far better.

Why

I came back to old code with detailed but stale comments and realised the comments actively misled me. The code itself was the truth.

You should learn the fundamentals before frameworks

Used to think

Master vanilla JavaScript before touching React.

Now think

For most people, learning a framework alongside the language is fine, and often better motivating. The fundamentals fill in as you build.

Why

I watched several people make more progress in three months of building React apps than they had in a year of trying to master JavaScript first.

AI will replace software engineers soon

Used to think

Wrote this off entirely as hype. Models could not really understand code.

Now think

AI will not replace software engineers, but it will dramatically change the work. Engineers who use AI well will outpace those who do not. The job is shifting toward judgment, design, and verification.

Why

Spending serious time using AI in real engineering work shifted my view from sceptical to cautiously enthusiastic about the productivity gain, for engineers who know what good looks like.

Documentation is for someone else

Used to think

I wrote docs reluctantly, mainly for teammates and stakeholders.

Now think

I write docs primarily for future-me. Six-months-from-now-me knows nothing and will be grateful.

Why

Returning to my own code from years past with no documentation taught me what archaeology feels like. Documentation is a gift I give myself.

Dark mode is objectively better

Used to think

Anyone using light mode is doing it wrong.

Now think

Dark mode is my preference. It is not objectively better. Many people read better in light mode. Both should be supported.

Why

I started paying attention to who uses what. Many serious readers I respect prefer light mode for long-form text. Preferences are real.