LLMs as "Logic Counselors"

 LLMs have caused quite a commotion in 2023.  There's a fair amount of anxiety among software engineers about what they'll mean for our industry.  Beyond the obvious potential to expedite software creation by supplanting much of the coding exercise directly, LLMs have the potential to enhance even the less tactile aspects of software development.

Much of what software engineers do is to act as translators.  Most programming we do today is imperative, meaning you must tell a computer what to do.  In order to do this,  you must first articulate what you want it to do.  For an experienced engineer, writing the code is the easy part.  Getting the customer to clearly express what they want can be more challenging.
 
There are many reasons for this.  Humans have shared context, cultural norms, physical and emotional experiences.  Computers do not.  Humans are skilled at using language for a myriad of purposes beyond just sharing information (expressing emotion, hiding information, rationalizing, etc).  Computers are not.  Humans can improvise, computers cannot.  As physical beings, our tendency is to preserve energy.  We therefore prefer to "cross that bridge when we come to it."  When software gets to the bridge, if it hasn't been given precise instruction, it falls in and drowns.
 
As we cross the chasm from imperative programming to truly declarative, it enables even a software initiate to build feature rich tools.  It presents an opportunity for business users to directly participate in the software engineering process for perhaps the first time.  Without the software engineer as an intermediary, the iteration cycle can be reduced.
 
Users will get immediate feedback in the form of satisfactory or unsatisfactory results.  The cycle of revising and repeating to completion will act as a training exercise for the user.  They will naturally be encouraged to articulate the details of what they want.  They'll be incentivized to thoroughly think through the edges and angles of the problem space.  They'll be informed immediately when they fail to do so.
 
In this way LLMs may bring unforeseen efficiencies by guiding a new generation to be more logical, thorough, and articulate.  In the end, this is the value that software engineers bring to the table and why I jokingly refer to us at times as "logic counselors."

 Links

Comments

Popular posts from this blog

Engineering Truisms

The Telescoping Constructor (Anti-Pattern)

A Strategic Approach to Precision Process Automation