In Part One of our series, I told you about how I came to teach myself programming. In Part Two I detailed exactly how I did it. In this final installment of our 3-part series on teaching yourself to code, I’d like to share some lessons that I’ve learned on my programming journey. Hopefully they can help you learn just a little faster than I did!
1. Get a Plan Stan
2. You’re going to be (really) bad, that’s OK!
3. USE (good) BOOKS!!
I started by trying to learn through tutorials, but that ended up giving me a scattered understanding of concepts without a true knowledge of what I was doing.
I know it sounds counterintuitive to learn programming from a textbook, but I found out very quickly that you simply can’t beat the structured approach of a good book.
Be careful what books you choose. Programming textbooks are infamous for having structured, detailed introductions, and then dropping you off a cliff. I cant speak highly enough for the Head First Series, especially for someone who hasn’t been exposed to programming culture before.
I’ve spoken about Stack Overflow before, and inevitably within the first few days of your programming journey you’ll find it as well. It is a great resource, and the fact that you can Google a problem you’re having and find a quick solution is amazing. However, you’ll inevitably be tempted to copy+paste solutions into your code, without trying to figure out how it works. Try your best not to do this. Instead, try to dissect the code to figure out exactly what you’re doing.
5. Best practices are best, except when they’re not
Best practices in programming typically refer to the “best” way to do things. Surprising, right? Usually, you should do your best to stick to these. But don’t let them get in the way of the most important thing – writing code.
Even the best programmers tend to write “hacky” code sometimes. The important thing is to realize that this probably isn’t the best way to do things, and make a mental note that it could be done better.
All the code you write for the first few months is going to be horrible anyway, does it really matter if it is indented properly?
6. Consistency, Consistency, Consistency!
Generally, the older you are, the harder it is going to be to learn programming. You have to train your brain to think a different way than it ever has before. If you’ve been exposed to logical thinking and problem solving your life will be easier, but if your primary interest has been 18th English
7. Persistence, Persistence, Persistence!
One of the things I’ve seen people have the most trouble with is sticking to things when it gets tough. During your first few months you are going to struggle mightily. Get over it, and move on. You’ll struggle and spend 8 hours on a task that would take an experienced programmer 5 minutes. That’s fine! You will get better (as long as you stick to point #3).
8. Embrace your inner hipster – take a break and get some coffee!
9. Make new friends!
A programmer friend is invaluable to a new initiate such as yourself. Being able to text a friend with a specific question and getting an answer in 5 minutes, as opposed to combing through snarky Stack Overflow comments for 2 hours is an incredible resource to have.
10. Have a Goal
There isn’t a single programmer in the world who learned programming by sitting in front of a computer and saying, “I’m gonna PROGRAM!”
Programming is like being an athlete. An Olympic distance runner doesn’t just put on their shoes and run 15 miles every day just for the sake of running. Instead, they are running with a specific goal in mind, to compete and win a medal at the Olympics.
Athletes want to be the best at their sport. Programmers want to build amazing PROGRAMS! Once you have a basic understanding of programming, find a cool app you’d like to build and go for it. That’s always the best way to learn. I’ve always learned more about programming when I had something I wanted to build than when I sat down and said “I’m gonna learn about X.” That is the best advice I could ever give you.