Learn To Code, Set Big Goals First
You might be wondering why you need a big goal to learn to code. Isn’t a desire to learn enough? Surely that’s an admirable aim, but the truth is that learning computer code can be a tough journey. Coding isn’t magic, but it is complex. Along your journey, you will encounter innumerable moments of frustration. You will get mired in some bug that simply won’t go away. You will bang your head against the wall as you try to understand a difficult algorithm.
You will search for hours on end for the solution to a tough problem. It’s important that you don’t let these moments keep you down, and if you don’t have a big goal in mind, then the impulse to give up can be hard to overcome. But if you do have a big goal at the end of your journey, then you’ll always have something to keep you motivated.
Learn to Code: So How Big Does Your Goal Need to Be?
So what is a “big” goal? Well, that’s up to you! In my experience, people have different motivations for wanting to learn to code. Some people want to build an app prototype. Others want to become a software engineer and/or computer programmer. Still, others are looking for a job at an innovative startup. Whatever your particular goal, it should be big for you. If it seems like an easy, short journey from where you are now to where you want to be, then your goal isn’t big enough.
Imagine the furthest extent of what you think you can accomplish, and then set your goal a little further. It’s OK if your goal isn’t to “build the next Google” (that would be a really big goal for anyone). Your goal just has to be a big enough part of your life to justify the journey ahead. If the goal isn’t meaningful to you, then it won’t serve as a useful motivation.
Plan Your Journey
Once you have a goal in mind, the next step is to plan out your journey. Remember, this is a big goal, and big goals take time to reach. It’s important that you are realistic about the time and effort that is going to be required. Your journey is going to be hard, but that’s a good thing. After all, if what you were trying to do was easy, then you would have done it already.
It’s an Incremental Process, Be Patient
Like any journey, learning to code is an incremental process. At first, you’re going to start small, but each concept you master is one more step toward your goal. Some steps will be harder than others. At times, the hurdles involved may even seem insurmountable. But do not fear–so long as you keep your goal in mind, you will make progress.
Applying These Analogies to How a Website Works
As much as looking ahead matters, it’s equally important that you take time to look back at where you started. Taken by themselves, the incremental steps you’re making may seem insignificant, but cumulatively, they add up to something bigger. One day you might solve a vexing coding challenge. The next you might unlock the secret to some difficult concept. And before you know it, you’ll be farther from the start of your journey than you are from the end.
Look Back, Introspection is Helpful
Take time to remember where you were yesterday, or a week ago, or a month ago. Remember the days when it took you hours to put together a recursive function? And how long does it take you now? Remember what an ordeal it was to set up your first REST API? How simple does it seem to you now? Sustained effort inevitably leads to results, but in order to appreciate them, you have to look back on occasion.
That’s how we measure our progress in any journey and learning to code is no different.
When people ask me about the best way to learn to code, I don’t tell them to “learn X language” or “read Y book.” I tell them to think about why they want to learn coding. I tell them that the reason for learning is more important than the learning process itself. Of course the process matters, and there are more and less effective methods for learning to code, but if you’re not committed to the process, then it can’t help you.
On long journeys, motivation makes all the difference. By setting and keeping a big goal, you will always have a reserve of motivation to draw upon, no matter how difficult the journey may seem. And that is the key to learning to code.