Good programmers
read a lot.
They constantly keep abreast of new technology that might
make their jobs and lives easier and more productive and
they never stick their head in the sand or allow themselves
to stagnate.
Knowing how to get the most out of books is crucial. Good
programmers don't re-invent the wheel. Bad programmers
re-invent the wheel at the drop of a hat and do it badly
because they fail to learn from others' past mistakes.
Here are a few good books to get you started:
There's enough reading there to keep even an unusually bright geek thinking for a WHILE. If you're not thinking
while you're reading you're not doing it right. Read actively making sure you're understanding the words going by and not just breezing over them.
Good programmers are facile with a number of different languages. if you're a hard core Perl nut why not try a more truly object oriented language like Ruby or dare I say it Java? If you've been doing scripting for a while why not do a project in c++?
Good programmers are always stretching the boundaries of their skills.
Good programmers do it because they enjoy it, not because it represents greener pastures.