In the metaprogrammer model, as far as I understand, the programmers don't even decide "how the programmers implement their code," that's what the metaprogrammer decides: if what they produced is acceptable and according to his exact instructions or is to be rejected. So they don't decide: "Fast? Compact? Memory efficient? Maintainable?" they do it exactly the way the metaprogrammer said.
What I wanted to point is that as soon as we define that the programmer doesn't decide, we have a system where the "quality" of the programmer doesn't matter much as the programmers by that definition do more-or-less a mechanical task.
However that "metaprogrammer" term is probably not so common.
How are metaprogrammers called otherwise? What are their job titles?
> However that "metaprogrammer" term is probably not so common. How are metaprogrammers called otherwise? What are their job titles?
In places that use this approach the people filling that role are sometimes called Architects, Principal Engineers, and sometimes Product Managers or Technical Product Managers.
What I wanted to point is that as soon as we define that the programmer doesn't decide, we have a system where the "quality" of the programmer doesn't matter much as the programmers by that definition do more-or-less a mechanical task.
However that "metaprogrammer" term is probably not so common. How are metaprogrammers called otherwise? What are their job titles?