35 ms·
Thanks for a hint! Reading [1], there the "programmer actually making decisions" was called a "metaprogrammer": "the metaprogrammer was the designer, decision
by acqq 10y ago
Thanks for a hint! Reading [1], there the "programmer actually making decisions" was called a "metaprogrammer":
"the metaprogrammer was the designer, decision maker, and communication controller in a software development group.... individual progammers were allowed to make no design decisions about the project. All they did was write the code as described by the metaprogrammer."
In that case, the differences between programmers can't be too big and surely matter little. It's the "metaprogrammers" that are important and influence the faith of the project. And those that Jobs praised were, by that definition, surely "metaprogrammers" who also did the tasks of "programmers."
- simonh 10y agoThe meta programmer model is very different though. How the programmers implement their code is not addressed. Fast? Compact? Memory efficient? Maintainable? Doesn't matter, perhaps as long as the code meets some pre-determined criteria.
- acqq 10y agoIn 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?
- unoti 10y ago> 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.