fbpx

Will AI replace developer jobs?

Introduction

In January 2023, ChatGPT by OpenAI was introduced to the public and opened the floodgates of disruptive AI technologies entering into the domain of knowledge work.

For our purposes, we can define “knowledge work” as any kind of work that depends on the output of your brain to deliver value. Examples of knowledge work include:

  • blogging
  • data analysis
  • software engineering
  • digital marketing (SEO, social media, etc)
  • graphic design
  • recruiting
  • sales
  • executive admins
  • product managers
  • virtual assistants

Each of these roles require a heavy emphasis on communication, coordination, and creation. They also usually involve work on computers.

There is both a lot of excitement AND a lot of fear around generative AI, because of what many are anticipating as a consequence of its arrival – the replacement of knowledge work jobs that have formed such a significant component of the global workforce.

We get asked a lot about how AI will affect the future of software development jobs by prospective and active students, so we thought it would be useful to dive into the subject and offer our unbiased take!

What are Generative AI and LLMs?

Generative AI refers to a class of artificial intelligence models and algorithms that are capable of generating new content, such as text, images, or videos, that resembles human-created content. These models are trained on large datasets and learn patterns and structures to generate new outputs based on the data they were trained on.

Generative AI is interesting because it is capable of creating NEW and ORIGINAL content. This includes the ability to generate code based on requirements that are fed into the AI using prompts.

LLMs, or Language Models, are a specific type of generative AI that focuses on generating human-like text. LLMs are trained on vast amounts of text data and learn the statistical patterns and relationships between words and sentences. They can then generate coherent and contextually relevant text based on a given prompt or input. LLMs have been widely used in various natural language processing tasks, including machine translation, text synthesis, and sentiment analysis.

So, generative AI is a broad umbrella term representing a class of AI that can generate content. LLMs are a specific kind of Generative AI that focuses on generating human-like text by being trained on pre-existing content and data.

ChatGPT is the most well known LLM, but there are many others in development and active use.

What are some pros and cons of using Generative AI/LLMs?

Generative AI and large language models (LLMs) offer several advantages and disadvantages when applied to knowledge work.

Pros:

  1. Increased Efficiency: Generative AI and LLMs can automate repetitive tasks in knowledge work, allowing professionals to focus on more complex and creative aspects of their work. This can lead to increased productivity and time savings.
  2. Enhanced Creativity: These AI models can generate new and original content, providing fresh ideas and perspectives. In creative fields such as graphic design or content creation, generative AI can serve as a source of inspiration and assist in generating innovative solutions.
  3. Improved Decision-Making: LLMs can analyze large amounts of data quickly, extracting valuable insights and patterns. This can support decision-making processes by providing comprehensive information and aiding in identifying trends or correlations that humans may overlook.

Cons:

  1. Quality Control Challenges: Generative AI and LLMs may produce content that is not always accurate or reliable. Without proper supervision and validation, the generated output can contain errors, biases, or misleading information. Human review and oversight are crucial to ensure the quality and integrity of the generated content.
  2. Ethical Considerations: The use of generative AI raises ethical concerns regarding intellectual property rights and plagiarism. It becomes challenging to determine the origin of generated content and distinguish it from human-created work. Additionally, there is a risk of malicious use, such as generating fake news or deceptive content.
  3. Limited Contextual Understanding: While LLMs can generate coherent text, they may struggle with contextual understanding and nuanced interpretations. They rely on statistical patterns learned from training data, which may result in generating text that lacks deep comprehension or fails to capture the intended meaning accurately.

In simplified terms, Generative AI can radically improve a knowledge worker’s workflow by speeding it up, making it more efficient, and offering a conversation partner for better creativity. However, we’re in the very early stages of Generative AI, and there still needs to be a lot of work done to make sure that the output from Generative AI is good quality, accurate, and also ethically used.

How is Generative AI currently being used in software engineering?

Generative AI is already making its mark in the field of software development. One way it is being used is in code generation. AI models, such as GPT-3.5 and GPT-4, can be trained on large code repositories and learn patterns and structures that exist in software development. This enables them to generate code snippets or even entire functions based on given requirements or prompts. Code generation with generative AI can help developers speed up their workflow by automating repetitive or boilerplate code writing tasks.

