Expounding here so I don’t derail the True Sell thread any more.
Oh it is. I admit it
Pretty much spot on. I take “Programmer” even more basic. The programmer looks at a problem that needs solving or even just improving upon a previous solution.
A big chunk of solving a problem is just defining it as properly and fully as possible.
The Programmer defines the problem, or takes the problem definition from a client/customer/boss, etc and makes the sure the problem as defined is accurate.
Then the Programmer converts the definition into what the desired solution would be like¹ into an algorithm that should achieve the solution.
In a technical sense, you can be a Programmer without knowing any actual programming languages²
Because the output of this process would be something like Pseudocode, flow charts explaining how the algorithm works, or whatever other format a “coder” can understand and translate into any given language.
The “coder” takes that algorithm and will then translate it into actual a workable computer program.
I know it seems like a silly distinction, but it’s one that bugs me now because everybody calls it “coding.” I consider myself a programmer more than a “coder”.
I’ve been programming in one form or the other since I was 5 years old (early 1980s).
Anyway, fin.
¹Lesley Robertson has an excellent book about how to convert a plain-English problem definition into usable solution descriptions that can be understood in algorithmic terms.
²Of course, most people I know (including me) wear both the programming and coding hats.