Another aspect to whether someone is a professional is just how much of their working time do / can they spend programming? In many small (I mean very small) companies and for freelancers, it's often not possible, you have to learn a variety of other things from web design to accounting, fix your customers' PC or explain to them how to attach a file to a mail ...
Being self taught, I could be much better in Perl by now, if I had had the time to concentrate more on it. On the other hand, that would have been less interesting in a way. So I have to learn quite slowly, but that's OK.