http://www.perlmonks.org?node_id=469861


in reply to perl programming for a living

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.
  1. 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.
  2. 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)
  3. 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'
  4. 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
  5. 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
  6. join your local Perl Mongers, if thats practical
  7. 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.

HTH

update: fixed isbn link

...it is better to be approximately right than precisely wrong. - Warren Buffet

Replies are listed 'Best First'.
Re^2: perl programming for a living
by DrHyde (Prior) on Jun 27, 2005 at 09:56 UTC
    A few replies to your points, most of which are sound ...
    1. It takes a considerable chunk of time to become a good programmer. It takes a lot less time to become a competent employable programmer. I'd suggest that syntax is not particularly important. Testing, analysis, decomposition and abstraction should come easily to the OP, given that he is a sysadmin.
    2. I got in to perl programming by bugfixing and tweaking stuff from Matt's Script Archive. Fiddling with hideous code is IMO quite a good idea, as it teaches diagnosis skills that you are less likely to exercise when dealing with good code, or even with your own code.
    1. Your book recommendations look to be the sorts of things that might be suitable for a CS course or for a more advanced programmer looking to get some theoretical grounding for his practical knowledge, but not for someone just starting out. I recommend Dave Cross's excellent Data Munging With Perl which despite its name is really not about perl at all, it just uses perl for the examples.