Updated: May 18
As buzzwords like 'tech layoffs,' 'economic downturn,' and 'AI' continue to echo in the world of technology, many developers are left feeling apprehensive, confused, and frustrated. Whether you're an ambitious novice or a seasoned professional with 20 years of experience, one question persists: Should I keep learning to code?
With over a decade of full-time software development experience, I have often grappled with the same question. After much reflection, I've come to a resounding conclusion: YES! Keep coding and keep learning. However, I understand that for many, the looming presence of Artificial Intelligence raises doubt. If AI is going to take over, what's the point, right?
Mathematicians vs. Calculators
A historical example to answer this is the calculator. You may have heard this reference many times, but I will repeat it in my voice. When the calculator was introduced, some speculated that mathematicians would become obsolete. However, that prediction couldn't have been further from the truth. While calculators indeed facilitated calculations, they did not replace mathematicians. Mathematicians have been known to use programming languages to make calculations and solve problems.
Relate to artificial intelligence.
This brings me back to artificial intelligence. The emergence of AI in coding mirrors the calculator's entry into mathematics. Like calculators, AI will aid us but won't replace us.
The reason is quite simple. Today, AI requires human interaction through inputs in the form of prompts. Depending on how trained the human is in prompt engineering, those prompts yield specific outputs (or data) the AI provides.
This is why the narrative, "The better the prompt, the better the result," is commonly used.
The better the prompt, the better the result.
Based on the results, human decision-making is required to determine whether to tweak the prompt and/or the code before copying it into your favorite IDE unless you use an IDE with a built-in co-pilot tool like GitHub Co-Pilot for VS Code.
The objective of this post is not to turn you against using artificial intelligence or AI assistants (like ChatGPT, Bard, and Bing Chat, or coding co-pilots (like GitHub Co-Pilot), but it is to quiet your fears. I recommend using AI tools (if possible) in development because they are great at sparking new ideas and improving your productivity. However, AI still lacks a human developer's nuance, discretion, and intuition.
AI tends to hallucinate.
Moreover, as we know it, AI tends to 'hallucinate.' This means that it can sometimes generate response data in a way that seems factual but is misleading or incorrect. These so-called 'algorithmic hallucinations' can create misinformation unless one has the trained eye of an experienced developer to differentiate between fact and fiction.
Human developers value
Now, let's discuss your value to your employer. As a developer, you will understand, based on your expertise, when an AI hallucination has occurred, and things are not quite right. Be sure to check out my MuleSoft and ChatGPT series. You will see many cases where the AI hallucinates when building Mule applications.
So, I encourage you to keep learning and coding despite the swirling uncertainties. The advent of AI doesn't signal the end of developers but instead presents an opportunity for us to adapt to the growth of AI technology.
The future of coding is still very much in our hands, and I believe in our collective ability to navigate these changes with grace, resilience, and ingenuity.