14 ms·
Whenever the topic of sharing salary information comes up I always bring up the algorithm for figuring out the average salary for a group of people without anyo
by IgorPartola 6y ago
Whenever the topic of sharing salary information comes up I always bring up the algorithm for figuring out the average salary for a group of people without anyone learning anyone else’s exact salary:
Say you have 10 people sitting at a round table. Person 1 picks up a piece of paper and on it writes a sum of their salary + randInt(100_000, 10_000_000) remembering what the initial random number was. We can call this number the seed. They then pass the piece of paper to the right and person 2 reads the number, adds their salary and writes that number on a new piece of paper that they pass to person 3. Finally when person 10 hands the paper to person 1, person 1 subtracts the seed from the final number then divides that value by the number of people. That gives you the mean salary of the group.
- kasey_junk 6y agoIt’s also important to note that in the US sharing salary data is protected by federal law no matter what your employee agreement says.
- perl4ever 6y agoThat only matters if someone is dumb enough to fire you and writes down somewhere "s/he was fired for discussing salaries". I can't remember the exact phrasing but years ago my boss said at the team meeting something about not discussing salaries, and someone said later "I don't think you can say that" and he was like "oh, ok". The message was delivered though.
- ncallaway 6y agoHere's the thing, though. Wrongful termination lawsuits aren't "proof beyond a reasonable doubt". Most civil actions—including wrongful termination—need to show a "preponderance of evidence". That is, you need to convince a jury that the claim is more likely to be true than not true (e.g. 51%). So, assuming you have evidence of the chain of events: - Group shares salary openly - Employer says: "you cannot do that", someone responds: "You can't say that", employer: "oh, ok" - Group continues sharing salary - Employer shortly thereafter fires 2 members that had shared their salary citing other reasons ("You had 2 1-minute late attendance events within the last 2 weeks") If I'm on that jury, if that's all the evidence presented, that gets me to a "preponderance of evidence" that the termination was wrongful. At that point, I would need to see some evidence from the employer that the attendance events leading to the firing was not pretextual.
- gibba999 6y agoHere's the other thing though. Law suits are expensive. Law suits burn bridges (you'll never get a recommendation from an employer you've sued). Law suits prevent future jobs (would you hire someone who sued a previous employer?). And wrongful termination isn't the end. And things are rarely black-and-white. If your boss thinks you're a douche, it will hurt your career. If your next performance review is a 7 instead of a 9, that might not lead to termination now, but it prevents career growth, and gets you sacked next layoff. I don't think anyone would every get laid off JUST for sharing salary info, but it would push a lot of people over the edge. All I'm saying is be careful about how you do it.
- tptacek 6y agoHere's the other other thing, though: lawsuits are expensive. Employers settle them routinely. I've seen frivolous suits settled for real money, just to get them out of the way. Legal expense probably scares most employers a lot more than it scares former employees. Getting fired for sharing salary information is not high up on my list of concerns, in part for that reason.
- JamesBarney 6y agoOn the other end there are companies that fight every lawsuit tooth and nail, even if it's more costly and they know they're going to lose because they don't want to get a reputation as easy pickings among employment lawyers.
- Gamemaster1379 6y ago100% confirm these exist. When I first came to California, I worked for a computer repair shop in Sacramento as my first gig with a "budding software division". Place was a bait and switch on what they had me doing. Market took a downturn just after I moved so I was stuck in the job. They pressured me into doing full on software architecture but paid me like an intern for it. Eventually went from bad to worse. It was so stressful it caused a condition of mine to flair up. Long story short, I was vomiting blood and stomach acid on the daily in the mornings. Work from home would have accommodated me but they refused because the CEO was an asshole. He let others work from home as a "favor", but wouldn't meet medical needs. After giving me more than one death threat, I finally quit and sued. Pro bono, of course, since I had no money. They hired the most expensive defense firm in California to take the case over what would have been a $5-$10k settlement. My lawyer was unbelievably startled by this, and immediately dropped the case after.
- mjevans 6y agoThis is a good algorithm, but depends on using actual exact figures rather than rounded values and a secure RNG source of the nonce.
- joezydeco 6y agoPerson 1 is the secure source, as long as they subtract it at the end and don't share it with anyone.
- im3w1l 6y agoEveryone writes their salary on a piece of paper and puts it into a hat. Then you can get a the full distribution.
- jhanschoo 6y agoIf the salaries are still too easily identifiable here's how it can be anonymized. Allow breaking down the salary into a sum of numbers, and putting them as separate slips into the hat.
- verma7 6y agoHow would you get the distribution from the sum of numbers individually?
- jessaustin 6y agoYou don't count the slips of paper in the hat. Instead you count the number of people who put in slips of paper.
- nitrogen 6y agoThat will give an average, but it won't give the distribution (min/max/etc)
- chrisdirkis 6y agoI believe the parent meant breaking it down as "if you earn $100k, add 10 slips that each have $10k on them". The number of slips will be more than the number of people in the room, but that's fine. It's less practical than the "seed + pass round" method that someone else recommended imo (due to handwriting notability), but still works in a more technical sense.
- jhanschoo 6y agoYou're right, you can't, I was looking at the problem posed by grandparent comment of getting only the average.
- virtuous_signal 6y agoIf there is a vastly overpaid asshole in the group, they could throw others off their scent by adding a really small, or even negative value. Then when the overall sum is revealed, they would be able to calculate the correct value for themselves, while everyone else stays gruntled.
- axaxs 6y agoWhy all the hoops? Companies have shamed us into thinking sharing salaries is bad. It's not. People should share freely, in my opinion it benefits all parties except the company.
- pjmlp 6y agoI also don't get it, here in many European countries that is very easy to know and we don't make such a big deal out of it. Public servants have a progression table, so by knowing their level, you know the salary. Companies either have an union agreement, so it goes back to the same level agreements, or they have internal evaluation with salary matrix, so again by knowing department and skill level, it is relatively easy to get the salary value, minus possible bonus. They are even part of some job offer descriptions. So at the end of the day it is hard to grasp why it is so sacred to discuss it on US.
- Leherenn 6y agoProgression tables are just age discrimination though usually. I've seen it a few times, people with 30+ years of experience being paid massively more than newcomers, and just waiting for retirement. There's absolutely no point to do more than the bare minimum not to be fired in this situation (and if it's a government job, then it's pretty much impossible depending on the place), and it absolutely shows.
- pjmlp 6y agoAnd? Most of the times those newcomers are full of ideas trying to reboot everything without spending one second to understand why things are the way they are. I also have many seen people waiting for retirement on the private sector.
- Leherenn 6y agoDo you think it's fair that people that do twice the work are paid half as much just because they're younger? In the case I know (nurses), it's about a nurse taking care of twice as many patients, and usually better. Not trying to change things, just doing their job. What I can tell you is that those people doing more either quit or just give up and stop caring. For what is worth my experience is mainly with the private sector. It's just that usually they are a bit more willing to sack people.
- segfaultbuserr 6y agoA related problem in cryptography is The Millionaire Problem [0] - how do two millionaires Alice and Bob compare their wealth (whether a >= b) without revealing any information about it? Many solutions exist. A variant of this problem is the Socialist Millionaire Problem (SMP) [1], it asks whether a == b, and can be solved with a minor modification to the standard Diffie-Hellman key exchange, which can provide a 2^128 level of security. Comparing confidential numbers is an important question in cryptography. [0] https://en.wikipedia.org/wiki/Yao%27s_Millionaires%27_problem https://en.wikipedia.org/wiki/Yao%27s_Millionaires%27_proble... [1] https://en.wikipedia.org/wiki/Socialist_millionaire_problem https://en.wikipedia.org/wiki/Socialist_millionaire_problem
- jb775 6y agoIf person 1 doesn't tell the group if they're adding their salary at the beginning or at the end, it would provide a little more security between person 1 and 2. i.e. If the minimum rand # is known to be 100,000, and person 2 receives the number 150,000 and knows it includes the salary of person 1...they will know person 1 makes <= 50k
- bo1024 6y agoYeah, you can make this a lot better by just making the random number in the range 1 billion - 1 trillion.
- dorgo 6y agoNo. If the first person writes 1000050000 then the second person knows that the first earns <= 50k. Same problem at the other end of the interval.
- bo1024 6y agoRight, but the chance of this happening is a lot smaller. Actually, I should have realized, what one should do is draw a random Gaussian (or Laplace) with very large variance -- see "differential privacy".
- dkislyuk 6y agoIf the first person doesn’t add their number, then the 3rd person has the same “visibility” into the second person’s number, based on the minimum rand. The solution can be to include negative numbers in the RNG range, or keep the RNG range a secret (except to person 1).
- jb775 6y agoThe 1st person wouldn't tell anyone if they added it initially or not. Anyways, isn't it possible to add and divide encrypted numbers? Couldn't we just do some variation of this?
- ggggtez 6y agoThis method is not a safe solution. There are many flaws: For example, if person 3 and person 5 collaborate, they can find out the salary of person 4.