3 Mistakes That Kept Me Stuck at Python Basics for a Year

I want to tell you about a year I lost.

Not a dramatic year. Nobody would have looked at me and thought anything was wrong. I opened my laptop most evenings. I watched the videos. I had a notebook with colour-coded headings and everything.

And at the end of that year, I still could not write a loop without looking it up.

I thought that meant something about me. It didn’t. It meant I was doing three specific things wrong, and all three are so common that I’ve since watched dozens of other women do exactly the same. Here they are, so your year goes better than mine did.


Mistake 1: I watched instead of writing

This was the big one.

I would sit with a video on, nodding along, thinking yes, I follow this, that makes sense. And it did make sense. In the moment, it genuinely did.

Then I’d close the laptop and I couldn’t have written a single line of it.

Here’s the thing nobody told me. Watching someone code is like watching someone do their makeup on YouTube. You can follow every step. You can see exactly where the brush goes. You understand the whole thing while you’re watching it.

But your hands have never held the brush. And the first time you try it on your own face, you realise that watching taught you almost nothing about doing.

Coding is the same. The understanding you get from watching is real, but it lives in a different part of your brain from the part that has to produce the code later.

What this looks like in practice

Say you’re watching someone explain a loop, and they write this:

Python
names = ["Thandi", "Zanele", "Lerato"]

for name in names:
    print("Hi " + name)

It prints:

Python
Hi Thandi
Hi Zanele
Hi Lerato

While you’re watching, this is clear. A list of three names. Go through them one at a time. Say hi to each.

Think of it like doing your nails. The list is your ten fingers. The loop is you working through them one at a time, doing the same thing to each. You don’t write out ten separate instructions. You say “for each nail, do this” — and then you do it.

Lovely. Makes sense.

Now close this page and write it from memory.

Harder, isn’t it? That gap — between I understand this and I can produce this — is the whole reason my year disappeared.

The fix

Type every example yourself. Not copy and paste. Type it.

And then change something. Add a fourth name. Change the greeting. Make it say something rude about your ex. It doesn’t matter what you change, it matters that you touched it, because the moment you change something you find out whether you actually understood it or were only recognising it.

Ten minutes of typing beats an hour of watching. I’d swap my whole lost year for that one sentence.


Mistake 2: I collected resources instead of finishing one

At my worst I had four courses on the go, two books, a folder of PDFs I’d downloaded and never opened, and about forty bookmarked tutorials.

I felt so prepared. I was doing nothing.

Every time one course got to the part where I felt a bit lost, I’d go and find a different one. And the new one would start from the beginning, which felt lovely, because the beginning is the bit I already knew. So I’d have a comfortable week. Then it would reach the hard part, and off I’d go again.

I learned the first three chapters of Python about five separate times. I never once got to chapter four.

It’s the same as having eleven half-used bottles of foundation in your drawer. Each one felt like the answer when you bought it. Not one of them is finished. And the reason isn’t that all eleven were bad — it’s that you kept starting over instead of working through.

Why the hard part is the point

Here’s what I wish someone had said to me: the part where you feel lost is the part where learning actually happens.

Everything before that was just recognising things you’d seen before. It felt like progress because it was comfortable, but comfortable and progress are not the same thing. The moment you feel stupid is usually the moment right before you learn something.

Switching resources at that exact point means you never get through it. Ever. In any of them.

The fix

Pick one thing. Finish it.

Not the perfect one — there isn’t a perfect one, and looking for it is its own way of avoiding the work. Pick a decent one, and when you hit the part where you feel lost, stay there. Read it again the next day. Write the example out by hand. Go and find one other explanation of that one specific thing, then come back to where you were.

But come back. That’s the whole instruction.


Mistake 3: I memorised instead of understanding

This one is sneaky, because it looks like studying.

I knew that for was followed by a name, then in, then a list, then a colon. I had that memorised. I could write the shape of a loop with my eyes closed.

But I couldn’t have told you why. And so the second anything looked slightly different from the example I’d learned, I was completely stuck.

It’s like learning a recipe by memorising the words instead of understanding the cooking. You can recite “beat the eggs, fold in the flour” perfectly. But if the recipe says fold and you don’t know what folding is or why it matters, you’ll stir it like a maniac and wonder why your cake is flat.

Memorising gets you through the example. Understanding gets you through everything else.

What understanding looks like

Here’s a small one. What does this print?

Python
basket = ["lip gloss", "mascara", "blush"]

print(basket[1])

If you memorised, you might say “lip gloss”, because it’s first and one means first.

It prints:

Python
mascara

Python counts from zero. So basket[0] is the lip gloss, basket[1] is the mascara, basket[2] is the blush.

Now — memorising this is fine, you’d get the right answer. But understanding why is what saves you later.

Think of it as how far along the shelf you have to move. The lip gloss is already in front of you: move zero spaces. The mascara: move one space. The blush: move two.

The number isn’t “which one is it.” The number is “how far do I go.”

Once you hold it that way, a whole set of future errors stop happening to you — because you’ll understand what Python means when it tells you a list index is out of range. You reached further along the shelf than the shelf goes.

The fix

After every new thing you learn, ask one question: why does it work this way?

If you can’t answer it, you’ve memorised it rather than learned it. That’s not a failure — it just means you’re not finished with that concept yet. Go and find someone who explains the why, not only the how.


What I’d tell myself at the start of that year

Type the code. Finish one thing. Ask why.

That’s it. That’s the whole year I wasted, in seven words.

If you’re sitting where I was — a notebook full of neat headings and nothing you can actually build — you’re not behind, and you’re certainly not incapable. You’ve been given the wrong instructions, which is a very different problem and a much easier one to fix.

Start tonight. Open an editor, type out one example from memory, and change one thing in it. That’s a better evening than my entire lost year.


If you want the version I wish I’d had

Python Decoded is the guide I wrote for the woman I was in that year. Every concept explained in plain English, in an order that builds, with the why included rather than assumed.

No jargon. No tone that makes you feel small for asking. Just the thing finally making sense.

Read more about Python Decoded: A Women’s Coding Companion →

Or start with the free Python starter guide if you’re not sure where you are yet — it’s free, and it’ll tell you where to begin.