Tools Are Meant To Be Used
Listen to this blog post:
A recent LinkedIn post asked the question, "Can #ai replace a programmer?" Like me, you've probably seen a lot of articles on this topic lately. As with many new technologies in the past, people are concerned about their jobs. Should they be? I say… maybe.
Here's the thing. AI is just a tool. Sure, it's a very sophisticated tool, but it is still a tool. Although this tool has been programmed to pretend it can wield itself, it cannot. No tool can. Headline news stories mistakenly present the "behavior" of AI as an existential crisis, when it proves nothing but the failure of its developers to write reliable code.
Here's the thing. AI is just a tool. Sure, it's a very sophisticated tool, but it is still a tool. Although this tool has been programmed to pretend it can wield itself, it cannot. No tool can. Headline news stories mistakenly present the "behavior" of AI as an existential crisis, when it proves nothing but the failure of its developers to write reliable code.
Shall the axe boast itself against him that heweth therewith? or shall the saw magnify itself against him that shaketh it? as if the rod should shake itself against them that lift it up, or as if the staff should lift up itself, as if it were no wood.
–Isaiah 10:15
For the sake of this discussion, let's focus on ChatGPT. Does it do a perfect job? Surely, not. But does it do a good job? Absolutely! Does it know the difference? No! As a software developer, that's your job! And that's why it cannot replace you.
Earlier this year (2023), a professor from a large college visited my employer to discuss this very subject. His ultimate message was this: AI will not replace devs, but devs who use AI will replace those who don't!
It is a magnificent tool that can boost our productivity and teach us new things, but no matter what anyone says, and no matter how closely it is programmed to approximate thought, it cannot think for itself. It is a tool that can–and should!–be used by developers.
On that note, there are companies who are resistant to the use of AI. This is sad, as those who embrace it will quickly pass them by. But, why might they be resisting this advancement? Primarily, I think it is the fear of their developers "cheating", being lazy, or taking shortcuts, somehow. Of not thinking for themselves.
Is this fear justified?
It is difficult for non-programmers to know if a programmer actually knows what he is doing. This is exacerbated by the existence of what DHH calls "copy-pasta pirates," devs who assume code they find on the internet will work for their own application, without testing or modifying it in any way. But, guess what? Good devs use Stack Overflow, too. It's a tool for finding solutions.
Good and bad devs use the same tool, but they apply the information they find differently. The tool does not define the user.
See also the discussion around devs Googling for things:
“Do experienced programmers use Google frequently?”
The resounding answer is YES, experienced (and good) programmers use Google… a lot. In fact, one might argue they use it more than the beginners. Using Google doesn’t make them bad programmers or imply that they cannot code without Google. In fact, truth is quite the opposite: Google is an essential part of their software development toolkit and they know when and how to use it.
–Source
I recall DHH publicly putting himself in the camp of devs who frequently Google things, but can't seem to find the quote.
In short, the message to companies is this: Your devs need to be using AI. If they don't, they will fall behind developers who do. Period.
The message to devs is this: Like many other things, AI is a tool at your disposal. Use it. But don't assume it knows what it's talking about. That's your job. Don't become a brainless cog in the machine:
You can't become the I HAVE NO IDEA WHAT I'M DOING dog as a professional identity. Don't embrace being a copy-pasta programmer whose chief skill is looking up [stuff] on the internet. Treat it as part of a learning process to actually understand what's going on. Not merely as a shortcut to solve today's problems. If you never dig deeper, your competence will be stuck at the surface.
–DHH
When I say maybe devs should be concerned for their jobs, it really boils down to that.
Update:
Shortly after publishing this blog post (as in mere hours), I received the following from the Superhuman newsletter:
Boston Consulting Group (BCG) surveyed nearly 13,000 individuals across 18 countries revealing an optimistic yet mixed perception of AI in the workplace.
Overall, respondents were more optimistic about AI compared to five years ago, but there were notable differences in perceptions between executive leaders and frontline employees.
Read the full article here: "AI at Work: What People Are Saying".
Update 2:
Going through yesterday's missed emails, and discovered this gem from The Bootstrapped Founder's newsletter:
First, considering why people follow you will serve you well. They want to see the person behind the product. They want to learn from a human being, not a robot cranking out software products. That's what ChatGPT is for. From you, they want to see human things. Ideas, decisions, concepts, and insights.
This makes my point, exactly! Tools can spew gathered data they have been programmed to parse, but they cannot provide human interaction, nor replace the unique ability of humans to apply real-world experience to that data.