← Writing

The craft of the front end, revisited

When I started, defending the front end was part of the work. “Client-side” was where you put the stuff that didn’t fit anywhere serious. The real engineering, people implied, happened on the server.

Two decades later the tools are unrecognizable — frameworks, build systems, types, a rendering model for every taste — and the underlying job hasn’t moved at all. The craft was never the framework. It was, and still is, making something feel effortless to the person using it.

Effortless is expensive

The cruel economics of interface work: the better you do it, the less anyone notices. A layout that never jumps, a form that forgives mistakes, a page that’s already there when you arrive — these are invisible by design. You only get credit when it breaks.

That’s fine. The discipline is its own reward, and the constraints are good teachers:

  • Performance is a feature you can feel before you can name.
  • Accessibility is just usability with the excuses removed.
  • Restraint — knowing what to leave out — is the hardest skill and the last one you learn.

What I’d tell 2005 me

The stack you’re fighting about will be gone in five years; learn the things under it that don’t expire. How browsers actually work. How people actually read. How to say no to a feature. Those compound. The framework wars don’t.

This site is built with about as little JavaScript as I could manage. That’s not nostalgia. It’s the same instinct I had in 2005, finally backed by tools that agree with me.