We are hiring at Aplopio, and one of common points of debate is deciding the compensation for a potential hire. For this, we are trying to come up with a system where we decide the "level" of a person. The level determines the range of compensation. There are a couple of axioms that we follow:
- The levels apply to existing as well as potential employees
- The compensation range for a given level depends on the specialization (for example, level 2 marketing person can have a different compensation range than a level 2 front-end engineer)
Levels can make the compensation discussion more objective. But note that we have merely deferred the discussion from compensation to competence, and unless we can objectively describe competence, we haven't achieved anything.
My personal belief is that competence is better described through the work of a person rather than the person himself/herself. This seems simplistic and trivial, but is crucial. Work can be measured better than people attributes. From a developer standpoint, modular code, maintainable code, test driven code, optimized code etc are attributes of a program (and not the programmer). I don't have the answers to do this universally (and well) yet, but I feel this is the direction to go.
Another case in point is when you consider remote workers. How can you evaluate a person you've never met? You'd rather evaluate their work, isn't it?