Skip to content

How do you define professional developer

Ben on September 13, 2018

markdown guide

Somebody who makes significant portion of their income from programming.


From my point of view, if you get paid you are a professional.


Money is not the proof of professionalism.


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:

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


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

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

code of conduct - report abuse