I didn’t mean to conflate the two, but to offer engineers vs. their managers as another example of distinct subordinate and superior classes where it makes sense to have two hierarchies.
Indeed, I’ve heard people make the argument that only having a single hierarchy is a common problem in the field of software engineering, since it forces programmers who want to be promoted to do a job they’re not necessarily well-suited for, and which they might not like. Having separate “programming” and “management” promotion tracks was considered a clearly superior alternative.
Surely there are not two alternatives being compared here but three. (1) A single hierarchy with programmers at the bottom and managers at the top and fairly straightforward progression all the way up. (2) Two hierarchies, one for programmers, one for managers, with the managerial one viewed as above the programmers’ one. (3) Two hierarchies, one for programmers, one for managers, truly parallel, with comparable levels of status and pay available on both.
There is an obvious reason for programmers (and others) to prefer #3 to #1 because it allows people to carry on doing what they’re good at and enjoy, but #2 (which is what one typically gets in practice, and I would strongly suspect it even when there are notionally parallel hierarchies) is not such a clear improvement.
Two hierarchies, one for programmers, one for managers, with the managerial one viewed as above the programmers’ one.
What does “above” mean? Managers necessarily tell the programmers what to do a lot of the time; that’s just part of managing people. For humans, this seems to be inescapably tied to higher social status.
Is there a separate sense of “above” you refer to? Higher paychecks for managers are common. But then I might as well ask the more general question of why different job-tracks have different paychecks at similar levels of experience, seniority, and skill percentile. There are various reasons; one is that the top-level executives deciding on paycheck policy are usually promoted from the top ranks of the management track, rather than a technical one.
Managers necessarily tell the programmers what to do a lot of the time
In principle, that two-hierarchy system, #3 above could allow for true parallelism: The most senior people on the technical ladder would have a boss, like anyone else, but this boss would be someone who is way up the management ladder. Also, in this hypothetical system, the top non-manager technical people would have similar compensation to top managers.
In practice, the most senior people on the ladder simply merge into the management ladder, so that at that point there is no non-management technical ladder.
Some companies have option #2, a technical ladder for non-managers, where the managerial ladder is strictly superior in terms of informal social status and compensation. A few very advanced companies may offer #3 or something like it.
To the extent they do, we see another case of two ladders, but this time with a very obvious reason, much less a mystery than the officer/enlisted or exec/manager distinction.
Indeed, I’ve heard people make the argument that only having a single hierarchy is a common problem in the field of software engineering, since it forces programmers who want to be promoted to do a job they’re not necessarily well-suited for, and which they might not like. Having separate “programming” and “management” promotion tracks was considered a clearly superior alternative.
Surely there are not two alternatives being compared here but three. (1) A single hierarchy with programmers at the bottom and managers at the top and fairly straightforward progression all the way up. (2) Two hierarchies, one for programmers, one for managers, with the managerial one viewed as above the programmers’ one. (3) Two hierarchies, one for programmers, one for managers, truly parallel, with comparable levels of status and pay available on both.
There is an obvious reason for programmers (and others) to prefer #3 to #1 because it allows people to carry on doing what they’re good at and enjoy, but #2 (which is what one typically gets in practice, and I would strongly suspect it even when there are notionally parallel hierarchies) is not such a clear improvement.
What does “above” mean? Managers necessarily tell the programmers what to do a lot of the time; that’s just part of managing people. For humans, this seems to be inescapably tied to higher social status.
Is there a separate sense of “above” you refer to? Higher paychecks for managers are common. But then I might as well ask the more general question of why different job-tracks have different paychecks at similar levels of experience, seniority, and skill percentile. There are various reasons; one is that the top-level executives deciding on paycheck policy are usually promoted from the top ranks of the management track, rather than a technical one.
In principle, that two-hierarchy system, #3 above could allow for true parallelism: The most senior people on the technical ladder would have a boss, like anyone else, but this boss would be someone who is way up the management ladder. Also, in this hypothetical system, the top non-manager technical people would have similar compensation to top managers.
In practice, the most senior people on the ladder simply merge into the management ladder, so that at that point there is no non-management technical ladder.
So, #2 above is far more common.
Some companies have option #2, a technical ladder for non-managers, where the managerial ladder is strictly superior in terms of informal social status and compensation. A few very advanced companies may offer #3 or something like it.
To the extent they do, we see another case of two ladders, but this time with a very obvious reason, much less a mystery than the officer/enlisted or exec/manager distinction.