Professionals v Amateurs
This article defines the difference between a professional developer and an amateur as:
A professional always does everything necessary to complete a job. An amateur sometimes chooses only the fun parts.
It goes on further to say that the amateur only codes what they have been told; the professional bring “their full brain, experience and creativity”. To be professional is to go the extra mile, think about the work and deliver something that delivers what is needed (which is not necessarily what has been defined).