Over the years, people that hear about the compensation system at Manas.Tech have asked for more details or access to the software we use. It felt unresponsible to me to only share bits, without the overall context, design goals and assumptions, so it took me a while to write this. I hope this article is a valid redress for the long delay.
What’s wrong with current compensation systems
If you are already convinced that the current standard ways to determine salaries don’t work well, you can skip this part. This section is what blocked me to release this article, mostly because there’s so much to say and review. Instead of trying to be thorough, I’ll mention a few points and link into much better resources to understand the issues with traditional compensation systems.
A single person unilaterally deciding salaries for everybody, is something that can work well in a tiny group (I’d say < 5), where that person is directly involved with everybody on a daily basis and where each individual trusts that person. Beyond that, it’s almost impossible for a single person to have visibility and perspective on the work of everybody. Even worse, lots of cognitive biases play a stronger role and there are more opportunities for unfair situations.
A fixed set of salaries for pre-defined roles might work well in a highly structured business, where the tasks performed are almost a commodity. However, as soon as any creative process is involved, those pre-defined roles become an uncomfortable constraint. Any situation where somebody has a blend of roles or skills, or takes on a new, previously not-defined role, needs to be treated as an exception. And those “exceptions” are the norm in creative work.
So far I was trying to highlight bounded scenarios where each method could work, but I think that performance appraisals are a terrible idea. Always. Having fixed criteria, developed by people with biases, filled in numerically by people with biases, interpreted by a manager or HR (with biases, you get the idea…) and translated magically into a salary raise, is a very long and heavily-mediated funnel. Of course, there’s a place for performance reviews, but converting that into a salary raise is not a trivial problem.
If you are not convinced on the issues with traditional compensation systems, here are a few good places to start:
Though the current system we use has evolved during a few years (first run was in 2011), the basic principles have remained the same. The system was designed with the following goals in mind:
- We want to optimize overall happiness.
- We don’t have and don’t want a fixed metric associated to compensation: number of hours sitting in front of the computer, or lines of code written per day, or amount of dollars of revenue brought in by your project. We want to compensate for the holistic contribution each member brings. We believe that every individual is unique, and so are their contributions, so designing a fixed structure would undoubtedly miss some of those aspects.
- We want a system that reduces the subjective factors in compensation. The closer we can get to objectivity is to incorporate everyone’s subjectivities to the overall evaluation.
As an organization, there are two things we can contribute to individual happiness:
- Working environment: stewarding a nice, stress-free, fun and flexible environment, where we can grow professionally by working on exciting challenges.
- Monetary compensation: functioning as a profitable organization, sustainably and paying the best salaries we can afford so that everyone can enjoy the lifestyle they choose for themselves.
We define the “niceness” of the working environment as the sum of the individual perceptions of how nice the environment is. The working environment is, in a great part, the result of the people that participate in it.
Each person has two main types of contributions to the environment:
- Individually: being respectful, nice, fun, collaborative.
- Collectively: supporting others that are (according to his/her perception) contributing to a good environment so that they stay around.
Each person has two ways of contributing to the economic success of the organization:
- Individually: executing their role professionally, delivering to customers, learning new skills, contributing to the work and growth of others, bringing in new business.
- Collectively: supporting others that are contributing to the economic well-being of the organization so that they stay around.
People stay around in the organization when the sum of working environment + salary compensation is satisfactory.
Given enough internal visibility of the workings of the organization, and the ability to affect the environment and compensations, each member will tend to optimize the system.
The result of the sum of the individual optimizations is the best possible optimization we can achieve given the distributed nature of the collective knowledge of all the aspects mentioned above.
How it works
- Every few months (currently four), when the financials of the company indicate we have room for salary raises (that’s a subject for another article), we all convene for a few hours. Everybody in the organization. It can be done online; there’s no need for meeting live.
- The current salaries of each employee get loaded in a custom system we have developed for this purpose (we are preparing that to release it as open source soon).
- Each person logs-in to the system and sees a list with every other employee, including their current salary. The system also shows the total amount of money available for pay raises at that time.
- Next to each name, there’s a box to type a number. That’s the salary raise that the person thinks that employee deserves. Each one can use the criteria they feel appropriate: performance, effort, dedication, teamwork, seniority.
- When someone is ready, he or she clicks ‘done’ and submits his or her raises to the system. Those individual allocations are completely anonymous, in fact, that data get lost by design after this process.
- After everyone has submitted their first round of contributions, a second round begins with the same information but this time adding a second piece of information: the average salary raise received by each person in the round before.
- The same process repeats for 3 to 5 rounds (that’s decided and set up in the system before starting). In each round, there’s a new amount of money available to distribute as salary raises and the system shows the total average raise accumulated for each employee.
- At the end of the last round, the system displays the new wages for each employee to everybody.
Why it works (for us at least!)
- Information about each employee’s contribution to an organization is highly distributed. No single person in any organization with more than a few employees can claim to be aware of the full spectrum of any individual contribution.
- Evaluations are always subjective. By distributing the assessment of an employee’s contribution, you get as close to the truth as you can get.
- There are no proxy scores, parameters or metrics. Each decision-maker is contributing directly and without distorting artifacts to the final number that needs to be determined.
How to analyze business performance in real-time — Automated Financial Modeling
Designing and building an automated, real-time, easy-to-understand, formal financial model of a business.
What this system does not do
- It does not replace a feedback mechanism. It just computes the compensation result of any performance review in a straightforward and unmediated way.
- It does not provide for a tangible career path. There are no salary levels to try to “unlock” by doing specific things.
- In the same line, it does not manage promotions. If you use hierarchies in your organization, you have to find other ways to determine promotions.
- It does not resolve tensions between team members. You will still need conversations for that.
- It does not account for any salary raises perceived to be an entitlement like years in service or raises to compensate for inflation. You need to apply any desired baseline before starting.
- It does not resolve salary reductions. If people move to lower responsibility roles or start underperforming, there’s no way to affect their salaries.
- It does not make everybody happy with their salaries. We all tend to overestimate our qualities relative to others (known as Illusory superiority), so with a transparent salary list, most people will always find somebody whom they perceive as not contributing as much as them and feel discontent. The only way to address that is to raise awareness of that cognitive bias. The alternative is to hide the salaries and hope everybody will believe they earn above average.
Some assumptions for such a system to work in your organization
- Your organization is composed mainly of committed people. The collective result of decisions made by apathetic people could be pretty bad.
- Your organization is comprised of people with good intentions. We all have our petty miseries, and some gaming is to be expected with such a system, but you should be able to assume good intentions at large. If you are concerned people will plot a way to raise the salaries of the least performant members to bankrupt the company, then this is not for you.
A non-trivial corollary of those assumptions is that commited people with good intentions like to be surrounded by committed people with good intentions. They will use the system to make sure others of that kind will stay around.
In a nutshell, the only thing this system does is to compute in a short time the optimal compensation scheme between team members (assuming the initially stated goals), through a distributed, uniform and disintermediated process.
I’m sharing this in the hope others will take some of the ideas here and build their appropriate experiments for their organizations. Any feedback is welcomed.
A special thanks to Fred Kofman for reviewing the first draft of this idea on 2011.