I want to start off by saying that I hope everyone is doing well despite this current health crisis. I've been a bit anxious myself so I'm trying to distract myself by finding constructive ways to spend my time while I'm stuck in the house with my family.
Since I've been social distancing, I've done a lot of reflecting. And I realized that I have been trying to learn to code for over a year now. I even went through my journal and found my list of goals for 2019. At the top of the list were:
- Learn Python like a boss
2019 has been over for more than three months now and I'm happy to report that I have done neither of those two things. I'm not upset with myself because I still accomplished some really awesome things during 2019. But I know I could have done better.
I could be much further along in my coding journey now and I realize that there were a few things that halted my progress. In this blog post, I'll be outlining the 5 biggest mistakes I made during my first year learning to code. Hopefully, you can look at the roadblocks I confronted and try to avoid them.
To give you an idea of how many languages and technologies I worked with or attempted to learn in 2019, here is a list:
I had very little direction and I was very easily swayed. Some of these I learned because my various internships required it. Some I learned just because they seemed interesting to me. There were times when I would learn a language and give up when things got difficult and move on to something else. There’s nothing wrong with trying new things and exploring new languages. But I think it’s best for beginners to stick to one or two languages and become familiar with them before moving on.
I attempted to finish #100DaysOfCode probably 4 or 5 times. I don't think it's necessary to code EVERYDAY. I also recognize that this isn't feasible for everyone. My problem was that I'd start the challenge and after maybe 15 or 20 days, I'd stop and go weeks without coding. By the time I got back into the swing of things, I'd forgotten everything I learned. It was a horrible cycle that definitely stunted my growth. Consistency is key in learning any new skill and coding is no exception.
I hear a lot of people pushing “project based learning”. I’m not just jumping on the bandwagon when I say I think this is an awesome way to learn a coding language well. Unfortunately, I did not heed this advice. There were a few projects I attempted to start. But I often got distracted and lost interest. Sometimes, I would get overwhelmed by the thought of completely failing. But breaking things and learning from failure is why working on projects while you learn is so effective. So start with something small and build on it as you go.
I mentioned this several times already but I would often just completely lose interest or get distracted. Sometimes life got in the way. Sometimes I just spent WAY too much time watching Parks and Recreation on Netflix. My most common hurdle was giving up when things got hard or when I was having trouble understanding something. I always forgot my WHY. It’s so important to know why you actually want to code. Having a reason will help you to push through the hard times. So find your source of motivation. Write it down! Put it on sticky notes around your house. Make it your home screen on your phone. Do whatever you can to remember why you’re learning to code.
When I first decided to learn how to code, I starting hoarding tons of resources. Anything that so much as included the word “code”, I bookmarked. I lost myself in blog posts that listen hundreds of resources and courses that teach online students how to code. I felt like I needed to try EVERY SINGLE ONE. So I would bounce between 5-10 different things at a time. I was basically going nowhere fast. With this in mind, I think it’s best to stick to just a few resources at a time. Trying to work through a bunch of courses at once might be too overwhelming. Split your time between a couple of resources and personal projects that appeal to you.
I’m a huge believer in reflecting on the past and seeing where I can do better. This post is a look back on my coding journey over the past year. I know this list is full of don’ts. But I hope my past mistakes can be a guide on what hurdles you should be looking out for. In my next post, I’ll highlight some of the changes I’m making this year to yield higher success in my long journey to coding mastery. So stay tuned! And feel free to share some feedback in the comments below. Thanks for reading!