How To Not Learn How to Code
What I learned and what I am trying now
There are a lot of How-To articles on the internet, not too many How To Not.
I had tried to teach myself numerous times how to code, to just end up giving up before I ever got good enough to put it on a resume.
“I haven’t failed I just found 10,000 ways that won’t work,” Thomas Edison
With the rising amount of layoffs, 30 million as of May 5, learning to code might be moving from a flippant joke to a necessity.
Someday I hope to write a How To Teach Yourself to Code, but in the meantime, I can share with you the things I have tried and help you avoid making my same mistakes.
Don’t go into your coding journey expecting it to be quick. That’s what I did my first time. I thought I could go from zero to applying to jobs in 30 days.
Patience and Consistency
Going in with those kinds of expectations really set me back. After working at it for a month, I barely saw any progress, and I began to doubt if I could even do it. I began to think this is just a waste of time. That I was just not smart enough to code.
I wasn’t even putting in enough effort for the type of results I was aiming for. I would code a lot on the weekends, but then during the week, I wouldn’t touch it. I was banking on a miracle.
This time around, I have set more realistic expectations, and I am committed to being more consistent. I have put a 2-year time horizon, and I am committing to coding every day for at least 15 minutes.
I am also tracking all the time I put into coding to see if the 10,000 hours to mastery is correct.
Syntax Expert vs Programmer
In my first go-around, I thought all it took to be a “coder” was knowing the syntax. I thought all it took was knowing my way around if statements and for loops.
I didn’t want to make that same mistake again. So I looked up:
“What do most self-taught programmers fail to learn?”
The answers I read on Quora was self-taught programmers don’t learn to think like Computer Scientists. I was like, what does that even mean. So I searched:
“How to think like a Computer Scientist?”
Then I stumbled on this free book called Think Python. It is a book aimed at helping beginners to learn Python, but also to begin thinking like a programmer. Best part. The book is free. I have started reading through it. So far, so good.
Apply Your Learning
I am a self-proclaimed tutorial king. I love doing tutorials they are great. After 10 minutes you have something to show for your time. They are addicting.
The biggest problem with tutorials, though, is they do not really force you to learn. They don’t force you to recall any information you have learned or become comfortable finding the answers.
Some people recommend creating a project, which I agree is good advice. But sometimes, when you are just starting out, that is a little intimidating. What I have started doing instead is using HackerRank.
Hacker Rank is a website that has coding challenges that force you to really apply your learning and get a comfortable understanding of how to find answers. Another great part is the challenges they give are questions that actually get used in technical interviews.
Get a Community
Going the self-taught journey alone is tough. Depending on your circumstances, self-teaching code might mean cutting off a lot of social interaction. If you work 40+ hours during the week, code for a couple of hours a week, and take care of yourself, there is not too much more time to go around.
To combat this self-isolation, I have created small communities around this self-teaching adventure. I have been setting up weekly phone calls for accountability and camaraderie.
I am also hoping this gives me some resources when I need some help getting over particularly tricky problems. Or better yet allow me to help teach someone else and benefit from the Protege Effect. Reinforcing your own learning by teaching others.
I really hope this information was helpful. If you are someone who is about to jump into learning code, I hope reading this helped you avoid my initial mistakes!
Patience & Consistency - don’t set your expectations too high and be consistent
x - Learn how to solve problems like a computer scientist
Application > Tutorial - challenge yourself don’t just follow tutorials
Create a Community - don’t do this alone find some friends to do it with you
I would love to hear how people do with trying out some of these methods. If you are someone struggling to find/build a community to go on this journey with you, feel free to email me (firstname.lastname@example.org), and I can try to connect you with people at the same stage!