It's Just A Function

Maximizing your learning, and getting help, in the age of AI.

If you're learning to code in the age of AI, you should aim to maximize your learning by wrestling with problems 'the hard way' a bit, but also to allow AI to help you understand and improve.

Here's the approach I recommend:

1. First, make an attempt on your own

Just try something. Anything. Don't spend too long. Just make a simple prototype or proof of concept. Write the simplest code you can think of, warts and all. Draw diagrams and write pseudocode. Take notes on your ideas, on what's going well, and on where you struggle.

Your first attempt will be imperfect, but it will be a good learning experience and yardstick. Reference the official documentation of your language and core libraries, but don't look up any other examples.

ESPECIALLY do not use AI yet at this stage.

Do the work the hard way, form your own opinions, and make your own mistakes.

2. After making an attempt, read some examples (from other humans)

Read through some of the examples that I share on this site, and/or find some other examples on your own. From other humans. Preferably from the pre-AI era, so you know it wasn't just a vibe coded clone. How did they handle some of the decisions? How do they mirror, or differ from, your own approach?

Take the time to read through these on your own. Read the docs. Read the code. Read the tests. Wrestle with the code until you really understand it. Refer to the official docs of any native language features, core libraries, or other libraries used.

Use AI SPARINGLY, to enhance your understanding.

Form your own understanding first. Figure it out the slow, hard way. That's how you learn. Then, ask AI to confirm - or challenge - your understanding, and to expand on details that you may have missed.

3. Finally, make a new, improved attempt.

Now that you've made an initial - possibly naive - attempt, and seen how others approached it, give it another go.

Rethink your decisions, or double down. Start over, or refine. Get more ambitious, or less ambitious. Polish every detail, or just get the gist of it all. Take the time to build something that works and that you're proud of. You don't have to make it a showcase project (unless you want to), but do wrestle with it until you've learned what you needed to learn from it.

Use AI SPARINGLY, for feedback on your work.

Don't ask it to make decisions for you. Don't let it do the work for you. Form an opinion, make decisions, and do the work on your own. Then ask for feedback.

Don't let it make you second guess yourself. But, also ask it to be at least a little bit critical of your ideas. Treat everything it says with a healthy dose of curiosity and skepticism.

4. Consider how you might use AI in future attempts

In this scenario, your goal was to maximize your learning. But, what if you already understood the problem and the potential solution pretty well? In that scenario, how might you use AI to accelerate the process of creating finished code, while still retaining ownership of key design decisions and important details?


#AI #assignments #learning