Precision: Why AI Can’t Replace Developers

Exploring the Limits of AI and the Essential Role of Human Insight in Programming

Lukas Dumberger
3 min readAug 14, 2024

Language is our primary tool for expressing ourselves and sharing our thoughts. However, we often find that words cannot fully capture the depth of our inner feelings and ideas. Translating our internal experiences into language is frequently a reduction, a simplification of what we truly feel or mean. In everyday life, this limitation might go unnoticed, but in moments of intense emotion — such as the death of a loved one or the experience of being in love — we become acutely aware of how inadequate words can be. Describing our inner world in words inevitably falls short of conveying our full meaning. Fortunately, cultural and situational contexts often fill in the gaps, enriching our spoken or written communication.

Words are simply a representation of a more complex inner thought model.

Throughout human history, there has been a desire to express ideas with greater precision. Mathematical formulas have long served as one method to achieve this. In the 20th century, the emergence of programming languages provided a new avenue for expressing processes and procedures with exactness. I would argue that programming languages represent the most precise way to convey one’s thoughts.

With the rise of AI technology and large language models like ChatGPT that can write code, a debate has emerged over whether human developers might eventually be replaced by artificial intelligence.

I firmly believe that this scenario is unrealistic. In modern software development projects, there are generally three key roles: a domain expert who defines the requirements for the software application, a requirements engineer who explores various options and creates a requirements document, and a developer who implements the desired features in code. The requirements document is typically a textual description of the features to be developed.

Requierments Engineers and Software Developer work together.

At first glance, it might seem straightforward: an AI could translate the requirements engineer’s description into code. However, the reality is:

Programming code is not merely about translating a behavior description into a programming language.

A software developer enhances the given description with their knowledge of the software product, cultural context, and design patterns, creating an internal model of the entire requirement and feature. This ability to construct a mental model from language and context is a unique strength of humans. From this internal model, the developer translates the description into programming language.

If a requirements engineer’s description were precise enough to be directly compiled, there would be no need for a programming language. The issue with human language is that it lacks the precision required for direct execution. Our language allows for many interpretations, which can only be resolved with the right context and conclusions.

The reason why the job of developers is secure and why AI cannot replace human developers is due to a lack of precision in the way requirements are formulated, not in the AI itself. However, there is a method to achieve greater precision in describing requirements: it’s called programming.

--

--

Lukas Dumberger

Web developer, tech enthusiast and open source evangelist.