Below is a passage taken from the ‘Evil Wizards’ section of ‘The Pragmatic Programmer.’
Tool makers and infrastructure vendors have come up with a magic bullet, the Wizard. Wizards are great. Just click a single button, answer a couple of simple questions, and the wizard will automatically generate skeleton code for you.
When The Pragmatic Programmer hit the shelves in 1999, the term ‘Wizard’ was used to describe software that would help a user step-by-step to complete a task. In the excerpt, it says that a Wizard could be used to auto-generate code for a project, saving the developer time. Fast forward to today, and this concept feels familiar with the buzz surrounding ChatGPT.
All the time the applications themselves are getting more complex. Most developments now use a multi tier model, possibly with some middleware layer or a transaction monitor. These programs are expected to be dynamic and flexible, and to interoperate with applications written by third parties.
Oh, and did we mention that we needed it all next week?
Developers are struggling to keep up. If we were using the same kind of tools that produced the basic dumb-terminal applications
2040 years ago, we’d never get anything done.So the tool makers and infrastructure vendors have come up with a magic bullet, ChatGPT. ChatGPTs are great. … Just click a single button, answer a couple of simple questions, and ChatGPT will automatically generate
skeletoncode for you.But using ChatGPT
designed by a gurudoes not automatically make Joe developer equally expert. Joe can feel pretty good—he’s just produced a mass of code and a pretty spiffy-looking program. He just adds in the specific application functionality and it’s ready to ship. But unless Joe actually understands the code that has been produced on his behalf, he’s fooling himself.
It seems history has a way of repeating itself.
While I believe AI will become more accurate and disruptive, ChatGPT and other AI products are additions to the toolbelt. That said, we are in the early days of the AI revolution, and there is a lack of understanding of the limitations of AI tools. In time, as businesses come to understand AI as a practice rather than a concept or buzzword, there will be an understanding that in complicated systems, codebases, processes, or issues, many humans will still be needed to understand the nuances of problems, use cases, and specific circumstances. Maybe it will be like Star Trek, where humans solve problems, and AI handles tasks to boost productivity (just overlook the countless times AI became sentient and tried to kill the crew).
Additionally, we don’t yet know the longterm monetary cost of AI—what it takes to support, run, and maintain these systems. Currently, we’re in a phase of free mass adoption, with companies offering tools at little to no cost and at a finical lost to help explore use cases, monetization strategies and gain a dependent user base. Once companies focus on recouping their AI investments, the true cost of AI solutions and the balance between AI and human roles will become more clear.
Despite the unknowns I have embraced AI as a tool doesn’t bother me; it excites me, and I am incorporating different AIs into my personal workflow. To start, it’s the best spell and grammar checker I have ever used. It’s also a great writing assistant, offering alternatives to sentences or adjustments of tone, and helping me make my sometimes wordy documentation more concise. I have also used it for some coding tasks. I am still a firm believer in not simply copying and pasting—I type out everything ChatGPT suggests—but it’s great for writing docstrings, summarizing code, and providing alternatives. In turn, I have learned a lot from ChatGPT.
> ChatGPT: Write a 3 - 4 sentence conclusion to this blog post.
In conclusion, while tools like ChatGPT represent a significant advancement in productivity. As we navigate this evolving landscape, it’s crucial to remember that AI tools are here to augment our capabilities rather than replace them. Embracing these innovations can lead to greater efficiency and creativity, but only if we maintain a critical perspective on their limitations. The future will likely see a blend of human insight and AI assistance, much like the collaborative problem-solving seen in science fiction, where each plays a vital role in addressing complex challenges.