Skip to content
#Engineering

How AI will change software engineering (Category Engineering)

#Engineering #Architecture #Software #AI #ML #Data #SystemDesign

I saw something interesting. interview Martin Fowler on what really changes for engineers and team leaders because of LLM and coding agents Martin was interviewed by Gergeli Orosz as part of the Pragmatic Engineer podcast. The conversation itself was intense. (Right for viewing at 2x speed) The key points were the following:

🤖 AI is the biggest shift in development since high-level languages Fowler puts the current wave of AI on par with the shift from assembler to Fortran/C: it’s a new paradigm for working with code, not “another tool in an IDE.”

🎲 The code becomes non-deterministic – you need to think in terms of “acceptances”. LLM does not guarantee the same result for the same request. Fowler proposes to borrow from classical engineering thinking about tolerances and safety margin: to decide in advance where variability is permissible, and where rigid determinism and additional checks are needed. (particularly safe).

👩‍💻****Tests are more important than ever Tests now insure both people and the model. Any LLM-generated code must undergo the same, or better, more rigorous, set of autotests, static analysis, and quality-checks. Without this, the “acceleration” from AI turns into delayed technical debt. I recommend reading a book on this topic. "AI Engineering" and specifically chapters "Evaluation Methodology" and "Evaluate AI Systems"that I've already dealt with in podcast book-review

🤖 AI + deterministic tools> AI alone One of the key patterns: LLM generates rough code, and predictable tools make massive and safe transformations – migrations, refactoring, formatting.

👾 LLMs are especially useful for legasi and refactoring AI shows excellent results in refactoring old monoliths, demonstrating an understanding of strange addictions, generating the first variants of refactoring and migration. (For example, a new framework or architectural pattern). But it is people who decide where to develop the system and what “target design” is acceptable.

💯 Vibe coding - Prototype mode, not production Vibe coding is about creating a solution where you basically talk to an agent/IDE without reading the resulting code. This gives tremendous speed for prototypes and disposable projects, but transferring such code to products without revisions and tests is guaranteed bugs, vulnerabilities and support problems.

The list of key skills of the engineer has not changed Despite the hype around AI, according to Fowler, still decide: understanding the domain, the ability to build abstractions and architecture, make conscious trade-offs communicate with the business and team. LLMs strengthen strong engineers, but do not replace the skills themselves.

Agile is still about feedback and learning - just the cycle got faster Basic principles of Agile (short iterations, work with the customer, constant training) remain valid. LLM tools only accelerate the cycle of “invented → sketched → checked → rewritten”, but do not replace live feedback, pair programming and retro.

AI does not eliminate the need to learn to program Fowler emphasizes that development is always a learning process. If you constantly “outsource” the AI thinking, the internal model of the system is not formed, and the team quickly flies to the maintenance-cliff: the code is there, there is no understanding. Tools can accelerate, but they can’t “learn for you.”

🚀 Tips for Teamlids: Start with low-risk scenarios Implementing AI is better to start with documentation, tests, snippets, migrations, and work with legasi, rather than critical business flow. In parallel, investing in autotests, observability, and engineering culture will not result in a one-off demo effect.

Junam Advice: Don't Become Just "Prompt Operators" For novice developers, AI is a great tutor: you can ask to explain unfamiliar code, show alternative solutions, come up with exercises. But if you limit yourself to prompts and never understand what is under the hood, there will be no growth to middle/senior. You need your attempts, mistakes and refactorings.

#Architecture #Software #AI #Engineering #ML #Data #SystemDesign