"Because only a few people will be used in engineering and most other areas, ways must be provided to reward good performance by pay not based on the number of personnel supervised."
The lack of this is the #1 problem with professional software engineering.
What passes for software engineering is usually nothing of the sort. Shoot from the hip, google/cut/paste and instinctual decision making is still very common.
IMO, service based cloud services are forcing infrastructure people to adopt an engineering thought process. Not quite as pervasive for software development.
Supervised! Yes, that's exactly the right word to use!
Instead of 'leader', 'manager', 'director', 'president' and all those pointless buzzwords. If all you are really going to do is forward emails and approve leaves.
The lack of this is the #1 problem with professional software engineering.