The top of the list is a willingness to learn. Have you
ever noticed that the people you see exercising are always
the ones who don't need it? Well the same holds for
learning. The best programmers are ones who get onto a
learning curve and never bother getting off.
in reply to What does it take to LEARN Perl?
Beyond that take a look at 70113 for some insight into
my learning technique. It seems that programming is a lot
like math. Sitting down and learning straight through does
not seem effective. My pattern goes like this. I learn a
little. Integrate a little. Review a little. Realize a
gap, something didn't fit what I thought so it is time to
go back and review something in earnest. Then continue
on. All the while doing a lot of routine stuff, but
constantly staying aware during it and ask myself if I can
integrate what I have learned into what I am doing.
This seems to work well. The key here is that you are not
aiming to learn anything in great depth, or learn a lot of
trivia. Instead you want to have a reasonably wide and
very well integrated knowledge base. When you see
something that kind of fits something that you know, you
don't want to be able to deliver a set-piece lecture if
that were only pointed out. In real life problems come
to you dirty and it is up to you to be able to recognize
the connection and take advantage of your knowledge.
All that said one suggestion that I recommend following up
on is to not learn programming in isolation. You can read
a lot of theory, but a little experience will go a long
way towards making that theory relevant, and giving you
a concrete sense of what you know and what you think you
know. If you can't take a job programming right now,
then do volunteer work. Perform a code audit on an
open source project. Do documentation. Write something.
Do volunteer work for a local charity. Find a reason to
write code that someone will find useful. Spend a good
chunk of your learning period actually writing code.
For the record I have not been programming that long
either. I started programming in November of 1997.
I started teaching myself Perl in January of 1998. Since
October of 1998 I have been a full-time Perl programmer.
(OK, I have learned to be able to program with varying
amounts of competence in several other languages in that
period.) I figure that if I keep programming for a few
more years I should become reasonably good...