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?