Another application of generative AI in software development is in bug detection and automated testing. AI models can be trained to analyze code and identify potential bugs or vulnerabilities. By detecting these issues early on, developers can save time and effort in debugging and ensuring the quality of their software. Additionally, generative AI can assist in generating test cases and automating the testing process, making it more efficient and comprehensive.

When we talk to a lot of working developers and also integrate AI into our own workflows, the biggest things AI is helping with are:

  • documentation generation
  • Speeding up the code process by generating “scaffold” code that can be tweaked to fit the existing use case
  • Explain unfamiliar code
  • Brainstorm possible approaches to solving different problems

A project I did recently that would have taken a good eight hours to code because of some tricky date manipulation ended up taking just two hours because of generative AI.

A big key there was that I already understood how to write the code from scratch already, so editing and managing the output from AI was much easier.

If I didn’t fully understand the underlying process, I probably would have spent even more time debugging and troubleshooting code I didn’t understand. Right now, that seems to be the biggest con of using generative AI in code.

What does the future hold for software engineering and Generative AI?

A week ago, I spoke with an Agile coach working for a large company that produces applications with generative AI as a foundation.

They saw a demo where an AI app was given a set of requirements, and was able to code and deploy the resulting software with great results and minimal operator input during the process.

This is the future many are afraid of – a future where AI will do all of the work and eventually replace software engineers.

There’s no question that AI will significantly impact the jobs of software developers. For some companies, the number of developers they hire will come down. Eventually, it’s possible that what used to take a 10 person team to build will take 2 or 3 people when augmented with AI.

A metaphor I like to use starts with digging ditches.

Before, a large ditch had to be dug with shovels by many people.

Eventually, heavy equipment like backhoes, front-end loaders, and bulldozers came about and those same ditches could now be done with a single equipment operator in a fraction of the time.

We as knowledge workers can think of AI like the new heavy equipment – capable of helping us do way more work with less effort and time.

That doesn’t remove the need for having a detailed understanding of how a ditch is dug well.

It just means that we will enhance individually productivity, ideally while maintaining excellent results.

How will AI impact demand for software developers?

To be honest? We don’t know.

If we only look at individual productivity as a factor, then it makes sense that you wouldn’t need to hire as many software engineers if they are AI augmented.

However, there are many other factors that could impact a company’s staffing needs for engineer talent, including overall increases in demand for software as it continues to enter every aspect of life, the development of new kinds of roles (like prompt engineers, AI engineers, and cross-functional skilled workers with other capabilities under their belts besides coding), and the overall trend in reliability and quality from AI generated content.

As of right now, there’s never been higher demand for engineering talent. Plenty of companies are still trying to fill roles.

Our stance is that learning how to code is still extremely valuable, even as AI tools become more useful.

That said, it’s still smart to keep your eyes on the horizon and future proof your skills by rounding out your coding ability with other technical skills (like cloud and cyber-security) as well as becoming a more effective team member by emphasizing soft skill development, like product management, communication (written and verbal), public speaking, and many others.

To Be Continued

It isn’t an overstatement to claim that this new era of AI technology is as big, if not bigger, than the Industrial Revolution in terms of how it will impact human life.

We’re only just beginning to see those impacts. The question is, how will those impacts deepen and evolve as the technology advances?

What kind of new opportunities will those advances create?

Ready for More?

If you’re interested in learning more about our live and self-paced programs, click below to get answers to your questions!

REQUEST MORE INFO

Please fill out your information below!

We'll reach out to you in order to schedule a time to talk.

Please enable JavaScript in your browser to complete this form.
Name

Please fill out your information below!

We'll send you an email with the syllabus attached as a PDF.

Please fill out your information below!

We'll reach out to you in to provide more information and answer any of your questions!

Please enable JavaScript in your browser to complete this form.
Name

Please fill out your information below!

We'll reach out to you in order to schedule a time to meet with an instructor that works best for you.