Where I’m coming from Link to heading

I began writing software at an internship with the Illinois State Geological Survey back in 2004 or so. They were kind enough to offer a starry-eyed kid with barely any coding classes under his belt an opportunity to work on real software. Software with potential! We were going to reshape how people viewed geological data with 3D graphics.

Fast forward a year or two and the project wasn’t achieving its goals. I found other opportunities, this time with more experience under my belt, in an engineering department in a University in the South. The projects came fast, most failed, but I made money and more importantly gained a massive amount of experience in the trade. My meat brain was growing.

And so I bounced from project to project, employer to employer, over the years, eventually winding up at a small company that builds video conferencing software solutions for big companies. All of this is connected back to that opportunity I had in 2004, without it I wouldn’t be here. I wouldn’t have this house, this family, this life.

An Opportunity Loss Link to heading

Let’s take a step back and talk about the elephant in the room: AI coding tools. These tools are sold with the promise that anyone can use them to write code with the same quality or better than a senior level engineer can. Most of this is true - they are exceptionally good at writing code. Scary good.

However, my fear is that these tools are not being used to increase a team’s output. Instead, the CEOs of the world see it as a way to replace junior level engineers with AI. Young programmers, like myself in 2004, are being turned away in droves. We still need senior level engineers, but the industry is so focused on short-term gains that they aren’t willing to make that investment.

Humanistic AI Link to heading

I do not believe that all AI is evil. Instead, I think that it should be used to augment human knowledge.

AI should not replace you, it should make you better

We should be putting in the same amount of work and effort in our creations that we always have, but get bigger and better outcomes. We should not lean on it alone as a replacement for our mind, but use it as a tool to teach our minds new things.

What do I mean by this? A working example might be using AI to fix some buggy code. Instead of simply describing the bug in a prompt and letting AI fix it itself, have it explain to you its intentions. You then take those intentions, read them, understand them and change the code as necessary. Use AI to review the code again to double check your work.

Addictions Link to heading

This example is still problematic. The more we lean into AI the less exercise we get with identifying the root causes of problems in code. Our addiction to AI is leading to a loss of ability to manually debug code, however this isn’t much of a problem so long as these AI tools are always available. Just like my coffee addiction, there isn’t a problem so long as the drug is widely available.