void0.dev

What software engineering really is

June 15, 2026

It's important to understand that software engineering isn't knowing languages and frameworks — it's knowing how to design a system properly: minimizing architectural complexity, keeping the system maintainable and changeable.

Why does this matter so much right now?

The problem is that the cost of adding each new piece of functionality grows non-linearly — it accelerates as the project's architectural complexity grows.

Equal steps per feature — yet each price increment is bigger than the last: +ε, +2ε, +4ε

And at some point every change becomes so heavy and expensive that the team — or the AI — can no longer keep up.

The cost of changes climbs into the red zone of the unaffordable — and progress stalls

This used to fuel jokes about corporations that take three months to change the color of a button.

Now it's the core problem of vibecoders: one change keeps breaking everything around it, the whole thing falls apart, and the system can't grow any further. And you can reach that state after just a couple of days of vibecoding.

The answer to this problem lies in knowing which of your system's complexities — and to which external tools — can be delegated, and, most importantly, what structuring and isolation of the system's parts will let future changes touch the fewest neighboring parts — lowering the cost of change, in time or in tokens, and pushing back the moment when changes become unaffordable.

The commodity parts are lifted out of the system into ready-made tools
The classics — cohesion and coupling: on the left, modules are cohesive inside and loosely coupled, a change dies inside its module; on the right, everything is coupled to everything, a change ripples across the whole system

That's why what decides things now is the theoretical depth of your understanding of software engineering and modern AI-development methodologies: it's exactly what determines how long a system can keep growing and how much each next step will cost — by slowing the rate at which complexity builds up.

The same product: the poorly designed one dissolves into the red zone within the first third — the well-designed one gets expensive slower and goes much further

Right now there are no methodologies that let AI assemble, at high quality, an architecture that stays cheap to change for a long time — but there already are methodologies that turn a well-described project and architecture into a working product.

Subscribe — I'm building a free course on the foundations of software engineering right here. And if you need a product rather than a course — that's what my studio is for.