Disclosure: As with all of my posts this is going to be highly opinionated and will probably bother some folks. The premises and arguments I ultimately present are solely based on my experience. I also want to make clear that I am open to being wrong and if you find fault in my logic or conclusions (maybe there are studies I’m not privy to) I hope that you bring it up either in public or privately, whatever you feel comfortable with.
There has been a quiet trend on the rise among tech companies, that is openly sharing salary information internally and/or openly to the public.
On such example is StackOverflow which posts its salary calculator online here. (Disclaimer: I enjoy SO as much as any other techie and this is by no means a critique of them as a whole)
Where it’s good
At face value, much like searching for Rockstars, this doesn’t seem like a bad idea. As a manager, you really don’t have to go through the salary dance in the recruiting and hiring process, you avoid the potential of having mismatched salaries among protected-classes (ie gender pay gap), and you (the business) gets the added bonus of being able to more easily forecast the cost of new projects allowing you to specifically calculate the OpEx of human capital for whatever initiative you may have in mind.
Then there is the potential for it to lighten up or totally eliminate various types of political tension between individuals. If John, Max, and Jane all have the same experience and skill-level (and geographical location) then they will all know that they make the same gross salary as one another.
I’ve seen it really irk folks to not know how they stand relative to others in similar roles and this sort of system would certainly mitigate that factor in part or in whole.
Where it’s ugly
One of my longest held professional philosophies has been that you as an individual are the smallest “business” in the world. You provide value through different verticals (in the business sense). For example, you might be really good at making Nodejs applications (one vertical), but you might also be really good at technical presales (second vertical), due to your heightened social skills (third vertical) as a result of bartending for 3 years (fourth vertical) during college (fifth vertical). This is a trivialized profile of an individual who provides value via the following attributes (at least):
Social Skills (ie knows how to carry and lead a conversation in a professional setting without sounding robotic or dull)
Using this (trivialized) list of verticals, the individual (or tiny business) has, they can opt to market any or all of those competencies in the pursuit of gaining additional business. “Business” is this context could mean their freelance work, a salaried/hourly job, or starting and profiting from their own projects (ie entrepreneurship).
When you create open salary systems you effectively limit an individual’s vertical to those which can be objectively measured.
They are now only measured by their material attributes as opposed to the whole (which includes the immaterial). This necessarily has to be the case as moving beyond the measurable becomes increasingly harder to keep purely objective, which would subsequently defeat some of the benefits of open salaries to begin with.
What if we measured tech the same way?
For example, AWS and Azure offer on-demand compute. Does that mean we should expect to pay them the same for similar services? Or should their ability to launch VMs exclusively dictate your overall public cloud adoption strategy (and associated budget)?
In the same way that both of those providers are much more than just on-demand compute, individuals are more than just their tech skills and quantitative “professional” experience.
Individuals have personalities.They’re motivated by different things, they’re made angry by different things. They focus differently in different settings. The list goes on and on. These are all things that have professional impact that can be largely skipped in open salary systems.
Years are not that important
I strongly believe that after the first 1–3 years of a technical person’s career, the quantity of experience becomes increasingly irrelevant. Once someone has gotten their foot into the industry, what they do once they’re in makes all the difference.
I’ve worked with engineers who have less than 50% of the experience of other more seasoned folks who I strongly believe deserve to be making as much if not more than the people with more years under their belt. The reason? While they have less years they have more qualitative experience. For example imagine someone who is new-ish to the industry but hits the ground running: goes to meetups at least 2x a month, actively engages with relevant conferences, contributes to open source when possible, etc.
Now imagine a person who has been around for 10 years but who really just clocks in and out and does what is required of them and nothing more. I would be willing to gamble that the “new-ish” person will become far more valuable in a very short amount of time than the seasoned dev.
Bottom line: how do you take that into account with open, material-only salary mechanisms? Maybe there is an answer, but I haven’t seen it yet (I’m not being facetious here, please show me the light if there is one).
Negotiation is at the heart of business
Enterprise software sales are rarely static. Meaning, what company X might pay for a license can differ quite a bit from what company Y may end up paying. It’s all about negotiation, and individuals are no different.
My business hat says that I should hire resources at the lowest possible cost while still keeping the standards I have in place. This includes logic like making a couple of expensive hires knowing that they might be able to support lower cost resources later. It’s strategy.
My individualist hat says that I should attempt to get paid as much as possible for the value I know I provide without compromising my own values (for example, I hear banks pay well above industry norms, but I probably wont ever work for one because of personal values). Overall, this means I interview at multiple places, being sure to properly market all of my verticals (my value-propositions) to hiring managers, and then based on my market-research, demand a salary that is commensurate with what the end business (future employer) will ultimately receive from me. Again, it’s strategy.
Open salaries makes the aforementioned near impossible.
Professionally, people are not equal and salaries should reflect that.
Personally, I see it like this, for a given role I am probably never exactly the same as another candidate pursuing the same role in terms of experience, background, skills, etc.
Given that it’s unlikely, then that leads to my argument. For a given role, I am almost always either better or worse than another candidate pursuing the same role. This might be because I am less skilled at particular stack or maybe my personality isn’t a culture fit; it’s a matter of both objective and subjective factors to determine overall potential value. It might even be that we’re equally qualified for the role but the other person brings another type of experience that will serve to compliment the specific job req in a way that is better than what I could do. Example, suppose we both apply for a presales role but the other person is fluent in French while the company happens to have some French prospects. It is very possible for multi-lingual skills to not be listed in the job req at all but that doesn’t detract from the fact that this person probably more valuable. Again in an open salary system it becomes a non-factor until it’s (language) explicitly added to the calculator as a factoring element.
This isn’t limited to just hiring. Once you are on a team, I make a similar conclusion. The overall value that you provide to your team and company is almost always more or less than the overall value another team member (in the same role) provides. The same (French) analogy as above applies here too.
If you’re a manager, why should you pay the same to two individuals who provide differing levels of overall value?
If you’re an great engineer, why should you be paid the same as someone who has the same objective qualifications as you but provides less overall value?
If you’re a mediocre engineer, why you should be making the same as someone who clearly goes above and beyond more than you do?
Some differences warrant a salary difference in the hundreds, while others certainly call for differences in the thousands. Again, it should come down to how much value you can market combined with how much value you can actually deliver on.
The hiring manager at your next job will have the upper hand
Suppose you apply to join my team at some point in the future, and you happen to come from an organization that publicly posts salary information. I’ll probably realize this in my vetting process and I’ll likely be able to determine what you were getting paid (even if you don’t tell me) and make my initial offer based off that amount (sidebar: I think one of the worst things you can do when looking for a job is to disclose how much you’ve made in prior roles).
To put it frankly, if you work at a company like StackOverflow, awesome! I’m truly happy for you, as I know their team is top-notch and that you’re in good hands. But, if you’re like most folks in tech, you probably don’t plan to stay there until you retire. If, and when you move on, you will be at a disadvantage when it comes to salary negotiations as compared to those coming from employers with ‘traditional’ salary models.
This to me is one of the bigger weaknesses.
Wrapping it up
I didn’t write this just to crap on the intent of open salaries. I like the idea and I like what I perceive to be the intent. However, as with many other noble causes, I don’t like it’s implications nor its 2nd and 3rd order consequences for the individual.
The way I currently see it, open salaries do more to benefit the company than they do to benefit the individual.