Stay Calm & Keep Coding
How AI coding companions help students become the next wave of Developers
Curtis Evans
Amazon Employee
Published Dec 1, 2023
For the past several months, there's been a steady stream of articles, blog posts, and social media ruse announcing the demise of computer programming as a discipline. The underlying tone most authors suggest is that if you are a student studying Computer Science, you should “...run, don’t walk!” to a new field of study. Why? Because AI will replace students they claim. As ChatGPT by OpenAI, Github Copilot, Amazon CodeWhisperer, and other AI-powered coding companions continue to surface, they feel there’s simply no longer a need to learn how to become a programmer. "THE CODING TOOLS ARE THE NEW PROGRAMMERS", they shout!
In this post, I want to serve as the voice of reason - a ‘human voice’ - by offering a few points to debunk the FUD (fear, uncertainty, and doubt) that learning how to code is becoming obsolete. As students its important to know that AI tools are not here to replace you as programmers. They are actually here to make the good ones amongst you great, and the great ones exceptional! Before reading on, there is one warning I will offer up...failure to recognize the importance of AI capabilities, and adopt them into your arsenal of developer tools will threaten to make some developers obsolete.
Here are three key points why I firmly believe that CS is safe in the long run, and coding is here to stay. They include the industry, ingenuity, and institutions.
- the software profession as we know it is changing, and demand for programmers will change with it but in a positive way. In other words, the industry is shifting, but it won't go away.
- being a developer has always been about problem-solving, not language proficiency; this means creativity, collaboration, and ingenuity are areas where students will need to refocus their efforts.
- because of AI, colleges, MOOC platforms, and all learning institutions will adjust their curriculum, and develop new teaching methods that keep students engaged, and prepared for the change ahead.
On a personal note, I believe there’s also a level of passion and motivation students must possess in order to flourish as developers in the age of AI-driven programming. These human traits are hard for machines to match, creating the opportunity to maintain that developer edge!
The Industry
AI has become increasingly proficient at programming tasks and constructing syntax, demonstrating the kind of potential for replacing humans who write code for a career. That’s a scary proposition given the notion that programmers have always enjoyed job stability, great pay, and a certain reverence from other working professionals Fortunately, I hear from developers regularly, and very few of them believe that AI will completely replace let alone diminish valuable programming skills. They echo the sentiment that developers becoming obsolete is largely an overreaction to the capabilities of AI. A lot of tools are promising, but lack critical features, and require additional improvements. Who will build these features and advance the technology towards improvements? You guessed it...programmers! Ultimately, it will be great to have powerful tools, but no matter how powerful they become, organizations will continue to remain aware - and in control of - these capabilities. I can't imagine this being possible without an industry of skilled programmers.
AI has become increasingly proficient at programming tasks and constructing syntax, demonstrating the kind of potential for replacing humans who write code for a career. That’s a scary proposition given the notion that programmers have always enjoyed job stability, great pay, and a certain reverence from other working professionals Fortunately, I hear from developers regularly, and very few of them believe that AI will completely replace let alone diminish valuable programming skills. They echo the sentiment that developers becoming obsolete is largely an overreaction to the capabilities of AI. A lot of tools are promising, but lack critical features, and require additional improvements. Who will build these features and advance the technology towards improvements? You guessed it...programmers! Ultimately, it will be great to have powerful tools, but no matter how powerful they become, organizations will continue to remain aware - and in control of - these capabilities. I can't imagine this being possible without an industry of skilled programmers.
The Ingenuity
I don't recall a time when the proverbial towel was thrown in simply because computer systems have gotten better at performing certain tasks. My Exhibit A requires a quick look at the subject of mathematics. We've all grown up using calculators, and commercially available software for graphing complex functions; those machine-powered tools helped us tremendously, but never harmed us into contemplating if we should stop learning math. I'm sure most students will discover that learning more math will also help them become better programmers. That's partly because being successful at programming is more than just knowing how to code. Embracing ingenuity through problem-solving, increasing productivity, and driving efficiency into applications under development are also important. Even with AI tools, this will remain the case as developers will focus more effort towards solving complex business problems. AI companions may handle the lion-share of mundane tasks and that's fine. It won't be because programmers can't, but rather because programmers have found a way through the creation of these tools to make themselves more productive.
I don't recall a time when the proverbial towel was thrown in simply because computer systems have gotten better at performing certain tasks. My Exhibit A requires a quick look at the subject of mathematics. We've all grown up using calculators, and commercially available software for graphing complex functions; those machine-powered tools helped us tremendously, but never harmed us into contemplating if we should stop learning math. I'm sure most students will discover that learning more math will also help them become better programmers. That's partly because being successful at programming is more than just knowing how to code. Embracing ingenuity through problem-solving, increasing productivity, and driving efficiency into applications under development are also important. Even with AI tools, this will remain the case as developers will focus more effort towards solving complex business problems. AI companions may handle the lion-share of mundane tasks and that's fine. It won't be because programmers can't, but rather because programmers have found a way through the creation of these tools to make themselves more productive.
A lot of tech leads and senior software engineers today do not code regularly in their current roles. They are actively involved in designing and deploying well-architected solutions that focus on critical areas like security, reliability, and cost. Companies are also requiring these leaders to dedicate a portion of their time to mentoring junior members of their development teams. Another positive sign suggesting that programmers are here to stay.
The Institutions
College courses, coding camps, and online platforms that teach programming must also adapt and provide students with the skills needed to leverage the new AI development landscape. Kudos to high schools that are adding computer programming , and STEM initiatives so young students can get a head start on the profession. AI coding tools are the 'new calculator', and like the calculators of old students will benefit from using them. Having these tools at their disposal will make it easier for institutions to focus more of their learning paths on logic, problem-solving, and other high-level skills.
College courses, coding camps, and online platforms that teach programming must also adapt and provide students with the skills needed to leverage the new AI development landscape. Kudos to high schools that are adding computer programming , and STEM initiatives so young students can get a head start on the profession. AI coding tools are the 'new calculator', and like the calculators of old students will benefit from using them. Having these tools at their disposal will make it easier for institutions to focus more of their learning paths on logic, problem-solving, and other high-level skills.
So, are AI tools destined to change software development as we know it? Of course they will, but in positive ways that will benefit the profession. Students who adapt by becoming problem-solvers first and coders second will help usher in this change. So, what's the next step? Filter out the noise, continue to study, and realize what an exciting opportunity it is to be nurtured by educators, and to embrace software development with help from AI for what it is ... a thrilling and rewarding career journey.
Any opinions in this post are those of the individual author and may not reflect the opinions of AWS.