Do software developers still have a future?
The rapid rise of ChatGPT and arrival of generative AI into the mainstream has sparked a lot of speculation about the future of coding.
Is it still practical to invest in learning how to code? Will we still need programmers in 5, 10, or 20 years? Will AI eventually replace software developers altogether?
In the short term, I firmly believe that AI is poised to support developers — not displace them. Developers are already finding countless clever ways to leverage tools like ChatGPT and GitHub Copilot to become more efficient and productive. And as the founder of an e-learning platform, I am also very interested in how generative AI can help people learn new skills.
The question isn’t “if” AI will impact how we work, create, and learn new skills moving forward. The question is "how."
Platforms like Duolingo and Khan Academy are already incorporating AI, via GPT-4, into their learning content. At Educative, we are embracing this trend — we recently published our first batch of courses that provide learners with adaptive AI-assisted feedback, and have more on the way soon!
In the meantime, I want to address a few pressing concerns about the state of software development:
Will software developers become obsolete?
Is there historical precedent for the AI boom (and what can we learn from the past)?
Can AI really replace humans?
Finally we’ll even explore a few ways we can leverage AI to enhance our learning today. Let’s dive in.
Start mastering coding fundamentals today#
Master the core logic and computer science skills you’d learn in a bootcamp or university. Practice your new skills with hands-on, real-world problems.
There is no need to sugarcoat it: it has been a challenging time in the tech industry. Many people I talk to (new learners and experienced developers alike) have legitimate concerns about the current hiring landscape and what it all means for the future of software development.
Meanwhile, everyone is wondering the same thing: what role is AI playing in this disruption — and will AI affect the long-term viability of software development as a career path?
Short answer: absolutely not. At least not for a long time.
Speaking as a tech founder (and former software engineer and hiring manager), the demand for skilled developers is far from evaporating. The ongoing layoffs within prominent tech firms are largely a symptom of over-hiring rather than a reaction to automation and AI. What we’re seeing is a recalibration that, in my opinion, won’t significantly impact the market long-term.
The need for software developers across virtually all industries remains robust, and there are several reasons why I believe this pattern will endure.
First, let’s look at a couple of key data points:
The U.S. Bureau of Labor Statistics (BLS) forecasts a 25% surge in employment for software developers in the next 10 years, far outpacing the average across all occupations.
The BLS also reports that the median annual wage for software developers is $120,730 (as of May 2021), significantly higher than the median annual wage for all occupations in the United States.
Beyond the encouraging employment data, it’s an exciting time to be part of this global revolution. Here’s why:
Global Demand: While the U.S. market has been a benchmark for tech industry growth, it’s crucial to emphasize that this is an international trend. The global proliferation of affordable and accessible mobile devices is a significant factor. This development means that we’ll require new software developers from every corner of the globe to meet the increasing demand for applications and digital services.
Beyond the Tech Sphere: The narrative of innovation and progress isn’t confined to the traditional tech sphere. Today, technology has permeated virtually every industry. While giants like Meta and Microsoft command significant attention, we must not lose sight of the tech revolutions unfolding within non-tech-oriented sectors. Industries such as education, healthcare, finance, and manufacturing are integrating technology at an unprecedented rate, which further fuels the demand for software development expertise.
The Rising Star - Machine Learning: Engineers equipped with machine learning skills are set to be more in-demand than ever before. As I highlighted in a recent newsletter, “Chat GPT-4 Demystified”, the rising importance of AI in various sectors is a testament to this trend.
The future of software development is more promising than ever. The sustained growth of technology-driven industries necessitates a continuous supply of skilled software developers. Simultaneously, the ascendancy of AI virtually guarantees the significance of machine learning engineers for years to come.
Disruption has been a constant companion of the tech industry. Each significant event or paradigm shift has led to the emergence of new roles and specializations. (I’ve lived through a few of them myself).
Dot-Com Bubble (late 1990s - early 2000s): When the dot-com bubble burst, many feared that the internet sector as a whole was done for. There was concern that internet-focused jobs would become obsolete. However, the temporary decline in tech jobs paved the way for a far more mature internet industry, and new roles in areas like web development quickly emerged.
Financial Crisis of 2008: Massive layoffs occurred for the sake of cost-cutting, but this period also spurred growth in areas like data analytics and business intelligence to help companies make more informed and strategic decisions in the future.
Shift to Mobile (late 2000s - 2010s): When mobile devices appeared on the scene, there were concerns that developers specializing in desktop software would become less relevant. Not only was this untrue, the rise of mobile technologies led to the emergence of mobile app development, mobile UX/UI design, and mobile game development. Entire markets that previously didn’t exist are thriving now.
Transition to Cloud Computing (2010s - present): While fears lingered that traditional IT roles might lose relevance, the reality unfolded quite differently. In fact, we experienced and continue to see a robust increase in demand for roles centered around cloud technology, such as cloud computing experts, cloud architects, and cloud engineers.
COVID-19 Pandemic (2020 - present): The pandemic accelerated the digital transformation of businesses and sparked a surge in demand for roles related to remote work technologies, e-commerce, digital health, ed-tech, and cybersecurity. The adoption of online learning platforms and tools in the field of e-learning also experienced significant growth, creating new opportunities for instructional designers and e-learning content developers.
Every new technological breakthrough and major paradigm shift has brought with it an array of new possibilities for innovation, creativity, and growth.
The emergence of AI is no different. In fact, it is conceivable that the transformation in our society resulting from AI will be even more swift and significant than any past transformation dating back to the industrial revolution.
This may sound alarming, so let’s address some common misconceptions about AI.
Let’s talk about AI for a moment: specifically, what it can and cannot do.
There are many very real and promising applications of AI in software development, and in countless other industries. But there are also some very important things that it simply isn’t able to accomplish.
First, let’s talk about what AI can do. Software developers are already using generative AI in the following ways:
Automation of routine tasks: AI models can automate certain mundane coding tasks, such as generating boilerplate code or assisting with repetitive operations. This can help developers move faster and reduce tedium, allowing them to focus on more complex and creative aspects of their work.
Augmenting development processes: AI models can offer suggestions, provide code examples, and even diagnose issues while debugging. These features can enhance the development process and improve efficiency.
Impact on low-level coding jobs: Some low-level coding tasks may be automated or simplified by generative AI, potentially reducing the demand for certain entry-level coding positions. However, as automation eliminates repetitive tasks, it also opens up opportunities for developers to work on more challenging and innovative projects.
New job opportunities: Generative AI can create new job opportunities, such as AI model training and customization, maintaining and improving AI systems, and ensuring ethical and responsible use of AI in development processes. The same goes for data science, and other data-focused specializations. AI has the potential to streamline and enhance the software development process, which will lead to many entirely new opportunities, while other roles evolve. People who adapt to new technologies and stay updated with emerging trends will continue to find promising job prospects in the coming years.
That said, it is important to understand the actual capabilities of AI in order to avoid overestimating its intelligence or attributing human-like qualities beyond its designed functionalities.
Here’s what AI is actually doing under the hood:
Natural language processing: AI’s language processing capabilities rely on learned patterns and statistical analysis rather than true comprehension and reasoning. It may generate coherent responses based on patterns in the training data, but lacks genuine understanding and reasoning.
Machine learning from big data: AI excels at learning patterns from vast amounts of data within specific domains, but its intelligence is limited to the trained tasks. It lacks broader understanding or intelligence beyond the specific data it has been exposed to.
Creative outputs: AI can generate impressive outputs based on learned patterns, but it lacks genuine creativity and originality. The generated content is based on statistical analysis and imitation rather than true artistic or cultural understanding.
Human-like conversation: AI applications with conversational interfaces simulate human-like interactions, but their responses are based on predefined algorithms and data-driven patterns. The illusion of human-like intelligence is created through programmed responses rather than true comprehension.
Ultimately, while generative AI can offer valuable support, it isn’t going to make developers obsolete or hinder the learning process. Here’s why:
Developing software requires creative thinking and problem-solving skills that go beyond simple code generation. AI models may assist with repetitive or routine tasks, but developers will still be needed to design complex systems, understand business requirements, and make strategic decisions.
Learning how to code involves understanding the underlying principles and concepts. While AI models can help with specific coding queries, they may not always provide the necessary explanations or context for deeper understanding.
The field of programming is constantly evolving. New languages, frameworks, and paradigms are emerging regularly. AI models need to be trained on existing knowledge and may not always keep up with the latest advancements. Developers will still need to adapt, learn new technologies, and innovate.
Start mastering coding fundamentals today#
Master the core logic and computer science skills you’d learn in a bootcamp or university. Practice your new skills with hands-on, real-world problems.
While ChatGPT and other generative AI platforms are valuable tools that can enhance developer productivity, neither will fundamentally affect the long term viability of software development as a career — at least not anytime soon.
When such a transformation does occur, we can expect that the field of software development will have evolved and adapted to incorporate the advancements brought by AI with software developers who embrace these advancements remaining at the forefront of this dynamic industry.
After alI, I would argue that software developers today are “problem solvers” more than they are “coders.” Rote coding skills aren’t nearly as important as the ability to think critically and solve problems. In fact, AI has the potential to help free up developers from more menial tasks, allowing them to focus on solving bigger problems.
Remember, as long as there are challenges to overcome, there will be a demand for individuals who can provide innovative solutions. By embracing generative AI, new coders gain a competitive edge, equipping themselves with valuable tools that streamline their workflow and enhance their problem-solving abilities.
There has never been a better time to get started, so be confident and accelerate your learning today.
What is your perspective on the rise of AI? Do you think it will affect your livelihood? What are some ways you are using it to your advantage today?
I look forward to hearing your thoughts.
As always, happy learning!
Free Resources