Starting to learn to code? Re-program your mind first.
Beginning anything new in your life can be daunting — even frightening at first. The unfamiliar is just that — unfamiliar. Pushing yourself to become great at something requires a lot of hard work, and discipline, along with the occasional tear — it’s growing pains all over again.
Luckily for you, you already made the best decision of your life — to start the exciting and fulfilling journey of programming.
“If you want to live a life you’ve never lived, you have to do things you’ve never done before.” — Jen Sincero
Pat yourself on the back, no seriously, pat yourself on the back right now, or give yourself a hug! Because you made the decision to start something many have been afraid to do their entire lives, and that really is a huge part of the battle.
I will share my initial experiences with you to hopefully shed some light as to what you can come to expect. Although you must note that everyone’s journeys will be different in some ways.
When I started my coding journey, I was extremely honest with myself — maybe too honest. I knew I was no savant(news flash: you don’t have to be a genius to code.. or great at math!), but I also knew I could do anything if I really wanted it bad enough.
And those were all good things to think. The issue was the “other” person inside me saying false things like: “You can’t do this”… “You’re not smart enough”… “Give up now, and stop wasting money on a useless venture”.
If you are having those thoughts, or think you might, stop them right now!
Whenever you hear yourself saying, “Can I really do this?” or “I am in way over my head with this!” you have to stop that thought process. That is your biggest enemy talking to you, the one that has held you back for so long from achieving your dreams.
“As a software developer, you are your own worst enemy. The sooner you realize that, the better off you’ll be.” — Jeff Atwood
Start speaking affirmatively into your life by saying things like: “I am an extremely intelligent and talented person, and nothing can stand in my way!”, or simply, “I am amazing programmer, and I am bad-to-the-bone”. When you say it, don’t half-ass it, say it like you mean it. Be bold and confident even if you don’t feel like it at the moment. By continually telling yourself positive and encouraging thoughts, you will eventually be lead to really believing them, which will ultimately result in a better you.
Having the right mindset and the right attitude is an absolute game-changer.
Okay, so back to coding! Ha. Now, I’ll share about some challenges, and the tips to overcome these challenges, thus far in my journey.
Don’t Be Afraid To Ask For Help.
The worst thing you can do is lie to yourself and others that you understand something that you don’t really understand. YOU are hindering yourself. No one cares if you ask a million questions — we have all been there! Embrace your vulnerability. Be as honest as possible with yourself, “Do I really know what’s going on here?”. If the answer is no to that question, then search and ask until you understand so well that you could teach the concept.
If it takes you 5 extra hours of lectures on coding theory from Youtube or opening dozens of tabs hours later just to find one simple answer — then pat yourself on the back, because you just discovered the secret to really wanting something. (lets be honest we all open hundred of tabs! :) And because you took the time to really learn all that topic, you won’t forget ever forget it.
Take Smaller Bites.
When I encountered my first coding challenge where I had no idea what to do, it seemed like I hit a brick wall with no solution to get over. I had to spend a few hours on it, watching youtube videos, going back over books I’ve read, and even using a whiteboard to map out what was in my mind.
I learned how to break down the problem into much smaller pieces. Trying to eat the whole pie at once just won’t work. That’s why when you start the process of learning to code, it’s nice to take small, bite sized steps when tackling new challenges. By dissecting your program into smaller chunks, it allows you to not be overwhelmed. And it is so easy to get overwhelmed! So pace yourself, don’t try to devour and digest everything on the first day.
There is no pressure, so don’t place any on yourself!
Seriously! Learning to code should be exciting and exhilarating. I have this almost obsession with coding. I go to bed thinking of code, and wake up thinking of coding — and it’s great! The thrill of learning something new and putting it to work is fantastic. I started working on side-projects, just little apps, and they really help! I get to implement things I learned the day before and see the fruits of my labor — instantly, such satisfaction!
“Obviously we want to succeed. But on some level, success is irrelevant, because the process is inherently satisfying.” — Jeff Atwood
Read, Read, Read
Having books too read on the side are excellent ways to keep yourself immersed in the wonderful world of programming. Here are some recommendations that I have read or are currently reading:
- Learn Ruby the Hard Way: by Zed A. Shaw
- Eloquent Ruby (Addison-Wesley Professional Ruby) 1st Edition by Russ Olsen
- Cracking the Coding Interview: 189 Programming Questions and Solutions by Gayle Laakmann McDowell
- Test Driven Development: By Example 1st Edition by Kent Beck
Check out the awesome coding bootcamp I am currently a part of here:
The Firehose Project