DEV Community

Cover image for Road To KiwiEngine #15: Why I Care More About Systems Than Features
Drew Marshall
Drew Marshall

Posted on

Road To KiwiEngine #15: Why I Care More About Systems Than Features

One of the reasons I often find myself disagreeing with modern software trends is that many conversations revolve around features.

How many features does it have?

How quickly can we add more?

What can we put on the marketing page?

What can we announce next?

Features matter.

But I care far more about systems.

Because at the end of the day, people don't buy features.

They buy outcomes.

And outcomes come from systems.

The Car Analogy

One of the easiest ways to explain my thinking is with cars.

A car is made up of thousands of individual components.

An engine.

A transmission.

Suspension.

Brakes.

Fuel systems.

Electrical systems.

Cooling systems.

Sensors.

Wiring.

Each component is important.

But nobody walks into a dealership and says:

"I'd like to purchase six pistons, a transmission housing, and a fuel injector."

They buy a car.

They buy transportation.

They buy a complete system.

The individual parts only matter because they contribute to the overall experience.

The customer doesn't want to think about every moving piece.

They want to get in, turn the key, and drive.

Drivers and Mechanics

This is where I think technology often loses its way.

Users are drivers.

Engineers are mechanics.

A driver should be able to:

  • Start the vehicle
  • Fill it with fuel
  • Check the oil
  • Wash it
  • Perform light maintenance

That's about it.

They shouldn't need to understand combustion timing, transmission gearing, or electrical diagnostics to get to work.

The mechanic, however, lives in the details.

They tune the system.

They replace parts.

They troubleshoot failures.

They recommend upgrades.

They understand how the pieces fit together.

Technology is exactly the same in my mind.

Users should be able to focus on their goals.

Engineers should focus on the machinery.

Features Are Parts

This is where I think software conversations sometimes become backwards.

A feature is a component.

A login screen is a component.

A dashboard is a component.

A database is a component.

An API is a component.

AI integration is a component.

Individually, they're useful.

But they're not the product.

They're parts of a larger system.

The product is the experience those parts create when they work together.

The product is the journey.

The product is the outcome.

The product is the system.

Why This Matters To KiwiEngine

When I'm working on KiwiEngine, I rarely think about individual modules first.

I think about the complete system.

Juice isn't just CSS.

Seltzer isn't just a server.

KiwiPress isn't just WordPress integration.

Sugar isn't just a visual builder.

Nectarine isn't just data management.

Each one solves a specific problem.

But together they contribute to something larger.

A system for building applications.

A system for building businesses.

A system for building products.

A system for building future systems.

That's a very different mindset than simply creating another library.

Good Systems Hide Complexity

One of the signs of a good system is that most people never think about it.

A person driving to work isn't thinking about fuel injection timing.

A homeowner isn't thinking about power generation when they flip a light switch.

A musician isn't thinking about signal processing every time they strum a guitar.

The system absorbs complexity so the user can focus on what they actually want to accomplish.

Good software should do the same.

The more complexity we can absorb into the system, the more value we create for the people using it.

Systems Compound

Features eventually become outdated.

Systems evolve.

Features get replaced.

Systems adapt.

Features come and go.

Systems persist.

This is one of the reasons I've become increasingly interested in architecture, contracts, local-first computing, hardware, and sovereign AI.

At first glance, these topics seem unrelated.

But they all stem from the same question:

"What kind of system are we building?"

Because once you start thinking in systems, every decision becomes connected.

Looking Beyond Features

The older I get, the less interested I become in chasing the newest feature or trend.

Instead, I'm interested in foundations.

Architectures.

Patterns.

Workflows.

Infrastructure.

Systems.

Because that's ultimately what customers interact with.

They don't buy code.

They don't buy frameworks.

They don't buy APIs.

They buy the result those things create.

Just like nobody buys a collection of car parts.

They buy a vehicle that gets them where they want to go.

And that's why I care more about systems than features.


Road To KiwiEngine is a series documenting the philosophy, architecture, successes, mistakes, and lessons learned while building KiwiEngine and its ecosystem one module at a time.

Top comments (0)