I have found that experience is the best teacher... find something that you like and cannot stop. I know it seems silly, but writing command line utilities (okay, scripts and such that *act* like command line utilities) fascinate me. If I write something that *looks* like a utility (and can fool its user), that gives me no end of pleasure. My first major perl script I almost got fired for, because I went waaaay overboard with it... (and besides, there are a million broken link checkers that I could've used.). Bottom line, find a project, find people that have done projects similar to yours, and emulate, change, and make it work... most of all, though, have fun. If you can't stare at a screen for 8 hours and have fun, you're in the wrong business.
hope this helps!
E-Bitch
Whew! Tell me about it! I do the same thing! I've been doing that very thing for ohhh, 6 years? I work for about 9 hours and then go home and mess about for another 4 to 5 hours! I'm such a nerd! Idn't it great!?