The impact of AI and learning to code

A question that we're asked at least 20 times a week, "Will AI make tech and coding jobs redundant?"

The impact of AI on learning to code

AI (Artificial Intelligence) - it's not just coming, it's arrived, and the comments and questions around "will AI make tech and coding jobs redundant?".

TL:DR - The answer is no... Let's dig in.

Why are people worried?

AI is sold to us all as this super intelligent ethereal *thing* that exists that can, or will be able to, do all jobs that humans do. You've seen the videos right? "I use AI to create flappy bird" - super impressive right? A machine just recreated one of the most popular games in the last decade(ish) and so the natural conclusion is that AI is a software developer, making all software developers obsolete. 

It's clever right? Super clever, and to the untrained eye "AI is taking my job so there's no need to learn to code". Here's the thing...*Flappy Bird already exists*. What the AI has done here is google like a ninja - it's a collection of information that it's gathered from public sources (let's assume this, data privacy in AI is a whole different topic!) and can pull together to give you an often human readable, very confident, response as to what the answer is. But, is it right? It answered super confidently, so it must be right...right?

That's where it falls down… and is also where The Code Zone slots in. How would you know it's giving you the wrong answer, if you don't have the context to go with it? Learning to code "The Code Zone way" gives you that context, the ability to critically analyse something and say - no, that's not right, and not what I asked for. AI cannot address the complex, highly nuanced problems that require a (human) understanding of the issues.

We need to teach children (the coders of the future) what's possible, how things work, how to think critically, how to question (reasonably) and how to know when AI is just completely wrong. Coding is collaborative and social, it's complex and ambiguous.

AI is amazing and has its place – it can be a really useful tool, it can automate tasks, it can dig out coding snippets, it can reduce the mundane, generate boiler plate and reduce the grind work. But that’s just it, it’s a tool, not a replacement.

You'll see a lot of "learn coding with us because we use AI"...and we say 'question it' - what does it mean in that context? I can tell you we use AI tools in analysing patterns and data across our system, so we can learn and adapt what we're doing - it informs us, through some critical analysis from us (the humans...) of course. But what about the children? The learning? "AI tools that generate code will change the way we write code" - should we be teaching the children to use this? No, it's too soon. We need to develop the coding fundamentals first, build up their critical thinking, confidence, knowledge. Using AI tools too early will lead to a generation of children blindly using and following code they don't properly understand or question, depriving them of many crucial skills and understanding. The process our clubs follow, through our levels and awards, will lead a child through to a fundamental understanding of code (not just syntax knowledge).

Once children reach our Architect clubs we start to introduce and encourage them to explore further tools as they start to discover what kind of developer they want to be. 

Like true nerds, we asked ChatGPT "Will AI take our coding jobs?" (it's response is below) - and if AI doesn't think it will, why should we?

 

==== AI RESPONSE (Chat GPT) ====

AI is transforming the coding landscape, but it is unlikely to completely take over coding jobs for several reasons:

Complex Problem Solving:

  1. Coding often involves solving complex, nuanced problems that require a deep understanding of specific domains. AI, while powerful, still lacks the ability to fully understand and creatively address complex, context-specific problems the way humans can.

Human Creativity and Innovation:

  • Many coding tasks require creativity and innovation, such as designing new algorithms, creating user-friendly interfaces, or developing novel applications. AI excels at following patterns and rules but struggles with creative thinking and generating truly original ideas.

Understanding Context and Ambiguity:

  • Coding often involves understanding and interpreting vague or ambiguous requirements. Human programmers can navigate these ambiguities by asking clarifying questions, making informed assumptions, and adjusting their approach as needed. AI lacks the nuanced understanding and flexibility needed to handle such situations effectively.

Collaboration and Communication:

  • Software development is highly collaborative, involving constant communication with stakeholders, team members, and end-users. Human programmers are adept at understanding and incorporating feedback, negotiating requirements, and working as part of a team. AI, on the other hand, lacks interpersonal skills and the ability to effectively communicate and collaborate with others.

Ethical and Responsible AI Development:

  • Developing AI systems, including those that assist with coding, requires careful consideration of ethical and societal implications. Human judgment is crucial in ensuring that AI is developed and deployed responsibly, considering factors such as fairness, accountability, and transparency. Human oversight is essential to prevent and address potential biases and unintended consequences in AI systems.

Continuous Learning and Adaptation:

  • The field of software development is constantly evolving, with new languages, frameworks, and paradigms emerging regularly. Human programmers are adept at continuous learning and adapting to new technologies and methodologies. While AI can be trained on existing knowledge, it may struggle to keep pace with rapid changes and innovations in the field.

Limitations of Current AI:

  • Current AI models, including those used for coding, have limitations in terms of understanding context, handling edge cases, and generating reliable code without supervision. AI-generated code often requires human review and debugging to ensure quality and functionality.

While AI can assist programmers by automating repetitive tasks, suggesting code snippets, and even generating boilerplate code, it is more likely to augment human capabilities rather than replace them. The future of coding will likely involve a synergy between human programmers and AI tools, where each complements the strengths of the other.

Categories

Chat to our mentors