How to learn to code with AI in 2024

This blog was originally published on Substack. Subscribe to ‘Letters to New Coders’ to receive free weekly posts.

My daughter just turned 12 and will learn to drive in a few years.

When I picture her getting behind the wheel, I can't help but think about how different her experience will be from mine. When I got my US driver's license in 2006, I didn't even have a back-up camera, let alone automatic parking. I certainly never imagined that semi-autonomous cars would be widely available in the next decade.

Given the rapid advancements in self-driving technology, I'm curious how driver education might evolve. Will my daughter use AI features while learning how to drive? Will she be able to invoke AI features during the driving test?

I don't have answers to all these questions. However, I'm confident that driving tests will disallow AI features for the foreseeable future. If Tesla has taught us anything, it's that even the most advanced driving technology needs supervision from well-trained drivers.

Learning to code in this new era bears a lot of similarities. AI tools can enhance a programmer's work, but they can't solve most complex problems unassisted. Without strong programmers at the wheel, AI can easily drive us off-course.

There simply is no substitute for internalizing the basics.

Now more than ever, you need strong programming fundamentals to make the most of AI. But will your coding journey look the same today as it would have a few years ago?

Today, we'll explore learning to code with AI in two different ways:

  1. How to equip yourself to be a successful coder in the AI era.
  2. How to leverage AI to learn to code more efficiently.

Let's get started!

How to be a successful coder in the AI era

Imagine a world where AI provides many snippets of code as you build software. You review each line to ensure correctness and alignment with your coding style and guidelines. Through a combination of AI-generated and original code, you're able to build great programs efficiently.

This is the near-future of software development.

Notice that AI isn't replacing your role as a programmer; it's reducing grunt work. Without a deep understanding of what AI is doing, you run the risk of introducing errors and vulnerabilities into your code.

It's like when I discovered that you could build IKEA furniture with a drill instead of an Allen key. This innovation has saved me tons of elbow grease, but I still need a deft hand to ensure my KALLAX shelving unit doesn't collapse from improper assembly. At the end of the day, I control the machine.

So, does AI change what you need in order to become a professional developer?

Yes, somewhat! You'll need to learn how to incorporate AI into your workflow to be more productive. (As a developer, I'm thankful for this because it means less time completing small, tedious tasks, and more time solving interesting problems.)

However, AI shouldn't change how you learn to code, at least at the beginning. Just as you learn math fundamentals before using calculators, your first few months learning how to code will focus on learning coding fundamentals, including how to think like a programmer.

Many months down the road, you can think about incorporating Machine Learning and AI topics into your curriculum — but don't get ahead of yourself! You'll never reach that point if you skip the fundamentals.

How to leverage AI in the learning process

Many professional developers use AI assistants like ChatGPT and GitHub Copilot to write code more efficiently. Naturally, you may be wondering if AI tools can accelerate your learning process.

Well, yes and no.

AI assistants have some amazing capabilities. However, I don't recommend using them heavily in your first few months of learning to code. Let's discuss why — and explore some new AI tools specifically designed for learning.

Learning with ChatGPT and GitHub Copilot

As you learn to code, it's easy to become overwhelmed by all the new terms and concepts you're encountering. Having an AI assistant for quick, direct answers to questions like "What is a data structure?" can save you time scouring forums for relevant information.

AI assistants can also help unblock you and debug your code. Let's say you can't remember how to nest an object. With the right prompting, ChatGPT or Copilot can spit out code that meets your requirements. You can then analyze the output to learn how objects are nested in that particular context. Or, if you write code independently, you can have your AI assistant check for errors, then use that feedback to refine your skills.

This all sounds pretty great. So why not use AI assistants as a new coder?

To unlock the full benefits of ChatGPT, Copilot, or similar tools, you need the programming skills to do the following:

  1. Write effective prompts.
  2. Fact-check outputs.

Beyond asking simple questions like, "What is a data structure?", new coders don't have the experience to provide guidance that generates useful AI outputs. There are entire courses dedicated to this topic (called "prompt engineering"), which I only recommend once you've mastered programming basics.

No matter what you ask AI assistants, it's crucial to receive their answers with healthy skepticism. That's because Generative AI can "hallucinate," or generate inaccurate responses with a tone of authority. The technology doesn't truly understand the content it generates; it's simply creating responses based on patterns perceived in its training data, which is often outdated.

AI is improving all the time. However, even a small chance of hallucination is risky. I doubt you'd feel comfortable dumping all your symptoms into ChatGPT and accepting an AI prescription. Personally, I'd want a human with medical training to sign off on it.

The problem is, new coders don't yet have the knowledge to validate AI responses. This makes you highly susceptible to false information. AI assistants are more useful once you have strong programming foundations — and you can't rely on untrustworthy information to get there.

AI-powered tools for learners

AI assistants like ChatGPT and GitHub Copilot aren't ideal for learning to code. So what's the alternative?

For years, self-taught coders relied on books and videos to learn programming fundamentals. These can still be good options, as many of them contain high-quality content. However, traditional learning resources can't provide you with a personalized learning experience.

Thankfully, AI-powered learning tools are providing new coders with a better option.

For example, platforms like Educative take the university-quality content of traditional learning resources and enhance it with AI. Here's how it works.

As you progress through an online course, AI periodically assesses your knowledge and learning goals. From there, it adapts the curriculum to meet your needs in real time. This is highly valuable for self-taught coders, who often lose steam without a structured plan to guide their learning. Instead of researching what lesson to try next, all you have to do is focus on learning and stick to the path laid out for you.

AI also creates a more personalized, engaging experience within each lesson. When you start programming, you can write and run all your code in-browser. AI provides tailored feedback on your code, so you can make improvements and continue practicing within the course environment.

Need clarification on a concept? Instead of opening a new tab to ask Google or ChatGPT, you can highlight text within the course and receive an instant explanation.

Between adaptive learning, personalized code feedback, and instant explainers, AI-powered learning provides many benefits of an AI assistant — with the crucial addition of quality control. You can benefit from a personalized experience without worrying that false information will lead you astray.

Get started today

Overall, learning to code with AI looks a lot like learning to code without AI.

As a new coder, the best thing you can do for your future career is commit to learning the basics. With all the buzz around AI, it can be tempting to jump to AI skills — but this will hurt your progress if you haven't mastered programming fundamentals.

Think of it this way: you can't properly advise an AI tool on how to solve problems if you don't have relevant experience yourself. Plus, these tools are far from perfect, so you'll need the right expertise to edit AI-generated code.

By the time you're ready to interview, you'll want to show employers that you're AI-ready. This doesn't mean that you're prepared to work on AI models right away. Rather, you're a strong coder and problem-solver with a demonstrated willingness to learn how to leverage AI.

So if you're ready to learn how to code in 2024, don't let the AI hype derail your journey. Choose a guided learning plan like Educative’s Learn to Code: Become a Software Engineer — and start building your coding foundation.

While you can't skip the hard work of learning the basics, you can choose AI-powered courses that help you learn the basics faster. Unlike AI assistants like ChatGPT and Copilot, AI-powered learning is designed to support new coders. You'll get a highly personalized experience that accelerates learning, with the quality content of a university course.

As long as you stick to the learning plan and remain curious about AI, you'll be right on track to become "AI ready" in 2024.

Subscribe to Fahim.dev - Thoughts on Learning and Growth in Software Development

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
jamie@example.com
Subscribe