Member-only story

Is it really ‘game over’ for software development?

Cliff Hall
6 min readMay 25, 2024

--

OR

How I Learned to Stop Worrying and Love the Black Box

is this what we’re headed for? Let’s look a little further out… [Image Credit: The New Stack]

The above diagram comes from an article called “If Computer Science Is Doomed, What Comes Next?” which concludes that we will let the AI do the work and relegate humans essentially to responding to pull requests with code review. This may represent the software team of the near future, but beyond that, it doesn’t make much sense to me.

For a while, we’ll be ok with this arrangement, but the AI will get better, until no one really reviews the AI’s work, they just rubber stamp the PRs because it’s never wrong. At that point. we’re only there because we think we have to be, and our presence is slowing the AI’s performance.

Inside the Black Box

So, what happens if we take the human out of the loop entirely?

Humans use high-level languages that compile down to machine code because writing machine code is tedious.

If machines are writing and running the code and we trust that they get it right and we can verify it, then it makes no sense for them to write that code in a high level language that must then be compiled down to machine code, and changed on the way by the compilers — optimized with human algorithms. We’re still in the loop!

Machines can probably write better compilers when they outstrip the 10x dev at her game. But again, why use them at all? If a program is compiled inside an AI and no human reads it, was the source code elegant?

Measuring the Performance of Black Boxes

We will give AI requirements for new systems, and we will measure the output of those systems and judge if they meet specifications, like measuring fuel pressure in a rocket. If it doesn’t meet spec, you shut it down.

If you have clear requirements and can measure output against expectations, why do you care how a program works inside?

Then the focus shifts from verifying “did the code that was generated look good to a human developer” to “does the output of this code when running (e.g., user interfaces, input recognition, data processed, stored, or otherwise…

--

--

Cliff Hall
Cliff Hall

Responses (1)