DEV Community

How do you define professional developer

Ben on September 13, 2018

Collapse
 
jfrankcarr profile image
Frank Carr

Somebody who makes significant portion of their income from programming.

Collapse
 
imben1109 profile image
Ben

Yes. But is this all? I think it could be more. Such as professional image or ability.

Collapse
 
sudiukil profile image
Quentin Sonrel

The word "professional" kinda has a double meaning.

There's the standard definition:

(of a person) engaged in a specified activity as one's main paid occupation rather than as a pastime.

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".

Collapse
 
robert197 profile image
Robert • Edited

Money is not the proof of professionalism.

Collapse
 
epigene profile image
Augusts Bautra

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?

  • Education, knowledge to practice the craft with skill, autonomously.
  • Being present, responsible, helpful, impactful.
  • Keeping up with industry news
  • Knowing when and how to say NO
  • Making judgements that are best now, tomorrow, in a month, given the situation
  • ...
Collapse
 
robert197 profile image
Robert

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

Collapse
 
jfrankcarr profile image
Frank Carr

So a mainframe COBOL developer isn't a professional developer because they use Waterfall SDLC rather than Agile?

Collapse
 
jasman7799 profile image
Jarod Smith

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.

Collapse
 
markoa profile image
Marko Anastasov

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".