BIG BAD WOLF: I have found there are some good books out there to get you started but the big thing to really get to know it is to "practice, practice, practice" AND to search for people who have done something similar to what you want and change their code to learn from it
:)