My personal definition of a professional developer is a developer who is able to build and maintain a commercial piece of software. In other words, if said developer made or edited software, and that software is generating money for someone somewhere even indirectly, then the developer who made it is professional.
I think the fact there are good professionals and bad professionals allude to the fact that the word professional does not beget high skill or competency. However, it's colloquial meaning does mean that, so I think we should come up with a new way of saying someone who is both paid and competent. Proficient, might be better for this, but I am open to suggestions.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.