Learning how to program can seem like a daunting activity, but it’s really just like learning anything new – it takes time and practice. Sometimes you’ll feel like you’re not progressing fast enough and not learning anything, but I can assure you that by pushing through those thoughts and feelings, you’ll come out the other end as a programmer!
But those thoughts and feelings are sure pesky! Why are they even there? Back when we were cave people, those thoughts and feelings were instincts that kept us alive. It allowed us to avoid things the dangerous things that were out there. If we were scared, there was probably a tiger around the corner ready to eat us! However, in the modern age, those thoughts and feelings are counter productive, so we need to be able to control them and figure out how to use them to our best advantage! The danger we feel nowadays isn’t life or death, they’re just made up thoughts in our mind.
Here’s the thing, your mind is a wonderful and creative machine. If you ask it something, it’ll start working and trying to come up with a solution. Here’s an example, if you think to yourself ‘Why can’t I become a programmer?’. You know what your brain will start doing? It’ll start coming up with some possible answers whether they are true, or not! Watch:
Me: Why can’t I be a programmer?
Brain: Didn’t you fail that math class two years ago? I think programming requires some level of math skills.
Me: How could I fail at being a programmer?
Brain: Well, you could get stuck…. I mean, you don’t know anything about it! (self-doubt starting to build anxiety…)
Me: Oh man, maybe you’re right. Programming might not be the right choice for me.
Brain: Yeah. Let’s just go play video games again. All this anxiety is making me feel sick.
Don’t let the dialogue start this way. Instead of asking your brain how you can fail, start asking it for creative solutions by starting with HOW!
Me: How can I be a programmer?
Brain: Hmm.. I think I can google ‘how to learn programming”. I’m sure it’ll give me a couple of links to start looking at.
Me: That’s a great idea. Man, how would my life be better if I started programming?
Brain: Well I heard that everyone is looking for programmers, so I’ll definitely be able to find a job.
Me: How do I confirm that people are looking for programmers?
Brain: Well I can start looking on Craigslist and indeed.com to see if that’s true. Let’s go check that out…
Me: How would I get better?
Brain: I think I read on friendly wisdom, that it just takes practice and persistence!
Do you notice how different the dialogue in your brain can go if you start asking ‘How’ instead of ‘Why’? Looking at the questions below that I’ve collected from years of reading /r/learnprogramming. Even if you didn’t know the answer to the questions, you could still proceed with learning how to program. These are all tricks that your brain plays on you to keep you from feeling any kind of emotional or mental discomfort. So avoid asking it those questions that will generate self-doubt and anxiety. Instead start asking your brain the HOW questions!
Still worried? Ok, I’ll answer all the most common questions I’ve seen on /r/learnprogramming that are about learning how to program.
Do I need to know advanced math?
You definitely DO NOT need to know advanced math. At the most, you’ll just need to understand some basic algebra, but on a daily basis most of the problems that you’ll encounter are logical problems. For example, most computer programs are if this, then that problems. If I have a number, then I should print it to the screen. You’ll almost never need advanced math unless you’re working in a scientific field. Even if it did require hard math skills, the next question you ask is ‘How do I get more advanced math skills?’
It seems so hard! It’s like drinking from a firehose!
Trying to understand everything about a language early on is like drinking from a firehose – you just can’t do it. Instead take it step by step and just focus on really understanding what you’re learning right now and practice it. Eventually after you learn enough small portions of the language, steps to accomplish your goal start to reveal themselves, but you have to trust the process. If you get frustrated early and stop learning, then you’ll stop never get to the point of seeing the whole picture of how to write an actual program. Be patient!
I’m worried I’ll get stuck. What should I do after I learn [insert language here]?
Stop looking into the future! Focus on the present! Focus on the task at hand. Trust the process. There are several resources for you to turn to if you’re stuck. I’m frequently answering questions on /r/learnprogramming. You can also ask questions on sites like stackoverflow. You can also Google it! More importantly, don’t worry about something that hasn’t happened yet!!! FOCUS ON TODAY, not yesterday and not tomorrow!
Can programmers without CS degrees find jobs?
Of course! I’m living proof! I graduated with a Finance degree and am a self-taught engineer. So it’s definitely possible to not only learn programming on your own, but it’s also find a job, and have a successful career in software engineering. A lot of people think that a computer science degree will somehow give them the experience they need to get a job. This just isn’t true. Aside from just a degree you need working experience as well!
Can I get a job with what I learn?
This is a definitive YES! Not only can you get a job, but as you learn more skills and you get more experience, you get paid more! While there is a cap to this, you can definitely earn a six-figure salary in programming.
Is it ok to …..? Or should I use ….?
Yes. Yes. Yes! As you learn, don’t worry about making mistakes. Just try things out and have fun. A lot of people are worried about using one technology or another to do something. Just try it out! Early on when you’re working on your own projects, you’re not held to a tough standard. It’s just play time. Try things out. You might be right, you might be wrong. It’s just experimentation! Give yourself permission to make mistakes!
Remember, just focus on small little bits of learning and relax. Go easy on yourself. No one is judging you at this stage of the process, so don’t let your brain’s self-doubt get in the way! Use your brain to your advantage, and ask it how you can figure out the next step. Trust the process and look for help when you need it!