There is a misunderstanding about software engineering that AI is making increasingly visible: we tend to confuse writing code with building software.
There is some overlap in certain aspects, but they’re not the same thing.
Writing code means translating an idea into instructions a computer can execute. Building software means deciding which instructions should exist in the first place, how they should interact, which constraints matter, what’s the cost of the decisions, which tradeoffs can be considered acceptable, and how the resulting system can evolve without collapsing under its own constraints and limitations.
Let’s start from a basic premise: AI is an essential tool because it is remarkably good at the first problem.
The second is where software engineering actually begins.
The difficult part was never typing the code
Consider a relatively ordinary engineering requirement.
We need to process incoming events and update some data.
And these are some of the first questions that arise during a technical discussion:
Should we process them synchronously?
... continue reading