How To Deal With Code Learning Frustration


Show Notes

Learning to code is hard, and that level never really goes away  - there's always something new to learn as a coder, and it's always hard. So we've got to learn to deal with the frustration that can come with it. In this episode, I talk about the three things I've done to keep my frustration at bay while pursuing my coding goals.

Show Links



Transcript

Hello everybody, and welcome to another episode. I am your host, Noelle Anderson, and in today’s episode I’m going to talk to you guys a little bit about how I deal with frustration when I’m learning how to code.

First off, I want to give you guys an update to the website. So if you’ve been following along since the beginning, you know that I’ve been building the main website for this podcast, SheBuildsWithCode.com. And I am happy to say that I am almost done. I know, the last episode I said I was going to have it up by the next episode. And I was trying really hard. So the website is almost done. The design is done. The coding is done. All I have to do is get it uploaded to Hugo and I’m set and ready to go. The problem is the writing. I have not done any of my writing and it’s not a ton. I mean, remember, this is a website that is about a podcast and I started a podcast because I didn’t want to start a blog, but.

I still have to write a little blurb about me, about the podcast. Some intros to some other pages on the site, you know, something to the homepage and I’ve just been procrastinating to get it done, but it’s crunch time. I said I’m going to get it done. So I’m getting it done. So by the end of the week of when this is being recorded and airing, I will have my site up come hell or high water y’all, hell or high water.

That said there are still some other content things that I need to kind of fix. So when starting the podcast, it was really important to me that I made sure that I had transcripts available for each one of my episodes. People like to consume content in different ways. And even though, yes, this is a podcast which is audio-based medium, That doesn’t mean that I can’t provide an experience for people who would rather consume things by reading it.

You’d be surprised, however, how difficult it is to find quality audio to text translations transcriptions rather. So the first several episodes are me trying different solutions to try to balance between, you know, cost and quality. So I tried a few free ones. And the thing is, is you do kind of really get what you pay for. So it really has everything to do with the formatting of the transcript. I don’t know why probably because, I saw a few that looked really good and I kind of assumed that all transcriptions work that way a little bit like the AI follows the flow of conversation and maybe you get some paragraphs punctuations, et cetera, et cetera. And that’s not really how it works. That was kind of a naive way to imagine that a free software would be able to do all of that.

So my first couple episodes, I’m going to go back and redo with this software that I did find. And I did finally decide to go ahead and invest a little money because it’s not a ton. And as I mentioned, it’s really important to me that I have legible, usable transcripts for every episode. So I am using this service called Descript.

They actually allow the first three hours of audio transcription uploads for free, which is awesome. So I am going to go back and use those free hours to kind of clean up my old episodes and get those a little more presentable as far as my transcripts are concerned. And then moving forward, that is going to be one of my main editing tools.

It’s really worth it the way the AI works. And while again, there’s a little bit of editing that I have to do, it’s significantly lower than what I would have had to do to make the others work the way I really wanted to. So yeah, if you, for example, happened to podcast or know someone that does, and you’re looking for some way to include transcriptions easily to your website, I highly recommend checking out Descript.

They’re not paying me to say that, but Hey, if anybody from Descript is listening and want to talk to me about a sponsorship, hit me up!

So now that I have wrapped up the website and it’s just going to continue to operate as the home of these podcast episodes, I’m going to move on to a new project and it’s going to require me to learn a new technology. So I’m moving into mobile app development and I am learning a framework called Flutter.

Without going into it too deep right now, Flutter is a framework that was created by Google. It is open source and it is multi-platform, which is to say, you can build an app one time using one code base and everything is written in a language called Dart. Which is kind of a cross between, it’s a cross between like, all of the starter languages.

It’s like a little bit of JavaScript and it kind of reminds me of Python a little bit, but then it’s got a basis in C, but it’s very easy to pick up quickly. If you have any experience at all, if you know how to read the syntax on JavaScript, picking up Dart is, is nothing truly And I love the fact that you know, you build your codebase in Flutter, and then you have an Android app, you have an iOS app. They’ve recently, however, created this update to Flutter, which also allows you to transfer that to a web app without changing anything in your code. Like it’s really awesome and amazing. So I am going through the process of not only learning a new technology but building a new project at the same time.

So the updates coming forward in the next few episodes, we’ll be talking about that. And specifically, I’m going to be building a drinking app.

