My best pieces of advice (that I wish I listened to) are...
- Don't be afraid... to try, to fail, to learn, to not know
everything. Dig in, read a lot, ask questions. Look at other
peoples source code. Set reasonable goals. Don't start too big. Do
small tasks, but do them to the best of your ability. Go back to
those tasks as you learn better methods and revise them.
- Take the time to understand the core of the language. It's too
easy to get caught up in all the available add-ons. While there is
a time for that, it can wind up distracting you from what you
really need to learn.
- Organize yourself,, your code,, media assets etc... Can't tell
you how many years I have wasted constantly starting from scratch
because I have failed to keep things organized. Also keep a
filesystem of code snippets, articles, source code, web-links of
things that interest you. You may not have time to read them right
away,, and you may forget where they were when you need them.
- Work through the examples and some of the video tutorials
mentioned. It's a good way to get in... especially when you aren't
sure what it is exactly you should be learning. Don't attempt to
code that blockbuster game you've been thinking of right out of
the gate. It's too eady to get discouraged,, coding takes time.
- Don't avoid tackling concepts that you find difficult. You don't
have to learn them in a day,, but don't put them off indefinitely.
- Manage your time in a way that works for you; allowing time to
actually write code. It's too easy to get caught up in creating
images, textures, 3d models, rigging, music and a bazillion other
things. While you'll need to do many of these things, don't get
lost in them and forget to work on coding and learning the
language.
- Spend time on the forums, but don't let it be a time-sink.
It's quite easy to get distracted participating more in the
community, then actually getting something done.
- Keep a record/journal of your progress (written or digital).
Check topics off that you feel you have mastered. When things get
tough it can help to have a record of all you have accomplished.
It can sometimes be the 1 factor that motivates you to conquer the
current hurdle. Reevaluate your goals at least monthly and make
any necessary changes to make sure they are reasonable
expectations and that you are progressing. As you progress you
will certainly discover new topics you wish to learn.
If you still have your sanity... remember to have fun.