Coding in the Future

AI LLMs

What does a programmer do?

An interesting and evolving question in the AI Era. All coders I talk to wonder the same - what is our job going to look like in the future? The most common response is along the lines of “won’t AI just write all your code for you”. What used to be a dream is now knocking on the door. Now opus is so capable that I’m often leaving three separate instances of Claude Code to roam for 10/20 minutes at a time. I’m left to wonder what becomes of the programmer.

Today, I read an article linked on hackernews from 1967 titled “What a Programmer Does”, which has some insight into today’s programmers’ anxiety. Here’s my modern take on “Coding in the Future”.

“A programmer does not primarily write code; rather, he writes to another programmer about his problem solution.”. This I love. Code is written to communicate a logical solution. In the Pre-AI era, we wrote exact code to communicate the solution, which was executed by the code interpreter. Yet this world was not perfect, we didn’t write flawless code just because it was exact, we would still battle with “the enemy”. The programmer with a mind trained in objectivity should of course recognise this enemy as entropy.

Entropy, the lack of predictability or decline into disorder. Programs are challenged by entropy in two distinct ways, static stability in development and dynamic once placed in a real production environment. “The resistance of a program to unsettling forces (entropy) is critically dependent on its structural clarity”. Simplicity as a virtue. Dynamic stability increases by “optimising the comprehensibility of a program’s structure”. Increasing the ease of understanding allows easier adaption of the code to new threats. The work of a programmer was to communicate a solution simply. The simpler the code was, the longer it lasted.

In the AI era, we now write in natural language, which is translated into code. We have introduced two elements of randomness into the system of coding. The first is in the instructions, the second in the translation of those instructions. As AI improves, the translation becomes better and we get the code we ask for. However, this doesn’t solve the problem of fuzzy instructions. Dijkstra addressed this in his 1978 essay On the Foolishness of “Natural Language Programming”: “When all is said and told, the ‘naturalness’ with which we use our native tongues boils down to the ease with which we can use them for making statements the nonsense of which is not obvious.”. The difficulty is that our instructions to an AI can be uncertain or under-specified which increases the amount of unpredictability in the system. This isn’t because the AI is bad but because we have communicated the solution to the problem ineffectually.

We still leave traces of our intention in the code and the comments. To debug, we now play with inputs and outputs as a proxy for the logic system. We try to know less so that we can do more. Is there a solution fuzzy instructions without resorting back to handwritten code? There’s many scale stages of involvement in the writing of code: fancy autocomplete - write only comments - outlining general structures - writing soley in natural language. As with all things, we will probably find a balance somewhere in the middle. This is also not to mention where the long term horizon of AI developments may lead us. The naïve AI told to make paperclips obviously is dynamically unstable. A manipulative AI scenario is obviously bad and would definitely push us towards handwritten code. I don’t know where the AI journey is going. How will we code in the future? I don’t have a good answer, but I do know that we will need to be more exact in our natural language instructions.

Citation

Please cite this work as:

Leeney, Will. "Coding in the Future". Will Leeney (January 2026). https://willleeney.com/blog/coding-in-the-future

Or use the BibTeX citation:

@article{leeney2026coding,
  title = {Coding in the Future},
  author = {Leeney, Will},
  journal = {willleeney.com},
  year = {2026},
  month = {January},
  url = "https://willleeney.com/blog/coding-in-the-future"
}