Now, before we get too far into this, let me explain exactly what I mean. I don’t mean like a drinking game app or an app that encourages you to drink, but you know, like an app where I’m sitting at my house and I’m like, you know what? I really want a cocktail, I’ve got tequila and Apple juice. Can I do anything with this? Type those into an app and go. There are other apps like this that already exist, but this was an idea that I had, I thought it would be really fun to kind of put my own spin on it. And I found a really great API that I’m using that I get to actually support on Patreon.

They’ve got a few other APIs. They have a food API and a sports API. I’ll include a link to them in the show notes if you want to check them out. But yeah, so I’ll be building an app. Stay tuned for that.

So with that, I wanted to talk today about frustration. It’s a little near and dear to my heart right now because I’m trying to learn this new technology and, while they do say after you learn the basics of any kind of programming language picking up your next one is easier. And that is true.

You know, I don’t have to learn again from scratch what a for loop is. I don’t have to further understand what data types are, but just because it’s easier, it doesn’t mean that it’s easy. Coding is still not something that I would necessarily say is simple. So picking up a new technology. I kind of bought into that, you know, Oh, it’s going to be easier.

It’s going to be easier kind of mentality thinking to myself. Oh, sure. This’ll be a breeze. No, there are, there are things to learn. There are challenges, and it’s really easy to get frustrated when you’ve got an idea in your head. You really want to go for it. And as you start to work on it, you run into a roadblock.

That’s just the way learning is. You’re always going to run into a roadblock. And for me, learning something new after working in one particular area I’m working exclusively in web development for the past several years, you know, learning native mobile development is a different beast. It’s the same basics, but you know, it looks different.

So I kind of want to talk about that. The three things that I try to focus on when I get frustrated, particularly when I’m learning to code. The biggest thing, this is like, step number one, no matter what is walk away. I am notorious for beating my head up against the wall until I get something figured out.

If I’m super close on something, I will just work myself until my shoulders have turned into concrete. And it is never, ever, ever, ever worth it. Why? Because your brain has a finite amount of space for whatever it is that you’re trying to learn. And as you’re stuffing it with new information and trying to apply it, it’s just trying to get caught up in its cataloging.

And if you’ve been staring at something for hours, eventually, you’re just going to go blind to what it is that you’re looking at. And you have to step away, you have to walk away and let your brain focus on something else. You have to let it breathe. You have to let your subconscious kind of come in and try to absorb what it is that you’ve been trying to bang your head against the wall and learn every time I do this , and I finally walk away, not because I remember to, but out of just sheer frustration, the next day I tackled that same problem and it’s done in five minutes. Without fail. Think about some of the great ideas you have when you’re just not doing anything, you know, like you’re in the shower and you start coming up with ideas, it’s allowing your brain, the opportunity to process and to be, and it feels counterintuitive when you’re super close on something.

You’re like, if I just power through, I can get it, but I promise you the power through is almost never worth it. If you’re not under a specific deadline, if you know, you’re not going to get fired if you don’t get something done, you need to take a moment and step away. It doesn’t always have to be 24 hours. It could be 10 minutes but get out of it. Get out of it, get a fresh perspective, shake it off, come back to it. I promise you, even if you don’t figure it out, right when you sit down, it’ll be so much easier than where it was when you started.

All right. Big thing number two. Give yourself permission to break things. So here’s the deal when we’re in school, you know, we’re an elementary school, middle school, high school, we are taught to study and learn and memorize, and then repeat back what it is that we have supposedly learned. And nobody wants to get the answer wrong, right?

Like you hate the idea of getting that paper back with a ton of red marks from your teacher. You cringe if you get a D on your quiz and you just kind of, you beat yourself up whenever it feels like you’re failing. So it’s no surprise that when we start to learn how to code and we don’t get things and we start to, you know, fail at whatever it is, we’re supposed to be understanding that we allow ourselves to get frustrated.

The thing is coding is completely different than what we learned in school. In fact, the more that you kind of screw things up, the faster you learn. Why? You got to figure it out, you got to work your way out of it. You have to investigate, you have to research. You have to get a better understanding of what it is that you’re doing so that you can go back and fix it.

And you can’t do that if you don’t break it in the first place. It’s just completely impossible to understand everything the first time out. It’s just not, and it’s too high of a burden that we place on ourselves to not allow ourselves to screw up. And then we end up doing, which is even worse is we are convinced that we just haven’t gotten the right course, right? We just haven’t hit the right workshop. We maybe need to look for a new book. We needed someone who could explain it in a slightly different way.

