I know this kind of topic has been covered several times by others in the Monastery, but as I just finished helping students from my old school with a careers counselling night, I'll pass on the same advice.
in reply to perl programming for a living
- It takes a long time to be a 'good' programmer. The skill sets required are not just mastery of the language and syntax - there are a lot of concepts like algorithms and data structures, testing, analysis and decomposition, abstraction - I could go on.
- The best way to learn these is to write code and read other peoples code - preferably code written by those recognised by others as excellent coders, but reading really crappy code is illuminating too (from a 'ok, dont do that' perspective)
- Look for opportunities in your work to solve problems programmatically, rather than using your SA skills - automation, notification, that kind of thing. If opportunities at work for that are limited, read the questions posted here and try to replicate and solve peoples problems. Initially you'll just be able to say 'I can see it doesnt work', but soon that will start to change to 'I can see _why_ it doesnt work'
- Add general programming texts to your reading list - I'd recommend "Generic Programming and the STL", "Design Patterns", any non-language-specific book on algorithms and data structures (I love Introduction to Algorithms but it is not a simple text - try a college library first to see what appeals to you). If there are any experienced coders at your work, see what they recommend. I love the Dragon book too (Aho,Sethi and Ullman), but it too is not simple
- The perl books you must have to help you program perl better are the CookBook, Damian's OO Perl, MJD's Higher Order Perl, and from what I've seen, Damian's Perl Best Practice when it finally comes
- join your local Perl Mongers, if thats practical
- read some of the general programming mediatations here - brian_d_foy,merlyn,TheDamian,tmoertel,tilly,Juerd,Abilgail-II are names worth focussing on - your own list of knowledable people and trolls will grow over time.
There are many other things you can try - but perhaps a few hours fishing for links here is the best way - you never know what you'll catch - sometimes something good, sometimes bad
The most important thing though - if you find that programming is your passion, pursue it. Whatever your passion is, pursue it. Lifes too short to spend it doing things we're not really interested in.
update: fixed isbn link
...it is better to be approximately right than precisely wrong. - Warren Buffet