Categories
Uncategorized

Some Musings on Change

I started to think these were musings on AI, but it’s really about change.

Many of us are in the midst of a cycle of hype, fear… a cacophony of hot takes and spicy LinkedIn posts. But cut through the noise, and we find that LLMs are a tool.

They’re a new tool, and they do some pretty incredible things. Wielding them well will give individuals and companies an advantage over those who wield them less well. So the learning curve becomes the competitive advantage.

Like many technological advancements, adoption and learning is done by people. Real humans. Therefore, this is as much a human change as it is a technological shift.

To that end, I was talking with some colleagues last week. I was pushing on the boundaries of what we should allow AI to do. My intent was to push on the boundaries of where we, as software engineers, give up control.

For example, I asked, “Which code changes should never be reviewed by a human?” Most software companies have a process where code is written by one engineer and reviewed by another engineer before it gets to production. Now that LLMs do code reviews, which reviews should we delegate to them?

One engineer was vehemently opposed. “You can’t trust an LLM to understand the change. Maybe you fixed a typo, but maybe you changed something really meaningful, like the name of a variable. It’s too dangerous.”

I disagree. There are ways to test systems to build trust, and we should default to exploration rather than ruling things out.

Another example, from a different conversation. Someone brought up the concept of accountability. “You can’t blame AI if something goes wrong.”

This led me down a philosophical rabbit hole: What is the purpose of blame when it comes to shipping software?

  1. Blame allows us to teach. If someone makes a mistake, we can turn it into a teachable moment. The person learns and doesn’t make the mistake again (we hope). Through updated prompts, skills, and/or agent.md files, we can solve this for AI as well as for humans.
  2. But sometimes people don’t learn. Blame allows us to eliminate repeated bad actors. If someone makes the same mistakes over and over and those mistakes are bad for business, we can remove the person from the business. Similarly, with AI, we can solve this. We can delete code that isn’t working. If we have tried something and we find out it consistently has errors, we can remove it.
  3. Blame allows us to find the responsible individual. If something is broken, we want to quickly find someone to fix it. Even though code is written by AI, a human took the action to do that and we can figure out who it was.

All of this leads me back to thinking of this as a moment when change management is the most important part of my job. The scale and pace of change are enormous. And like so many of the changes I’ve rolled out in my career, trust and accountability are inescapably important.

Leave a Reply

Your email address will not be published. Required fields are marked *