[Me & X] Agentic Engineering
X : Software engineering is evolving into agentic engineering.
Me : Partially true. When we talk about Software, we normally talk about development and testing. Whilst testing is an engineering practice, the development is a craft.
X : Explain?
Me : In the early days of the industry, testing used to favour a gut feel driven approach. Traditional development handed code to testers who lacked system understanding and had to guess how things worked. Test-driven development (TDD) transformed testing from guesswork into an engineering discipline by embedding understanding directly into test suites which were made out of thousands of small, contextual tests that captured the system model and domain knowledge. What might be less obvious is that those small tests are in fact highly contextual tools i.e. they have inputs and outputs and they are applied to a specific problem (the test scenario). We should be applying those same practices to development by starting with the development experience and using composable micro tools (see attached map) rather than monoliths with added large language models (LLMs).
X : But AI will solve these problems.
Me : LLM / GPTs (which I assume you mean, given it has taken up most of the oxygen in the room) can be used to help build small, highly contextual tools. At the moment the industry is still discovering practices around LLM/GPTs and tends to focus on specifications. Whilst useful for functionality, code is more than just function but structure. The real decisions are made in code whilst architectural diagrams / specifications are nothing more than statements of belief. Which is why you're ending up with all these stories of people vibe coding systems they don't understand and hoping the LLM/GPT/Agentic Swarms will take care of it.
X : So, give up on AI?
Me : Absolutely not. But consider the following:-
1) practices are still emerging.
2) it might be wise to turn software (including development) into an engineering practice first.
3) the problems in development seem to be connected with the development experience (toolset).
4) LLM/GPTs are certainly helpful in creating small contextual tools (and also in creating hypothesis).
5) LLM/GPTs are coherence engines not truth engines.
6) the key architectural decision of our age is where do you value humans in the decision making process. That's more than just functionality but also structure.
X : You seem very negative about AI.
Me : Quite the opposite, they are a daily part of my life. I also enjoy vibe coding (or what I called conversational programming back in 2018). I just believe in understanding the landscape before making choices i.e. look before you leap.
X : But if you wait too long you'll miss out.
Me : I'm all for experimentation, use, speed and learning. I'm not in favour of jumping off cliffs without considering what's below it or asking why am I jumping (what needs am I serving) even if someone shouts 'it'll be great!'
Originally published on LinkedIn.
