The Struggle with Myself: Learning to Code For the Seventh Time

I have tried to learn how to code many times and each time I have failed. I say failed because every time I’ve quit without having a good grasp of coding and it didn’t carry over into my work as tester. I felt as clueless and intimidated by code as before. I’m now on my seventh attempt to learn how to code and for the first time I feel like I’m getting somewhere. If you’re struggling with something similar, read on, maybe I can help you.

I’ve figured out why I kept failing in my previous attempts and the reason was pretty dark and not easy to overcome. It’s something personal and I will use strong words to judge myself, but I want to be honest here. Spoiler: learning how to code wasn’t the true problem….

Background

When I was a child, you could say I was smart. Primary school was easy for me without doing much in terms of homework. The problem started during high school. You see, by that time I thought “smart” meant that you had to understand everything, immediately. So you can guess how that went down when I was confronted by things I didn’t understand at once, like math. I avoided all classes that confronted me with the idea that I wasn’t smart whenever I could; in my case that meant following language-classes and history and ditching math the first chance I got. This pattern has continued the rest of my life so far. Going to university, I chose Language & Culture Studies. Of course, I had to study, but doing research and writing never gave me that dreaded, horrible feeling that math has.

Skipping ahead here, after university, I ended up in IT (testing). I quickly found out that having the ability to code would be a good skill to acquire. And so started my streak of failures to learn how to code. I’ve tried Python, JavaScript (twice), Java and Ruby. Each time, I quickly traveled to that dark place in my mind that told me “You are too stupid to learn this, Maaike. Smart people get this at once”. My old coping method took over each and every time: I quit. I just couldn’t deal with how uncomfortable and dumb it made me feel. I’ve managed just fine as a tester, but I’ve been uncomfortable at times. I felt like a failure: I really wanted to be able to code, I just thought I couldn’t.

I’m not lying to you when I say that I’ve only figured this out in 2020:

Smart people don’t get everything at once, they sit down and put in the work to master a skill and they don’t judge themselves so harshly when they’re learning something new.

What I did was avoid putting in the work to keep this silly idea that I was smart and even worse, I used it as a stick to hit myself with. I’ve punished myself and put myself down with thoughts such as “you’re too stupid for this”, “don’t even try this”, etc. I’ve literally hated myself because I thought I couldn’t learn how to code. I’ve dealt with anger, tears…everything. Like I said, dark times.

After figuring this out, I knew that learning to code wasn’t the problem I had to solve. I had to rewire my thinking and rewire my behaviour when it came to learning difficult things. Easy to say, hard to do.

Now came the scary part. I wondered: If I do this, will I be strong enough? Will I be able to overcome these beliefs I have about myself? Or will I give up again? (That would feel like losing from myself for the seventh time…).
Well, I don’t think I could have written this blog post if I wasn’t the victor in this struggle with myself…. I came out at the other side. I’ll tell you what happened.

Struggling with myself

I want to make an iOS app so I figured Swift would be a good language to learn (also good to get my programming language Bingo card full!). First, I wanted to follow the book Swift Explorations and do all the exercises in there to practice coding. I committed to learning every day, but I didn’t commit to a certain amount of time, just continuing until I no longer wanted to (for the day). It was about as awful as I expected. At this point, my current coping mechanisms reared their ugly heads. I cried, I was incredibly angry, I felt hatred for myself, everything. All because it takes me longer than 10 seconds to get a programming concept. Some of you (if you’re still reading this novel) probably think I’m crazy, how can you get this upset by programming, right? It’s not the programming though, it’s the inner beliefs that (for God knows what reason) I have. Correction: that I HAD. Because I managed to quiet the dark thoughts I had about myself, in the end.

Turns out that if you practice every damn day you will get better. That was the first piece of evidence to change my inner beliefs. Code syntax got easier, concepts that bothered me at first became easier. The baby steps into the right direction were a very good medicine to quiet the dark thoughts. Sleep was a good reset-button. Every day I started out feeling fresh and with hope. Sometimes it took about 10 minutes for me to feel miserable again, sometimes I made it through the learning for the day without feeling too terrible.

It also turns out that your preferred learning style matters a lot. Following a book to learn how to code didn’t work that well for me. I had trouble parsing the text, if you will. I’m much more comfortable to follow a video tutorial where someone explains the concepts and code. Then, after the tutorial I’m happy to do a practice exercise on my own. I switched from the book to a Udemy course and I’m enjoying the learning journey so much more now.

I also like pair programming. I’m extremely lucky that my husband is a developer (he started at age 12) and he can give me good hints or guide my thinking without giving away the solution. It’s also more fun this way, I find. I highly recommend finding a mentor for whatever skill you’re trying to learn so they can help you. If a mentor is not available, try to find a peer. I was miserable going at this learning journey alone, together is more fun!

Leaving Mordor

I’m now four months into this journey that I thought was about programming but is secretly about reprogramming myself. I’m not there yet, but I feel like I’ve fixed the core of my problem. I’ve thrown the ring into my Mountain of Doom so I can leave Mordor now. I can notice this because I no longer feel angry when I don’t “get something” at once, I have patience with myself now. At this point, I don’t even care if I ever become a senior programmer. The feeling of relief because I no longer feel so angry with myself is worth more. I’ve already proven to myself that I can change, that I can think differently about myself, that I don’t have to judge myself so harshly.

It feels like learning how to program is now really about learning how to program and not all this meta-stuff. That’s not to say it isn’t frustrating at times, the “draw the rest of the fucking owl” vibe in programming is really annoying.

I have no idea if this was helpful for you, but if you’re stuck with learning how to code (or another skill) and you’ve quit a couple of times it might be a good idea to figure out what’s behind it. Are you your own enemy, like I was? Is your choice of learning style not the correct one? Are you practicing enough? Are you too alone in your quest? Figure these things out! I’m here for you if you need me.

If you made it to the end of this post, I applaud you, it became a lot longer than I expected. Cheers!

PS: Resources that have helped me with figuring out what my preferred learning style is because for some reason at school they don’t teach you how to learn, which is insane, but whatever. Online Course: Coursera course Learning How to Learn (free). Book: Peak – Secrets from the New Science of Expertise

4 thoughts on “The Struggle with Myself: Learning to Code For the Seventh Time

  1. Reading this was like hearing my own thoughts! I found the article link on the Ministry of Testing forum and the topic appealed to me. I had a similar issue while learning to code, I’ve always been told by others that I’m really smart but coding made me feel dumb… In general, when I didn’t get something on the first try I would give up on it – because if I couldn’t figure it straight away it must be a waste of time! Gradually I turned myself into a good IT generalist, I do know some coding but I’m not great at it, it’s like understanding a foreign language completely but barely being able to speak it. In conclusion, I still haven’t given up on coding, I’m just trying to learn code, not for the sake of coding itself – I’m learning more about C# so I can be better with test automation. Blog posts such as this one are good motivation, seeing that others have the same struggles is pretty comforting and inspiring. Thanks for sharing your experience in such an honest and self-critical manner!

Leave a Reply

Your email address will not be published. Required fields are marked *