A developer which understands at least one language in very depth, knows how design partterns and agile development works and documents his work properly.
Also he / she knows how to write very clean and readable software so others can understand it easy.
Additonally a professional wouldn`t ship a software-product without tests.
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.
To become a professional developer is to develop skills, knowledge and insight that change your viewpoint from "my job is to write code" to "my job is to solve business problems in the simplest, most straightforward way possible".
For further actions, you may consider blocking this person and/or reporting abuse
Top comments (9)
Somebody who makes significant portion of their income from programming.
Yes. But is this all? I think it could be more. Such as professional image or ability.
The word "professional" kinda has a double meaning.
There's the standard definition:
Which basically means "it's my job".
But some people also use it to quantify skill. In that case "being a professional" means "being good at it".
Money is not the proof of professionalism.
I found this Uncle Bob's talk to be enlightening on the matter.
Using professions with defined and verified competence checks and enforcement - doctors and lawyers - as reference is helpful.
What makes one a professional there? What work ethic is expected?
A developer which understands at least one language in very depth, knows how design partterns and agile development works and documents his work properly.
Also he / she knows how to write very clean and readable software so others can understand it easy.
Additonally a professional wouldn`t ship a software-product without tests.
Code without tests is broken as designed.
— Jacob Kaplan-Moss
So a mainframe COBOL developer isn't a professional developer because they use Waterfall SDLC rather than Agile?
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.
I'll repost my earlier tweet:
To become a professional developer is to develop skills, knowledge and insight that change your viewpoint from "my job is to write code" to "my job is to solve business problems in the simplest, most straightforward way possible".