← Blog

Do you need to know how the sausage is made?

I build sites on frameworks I couldn’t rebuild from scratch, and some days that worried me. Then I thought about breakfast. On layers of abstraction, and the part you still have to know.

Written by
Naresh Kumar
Published
Reading time
5 min
Topic
Tech & AI

I build a lot of websites. Astro, React, Next.js, Python pipelines, GitHub Actions, Cloudflare. I know the foundations, I understand the infrastructure, and I can read a CI/CD pipeline and tell you what it does.

What I do best sits above all that. I work out what people need. I write the spec and the functional design, plan the components and the content, and orchestrate the build, often with AI coding agents doing much of the typing. Then I review and test what comes back.

But there are many layers in that stack where I couldn’t tell you exactly what happens. I know what they do, not always how they do it. It just works.

Some days that bothered me. I don’t know everything. If this breaks, how am I going to rebuild it without relying on AI?

The layers under one website Eight stacked layers. The top three, where I work every day, are highlighted: the idea, spec and design, and orchestration. Below them: frameworks such as Astro, React and Next.js; build tools and packages; hosting and CI/CD; the web platform; and machines, from operating systems to undersea cables. The idea What people need, and why Spec and design Functional design, components, content Orchestration AI agents, reviews, tests, releases Frameworks Astro, React, Next.js Build tools and packages Compilers, bundlers, many dependencies Hosting and CI/CD GitHub Actions, Cloudflare, Vercel The web platform Browsers, JavaScript engines, HTTP, DNS Machines Operating systems, chips, undersea cables Where I work every day
One website, many layers. I live at the top.

Then I thought about breakfast

There are many layers of abstraction in your life. If you can cook a delicious breakfast, do you really need to know how the sausage is made?

You know the pan, the heat and the timing. You know when the eggs are done and how you like your toast. You don’t know how the pig was raised, how the casing was made or how the wheat became flour. You trust the people who do, and you still make a great breakfast.

A kitchen and a website have the same shape Two columns side by side. In the kitchen: breakfast on the plate, made by you through timing, heat and taste, from sausage, eggs and bread made by someone else, which come from farms and factories you never see. On the website: a working site, made by you through spec, design and review, from frameworks and packages written by someone else, running on cloud infrastructure you never see. Your kitchen Your website Breakfast On the plate, still hot A working site People can use it You Timing, heat, taste You Spec, design, review Sausage, eggs, bread Made by someone else Frameworks Written by someone else Farms, factories Supply chains, unseen Cloud, internet Infrastructure, unseen
The same shape: you in the middle, trusting the layers below.

This isn’t a new idea. In 1958 Leonard Read wrote I, Pencil, an essay narrated by an ordinary pencil, whose point is that no single person knows how to make one. The cedar, the graphite, the paint and the rubber each come from different people who have never met.

Software is the same. The people who build React don’t design the chips it runs on. The people who design the chips don’t write your browser. Nobody holds the whole stack in their head. Every layer exists precisely so that the people above it don’t have to.

It’s okay not to know everything

That realisation took the pressure off. Not knowing how every layer works isn’t a gap in my skills. It’s how modern work is built, for everyone, at every level.

But it isn’t a licence to know nothing either. You can’t cook breakfast if you don’t know the pan gets hot. To build something, you still have to know something.

There’s a well-known catch, too. In 2002 Joel Spolsky named the law of leaky abstractions: “All non-trivial abstractions, to some degree, are leaky.” Sooner or later, a layer you trusted shows through. The build fails, the deploy hangs, the page is slow for reasons the framework won’t tell you.

That’s the moment I used to worry about. So what do you need to know?

One layer down

What I’ve settled on: know your own layer well, know one layer below it well enough to read what it’s telling you, and put checks around everything else.

How much to know about each layer Three bands. My layer: know it well, own the spec, the design and the decisions. One layer down: know enough to read the error and ask the right question. Everything below: trust it, and check it with tests, logs and monitoring. My layer: know it well Own the spec, the design and the decisions One layer down: know enough Read the error, ask the right question Everything below: trust, then check Tests, logs and monitoring tell you
Know your layer, the one beneath it, and how you’ll find out when something is wrong.

In practice, that means a few things I do on every project:

  • Know what you want. A clear spec is the one layer nobody else can write for you. If I can describe what the system should do and why, I can judge whatever builds it, human or AI.
  • Know how you’ll tell it’s right. Tests, checks and a habit of looking at the real thing in a browser. I don’t need to know how a bundler works to notice the page didn’t change.
  • Know where to look when it breaks. Logs, error messages, the docs for the layer just below mine. Most failures announce themselves if you know where to read.
  • Keep the stack small. Every layer I add is one more I might have to understand on a bad day. The Tunnel Hill 100 site, for example, has no framework at all.
  • Keep it replaceable. Data in plain files, standard tools, hosting I could move. If a layer fails me, I want to be able to swap it rather than repair it from the inside.

And without AI?

That was the real fear underneath: what if the agent isn’t there, or gets it wrong, and I’m left with code I don’t fully understand?

AI is one more layer, and it can leak like any other. So I treat it the same way. I own the layer above it, the spec, the review and the decision to ship. I know enough about the layer below to read what it produced. And I check the result, every time, before it goes live.

If something breaks, I may not know every line by heart. But I know what the system is meant to do, how it fits together, where to look and how to tell when it’s fixed again. That’s not knowing how the sausage is made. It’s knowing how to cook.