I have been desperately trying to master a myriad of different things, such as writing, programming, sports, or even playing a computer game like Starcraft II, and while doing this, I realized that learning anything can be broken down into four simple steps. Follow these steps, and be amazed at your progress!
The Learning Process:
Step 1) Attempt something new in a given field
Step 2) Identify problems
Step 3) Work on each problem, one at a time, until they are fixed
Step 4) Rinse and Repeat
Is this a joke?
No! Never! Now this may seem a bit obvious to most people, but I think that it is in fact too obvious! People become so obsessed with perfecting a plan, that they stop trying to perfect the skill that the plan was made for.
Don't take this the wrong way, and think to yourself that the best technique to learning anything is to mindlessly do it over an over, because then you'll just get stuck in a rut at some point and stop improving, even though you are still putting in a ton of effort.
Don't get stuck in a rut.
You've simplified it too much!
Have I? Really? Well, then let me give you an example or two.
Example 1: You are trying to teach yourself how to program a game, and you keep running into a wall. You are so frustrated, you aren't getting any results, and you are stuck in the metaphorical rut. No problem! Just follow the four simple steps.
Step 1) You try to implement some form of collision detection in your game. Pretty basic in theory, but oh no! It's way harder then you imagined. You repeatedly bash your head into the wall, then you have an idea.
Step 2) You either have your own idea or find one online. You implement it, but it's buggy, so very buggy. You sigh, you cry, you think "I'll fix it tomorrow", and then never touch it again.
DON'T DO THAT! Learning something new is hard work, but it pays off eventually. Don't worry if it doesn't work right away.
Step 3) You analyze the bugs, test, test, test, and finally it works! If it doesn't, try a different solution. Don't be afraid to go back to the drawing board.
Step 4) Your collision detection finally works! Now all you have to do is handle the collisions...
Not a programmer? Not to worry! Read on, for example 2.
Example 2: You want to learn a new language! Completely different from all that technical programming stuff. Not really!
Step 1) You hop on the PC and go to a website where you can chat with native speakers. You greet them successfully, and full of elation, you await their reply.
Step 2) It arrives, and you are filled with a cold dread. What did they say?? you think to yourself as you begin to have a nervous breakdown. Once again, you just want to sleep.
Step 3) All you have to do, is open up a translator and translate every word until you know what they are saying, simple!
Step 4) Suddenly, you realize your grammar is terrible, so you look up a few rules that you will try to implement in a future conversation.
I never said it would be easy, I never even said it would be fun, at least in the beginning, but eventually (yes! eventually), if you work hard enough, and don't stop rinsing and repeating in a meaningful way, it will become fun, because of all the crazy stuff you will be able to accomplish!
The most important thing, that everyone forgets, or is too depressed or lazy to do, is to NEVER STOP TRYING! Even if you feel like a total idiot, you will get over it.
Trust me, it's worth it.
P.S. Check out http://www.freedigitalphotos.net/images/view_photog.php?photogid=2588 for some nifty free pics. XSXGHG3D2HYD