Now don’t get me wrong. There are some times where something’s just not clicking and it has to do with how the material is being presented. So there is a little bit of exploration that you do have to do, but if you find yourself searching and you’ve gone through three, four, five different courses with nothing to show for it, take a step back and look at your process. Are you really not getting it? Or are you afraid to try because you don’t think you’ve got it right?

Chances are it’s going to be that second one. If you’ve gone through so many courses and you’re still like “this isn’t working”, look at how you’re actually applying things. Look at how you’re doing that. Are you waiting until you have it figured out all the way before you try the code? Or are you diving in with what you think the understanding is?

And half the time you, right. And half the time you’re wrong. If you can allow yourself the forgiveness of just going in there and just breaking things and getting it over with you will find, first of all, it is freeing, it is so freeing to not worry about getting the right answer right off the bat.

If you focus just on trying to figure out what it is that makes it tick, then getting it wrong… honestly, sometimes you could rejoice if you see that error message and instead of wanting to throw something, it makes sense. And then you go, Oh Nope, I know how to fix that. And then you do it. And then you get a greater sense of satisfaction from that.

But you can’t get there until you allow yourself to break things. Sometimes do it on purpose. Honestly, it’s kind of like jumping into the deep end of the pool. You know, you want to go swimming, but that first shock is just going to feel so horrible. And you know, some of us try to wade into the kiddy side and, you know, and slowly work our way in, but when does it always the best and the fastest, well, you just jump right in, you jump right in and you get over that initial shock and then you’re there. You’re immersed in the water, you’re swimming and you’re having a good time.

Same thing for learning how to code. Get in there and deliberately break something, like do something that you know is going to fail, just so that you can get it out of your system because once you do that and then you see it, and when you turn around and fix it, you gain a little bit of confidence because the world hasn’t ended. Your computer hasn’t self-combusted, and you are still a whole person.

So nothing horrible happens if you break things when you’re learning to code, in fact, the dead opposite happens. So give yourself permission to break things to cut down on your frustration.

All right. Last thing and this is big - be patient. So I know I could just feel the eye-rolls coming in. I get it. I totally get it. It’s a little cliche. Everybody says it. What do you mean be patient? Well, This kind of goes hand in hand with allowing yourself to break things. If you focus too much on how long something’s taking or how you don’t feel like you’re getting it fast enough.

These are the terms that you need to ask yourself if that’s how your self-talk is. If you’re talking about the amount of time it’s taking or the amount of time that it’s going to take, or how slow you feel at it, you’re focused on the wrong thing. I promise you because the reality of time is it’s going to continue to march on.

Right? I mean, we can’t stop time. So whatever you’re working on is going to take as long as it’s going to take, wouldn’t it be better to just stay on that train and keep working it instead of focusing on how much longer it’s going to take and how frustrating that part of it is? I mean, think about it, you know, if you worry that a course is going to take a year to finish, and then you just fret on that. After that year has passed, you get to look back and go, man, if I had been working on that course every day, I’d be done by now.

I got the biggest shock of my, you know, my coding education when I was in one of, kind of my cycles of trying to find the quote-unquote best course and convinced that, you know, I just wasn’t learning the right way.

And I went back to Treehouse. For those unfamiliar, you know, Treehouse is an online coding school. They have video tutorials and lessons and quizzes.

But anyway I went back to it to try and give it another shot. And when I logged in, I saw that I had been a member of the site since 2014. And I was just in shock. I think this was maybe like 2018 and I’m like, Oh my God, I’ve been doing this for this long. And I have nothing to show for it.

And it was, I was so busy focused on how long things are going to take, you know, I’d see the total number of hours of a course and be 52 hours and go, God, that’s going to take too long. So instead of diving in and trying to learn things, I just kept jumping from course to course, to course, to course, to course because it was just going to take too long and I was just, I needed to get to my goals faster.

And ironically, what I didn’t realize is I was just wasting all of that time that I was worried about. All that time that I was worried about not being able to show for my work all that time that I was worried about how long something was going to take, I was wasting time trying to find a quicker solution when in reality, if I had just buckled down and just done the work and actually gotten into it right.

I would have achieved what I was looking for. And again, that time is going to pass. So wouldn’t you rather be five years closer to your goal than looking back five years ago and going, huh? I could have gotten that started.