After the discussion yesterday about how hard it is to know if your salary is comparable to your co-workers, and inspired by nostromo's "trick" (http://news.ycombinator.com/item?id=2439443), I decided to implement a website where everyone can compare notes, without having to disclose personal info.
It works by creating "salary pools". When you create a pool you get an unguessable URL (e.g, I created a pool at http://salaryshare.me/8a6e32dd8c9166905db6cfd588044bad). Share that URL with everyone that you want to participate, and after a minimum number of people have given in their salaries, the results are disclosed.
Apply any standard disclaimers that should apply for an application developed in less than 6 hours.
The way I see it is that you create the context yourself. You create a pool and only share the URL with people in a known context (such as your colleagues at work). That way you all get to discover where you are in the spread of your team, but without knowing which salary is tied to which individual.
Obviously, how you structure the context defines what it means to you. If you share it with everyone from managers to newbie graduates your context will be different than if you just share it with people you consider to be at the same level as you.
If the users create the context themselves, which makes sense, then why do you ask for 'US dollars only please'? Because you want to use this data yourself?
A similar remark: "annual salary". The context might include part-time folks, consultants paid per hour, etc. where comparisons of annual salary are much less informative than just $/h.
You don't even need the app to discern between annual and dollar per hour, to the app it's just a number. Actually even an uniterpreted string would do.
I work for a company with well over 100,000 employees, but if I gave my salary, title, and years experience (and as someone else noted, especially if I added my location), I wouldn't be anonymous. To my employer, at least. It would be trivial for them to narrow down the information to being provided by a very small number of people - if not the exact person.
I don't see this flying, where I work though. Even among the people I'm closest to, I don't think they'd take to this sort of information sharing amongst each other. Even pseudo-anonymously. I'm not sure if that's because they'd feel it's tacky or if it's because it has been drilled into everyone from corporate culture that you _never_ talk about it.
As an aside, I would actually much rather know not what the guys I've been working alongside for the past decade are making compared to me, but what new hires in the same positions as us are being hired at. Especially when you throw in all the hiring freezes and pay freezes over the last ten years.
Just one correction: your employer will also know exactly who you are by just your salary alone. Chances are not everyone is making the same amount and if you say you make 100,760,000 rubles, it's easy enough to just look it up. Your co-workers of course don't have this info.
I personally liked the other trick better: the one that gives you the average salary. Or maybe median is more appropriate. The point is that it'd give you an idea of whether you are making more or less than at least half your co-workers.
I agree that there is too much information here to stay anonymous from your boss.
Instead, you could generate the histogram of the entire sample set, perhaps curve fit, so it's not obvious for small sample sizes, how many people contributed. Then you put a little red "You are here" dot on the histogram so they see how they compare. This robs the employer of any data they can use to see who partook in the experiment, while still giving the same information back to the employee.
You could fudge the title or years of experience slightly one way or the other. The point isn't to be exact, but to differentiate between associate developers 3 months out of college and staff engineers with 20+ years of experience.
I think the use case is to get an informal survey among your peers. I wouldn't expect a C-level professional or someone more senior to be using it. But that doesn't mean you can't create a pool and send only to the half-a-dozen guys that you work with, or your cubicle-neighbors.
That is not the point of the site. From the inspiration linked above, it is clear that it is about comparing salaries in a single firm or in a similar fairly homogeneous setting.
So create a context. Suppose you're a junior developer in Slovenia and want to know how much your peers are earning. Create a pool named something like 'Slovenia junior dev position', enter your annual sallary and post the link to the pool here.
The only thing that kind of bugs me with this app is that the amounts have to be expressed in USD, so i have to recalculate them back to my own country's currency when viewing the results, otherwise, nice app :).
Just put the value in euros (if you're in Slovenia) or whatever, and ignore the dollar signs.
The results are for your own use anyway -- it'll work just as well even if you don't bother to convert.
Of course, that'll skew whatever larger purpose the developer is hoping to have with the data, but if the project seems to have legs, that just provides a big incentive to add support for other currencies. :}
Amusingly, I had exactly the same idea and registered a domain intending to create a site doing this as well. I then promptly kept working on my day job until 4am, so haven't done a thing with it.
I like your implementation. To everyone asking about context, I believe this tool is intended to be used when you have already created such context, where coworkers want to know group salary information while still protecting their personal information from each other.
I had imagined the use would be where people were already in a group and wanted to share information anonymously. I had a brief moment before I fell asleep wondering how to prevent someone from just reloading the page as others submitted their salary information, thus being able to know what salary mapped to what user by the order they show up. I see that you set a minimum limit on the number of users in a pool, have you addressed this once the pool grows beyond that size?
How about if you can set a time and date at which point everything will be released? The site could show that to all visitors, so it would be obvious that you should get in before that.
I am familiar with Glassdoor. In a way, I am "competing" with them on Job4Dev.
Thing is, this salaryshare is a way to compare salaries with people that you already know, while Glassdoor is more of a general market analysis tool.
What I'm wondering now is how (and if) I can apply the idea of SalaryShare on Job4Dev. If you create a resume there, it already links the companies you listed as working for with the company database. Should I ask for "last compensation received", as well?
I'm currently job-hunting, so I'll take a look at Job4Dev. You probably should be asking (optional, anon) for salary data. I had no problem providing that info on Glassdoor, though I generally know around how much my friends/associates make.
One small issue: https://salaryshare.me/ does not work. Considering who this is targeted at, I wouldn't want my office mates who are my co-workers to snoop on my POST to your site. Kind of defeats the purpose.
I don't think so, but why put them in a position where they'd be tempted? If I send out a link to the salary share pool on our internal chat, the assumption is that at least some people will go filling it out around that time. If someone gets the temptation to know exactly what's going on, they could start up a packet sniffer. OTOH, a StartSSL cert would prevent all of this from happening.
I imagine that this will deter people from quickly starting up a packet sniffer when they share links to your site. However, how are you able to use webfaction's cert? Do they just give you their private key? Or is it just a cert that is not really signed by anyone and the common name is set to *.webfaction.com? In other words, this does not mean that you can spoof www.webfaction.com's signature, corret?
It's a stopgap measure (because you have to click through the cert exception, because the domain name on the cert doesn't match the URL), but it will still encrypt the data just fine.
The warning will confuse some people (such as yourself); that's why the dev asked if it was okay.
So, I've been downmodded reddit style but for the life of me, I can't figure out exactly what part of this previous thread disputes the point that employees will overstate their salaries when asked, hence any representation of asking people their salaries is flawed from the start.
There is a reason large HR firms poll employers and not employees, as I said.
You should actually automatically generate the random string, less friction for the user (and leave the choice to choose the string, kinda like how you can do with etherpad).
- improve formatting of the list (right justify numbers
for example)
- slider to allow us to cut off low and high outliers
when looking at averages/charts/etc
- display mean/mode/median/stdev [1] (which take into
account above filtering)
- chart results
- ability to add a timeout for entries (only accept new
salaries for X days before locking)
- countdown timer on entry page
- ability to send semi-anonymous invites from within the
app
- allow tags or something for the user starting the
survey to add things like industry, general location,
etc
- allow OP to write a brief blurb about what to include.
for example, "base salary only", "salary plus expected
bonus",)
This kind of data can be extremely valuable if you can convince your users their privacy is secure and likewise convince your clients (job boards and the like) that it's accurate.
[edit]... I see you're a job posting company so I guess you already know how valuable this sort of info is[/edit]
It's so sad that some trolling assholes will try to poison cool projects like this by entering extremely high or low numbers. $33million? $123? $0 ... sheesh.
If you are unemployed or self-employed then the question isn't really for you (though the answers certainly are).
You're not acting in your own best interest.
If you accept that the site's trying to give you ammunition in the form of more accurate information. Then you hurt yourself (and everyone else) by putting in an absurdly high or low number you skew the results away from the actual market value.
If it skews high, you're going to miss out on opportunities by holding out for an unrealistically high compensation.
No, he misunderstood the goal of the exercise. I'd argue it's not entirely his fault, either. "What's your salary" -- asked as a general question, without further context, justifiably might not be taken that literally. (And there is no further context unless you've read the previous thread. The post here, and salaryshare.me, don't say anything that indicates this isn't a simple income poll.)
This is not a stupid or malicious user. This is a UI failure.
As I understand it it's a salary pool for HN users. I'm an HN user, and I put in my salary. Seems pretty straightforward to me.
I'm not really expecting that anyone is seriously going to try to use the average salary of HN users for negotiation purposes. But even assuming they were, it appears there are at least a few others who are in my boat. That's relevant information, yes?
I'm not sure I understand— how does the fact that I'm unemployed, and therefore have no salary, negate the fact that I have no salary? Are you trying to distinguish between "no salary" and "$0 salary"? They feel pretty equivalent to me.
Again, this is an informal salary pool for HN users. I'm an HN user, and my yearly income, taking into consideration my no stock options, no bonuses, no salary, and no other non-salary compensation, is $0.
In general, do you really think the existence of unemployed hackers who earn $0 yearly is completely irrelevant to anyone who would have an interest in how much hackers are making?
Actually, yes, it is irrelevant, and yes, you don't understand. But it's not your fault. :P You're missing some context: this is a followon to a previous thread: http://news.ycombinator.com/item?id=2438980
The idea isn't to see how much other hackers are making in general. The idea is to see how much companies are paying them, so that people who are being paid much less or more than they're worth can figure that out.
Granted, it's a pretty statistically silly way to go about that given the breadth of HN readership. The posts further down the thread ("PHP Programmers in Baltimore") make more sense.
Not your fault, though. UI guys like to beat up users when they screw up. Don't listen to 'em. You are giving them valuable, valuable information.
There doesn't seem to be a way of looking at the responses without entering a value, which makes it difficult for students, job seekers, etc., to look at the results without entering meaningless data to get there. Am I missing something?
Looks like $50-60K is coming up as the peak of this when you bucket the answers into $10k classes. For the record, "finding the mean" is not the appropriate way to look at this type of data.
Who defines the 'minimum number of people'? If it's not user-defined, I think you should make it clear what that value is. Otherwise, if I share this to my team of 7, but the minimum is 8, we'll never know.
For smaller groups, you could add an option to show only the average, not the salaries. Then with as few as 3 people it would be reasonable to disclose the value.
That is correct. I did have one version where the first form asked for the minimum number of participants. I discarded it because I wanted to get the easiest "action" form. To be honest, I considered even removing the "give it a name" part.
But it seems to be something that a lot of people are asking. I will add the "minimum number of participants" option now.
I've had something like this in the back of my head for a while, glad to see someone implement it.
One thing though is how do you suggest getting people to join the pool? Pass the link around? You might not want to get caught as a ring leader on something like this, or even as a participent, as some companies really hate salary sharing.
One thing though is how do you suggest getting people to join the pool? Pass the link around? You might not want to get caught as a ring leader on something like this, or even as a participent, as some companies really hate salary sharing.
There needs to be an anonymous sharing system. Put emails into the system, and Salary$hare emails those people.
What's stopping someone from sending a link, then entering a bunch of fake salaries (by clearing cookies), to find out co-worker's salary (not one of the ones you entered, though they may all appear legit).
I guess one way of combating this is that when you receive an invitation, ask your other coworkers if they received them as well, and ask them to participate. That way, at least the initial wrongdoer wouldn't be able to peg the salary to the person.
I'm in the middle, thought I'd be more at the bottom. Was happy about that for a second until I realized that being at the bottom would actually be a good thing.
Cause if you're at the bottom there's plenty of room to grow, even just by switching jobs. Finding out you're the top paid programmer in your area is good for the ego but doesn't do anything for your bottom line.
Nice idea, but I'd want to e.g. wait a day/week/month and then disclose all salaries and close the pool. After all, salaries added after the pool has been opened are much less private.
It is probably a good idea to keep the original value and the currency rather than converting them to dollars just the one time. This will allow you to recompute dollar figures based on currency exchange fluctuations.
I'm not convinced it's useful to convert the currencies anyway. I can't get paid in US dollars for this job. If I wanted to get paid in USD, I'd be getting a different job.
Or are there any cases where a single job market spans two or more currencies?
The point of this app is that you share a link with your peers, whether they're based in your office or in an office in a different country. This is a bit different from completely anonymised data from statistically similar market segments (and possibly more useful, since people at the same company are likely to have similar perks and benefits etc.)
There are at least 4 different currencies being used to pay people in my office. Sometimes two different currencies to the same person. As each portion is (or can be) negotiated separately, this isn't merely a conversion question.
Also, our bonuses are denominated in USD and then converted (or not) into whichever currency we prefer.
The way I see it, the person with $8 is ranked third, not second.
Think of what would happen if you extended it. If you had 99 people earning $10 and 1 earning $8, it would be misleading to rank that bottom individual 2nd.
For what it's worth, this is quite easy to compute in a way that works with any number of ties, and doesn't require computing the whole list in order. Your rank is the number of people above you plus one.
Yes, it requires a sorted list, but so does the naïve implementation. The performance is equivalent to binary search to find the entry, although you then have to scan backwards to make sure you have the first entry with the same value.
Since performance is probably not an issue for most rankings, the biggest benefit is a clear, easy to remember definition, which should reduce the chances of making the same mistake landhar did.
If you are inserting 3 into an indexed and sorted list (1,2,4,5) you can calculate the index of 3 in O(Log N). But you also need to update the index of 4, and 5 which is an O(N) operation.
The site is awesome, I did basically nostromo's trick with my colleagues in the past and found that I had the highest salary by a reasonable margin but was the newest hire. Ah, the joys of negotiation... A webapp would be great for more distributed teams though!
Me and a couple of buddies made a basic version of Glassdoor back in college before they existed. It's called FuelForHire but it never took off because we never marketed it. I'm promoting it now in hopes it helps people figure out their salary, and on top of that it contains reviews of the hiring process, compensation package, and work environment to give the numbers some context. We DO NOT require you to write a review in order to view one like Glassdoor does, so stop by and take a look, although we'd love it if you did write a review!
It's probably better suited for people to talk about their experiences at past companies instead of their current employer especially if you're paranoid about your anonymity but feel free to use as you see fit.
Again, the site was made 3 years ago when I was young and stupid, so there are a lot of issues (plaintext passwords, anyone?). If there's significant interest I'll start fixing them right away. Check it out:
Nice idea. Topic will always bring hot debates, but glassdoor is doing a pretty good job.
Apologies for a bit off topic, but I built a bit different site in Poland, where you can actually vote on salaries for job offers based on the location / job content / role / company name (if known) for job offers from various websites, where in salary field it says "atractive" or "high" etc. Have a look http://www.jakapensja.pl (in Polish)
The anonymity doesn't really translate to start ups where there are < 100 employees. I work in an office with 10 people. If everyone posted their salary I would be able to easily guess who posted what. I'd much rather a site lik http://www.ackwire.com/ (posted on HN a couple months ago).
I don't agree with comparisons like that. I had two developers one making $10k more that the other, both about the same quality I would say. I didn't set their salaries, they had salaries negotiated when they joined the company. I thought it was unfair. It's not. Everybody has different skills, work ethics, productivity and on top of that expectations. The guy with $70k always complained about salary while $60k guy was completely happy.
It's up to everybody to negotiate salary that makes them happy, if you are not able to move on somewhere else where somebody will pay you what you are asking for.
However, putting all this aside, this application could be useful in environments where you have at least 5-10 people with the same skills, seniority, productivity, otherwise you are comparing apples and oranges.
Also, a lot of companies prohibit you from discussing your salary with other co-workers or not?
Has any tech company used fully disclosed salaries as described in Mavrick [1][2]? It's an intriguing idea.
Mavrick describes how all salaries were publicly posted. People see exactly where they are in relation to others. Of course this created tension at first, but eventually things settled. The magic happens during hiring. An open position's salary is also public, and everyone on an interview panel naturally ranks candidates versus current employees. Is the candidate better than Joe? She better be because she'll be making more than Joe.
Has anyone heard of a tech company doing something like this?
Very cool. Might be interesting to collect age, years of experience and perhaps company while you're at it so you can see a nice distribution. This might destroy some anonymity amongst a close group of friends, but amongst a diverse anonymous crowd such as HN it would be interesting.
Nice solution to a known problem. The app is simplistic and doesn't really need to collect any more information. As long as people enter accurate salaries then this should prove useful. Good job.
Nice one. Other than secret pools, it would be very interesting to have a global pool where people could indicate country, years of commercial experience and salary.
Perhaps make a public version that asks for more information and automatically generate pools when enough have submitted data for a particular segment (company, location, title, years experience, degree, etc)
That very quickly removes anonymity. I might be the only guy whose title is actually Software Developer - but we're a company with eight employees, five of whom I can see if I swivel my head.
I haven't thought about this problem extensively, but it seems you could maintain anonymity by hiding results for segments with a small number of responses. That's basically what this is doing, except the "segments" are user-defined and private.
If I'm the only one at my company who has responded then a search for my company won't turn up anything. If a dozen other people have then it will. If only one of those has the same job title then it if I search for my company and my job title nothing will show up. If 8 have the same job title then they will show up. Restricting it to one "axis" might solve that but the data would be less interesting.
Of course you have to be careful since certain combinations of searches could also reveal information (kind of like those logic questions: Sally is taller than Bob, Bob is shorter than Joe, etc, etc. Who is tallest?)
Excluding the company name and restricting location searches to large enough regions would remove a lot of the risk. It would be cool to be able to ask questions like "What are the salaries of software engineers with 5 years experience in Silicon Valley?" or "How much does having a BS degree increase your salary? MS degree? PhD?" or "How do salaries scale with # years experience?"
right align the numbers in the results, and don't make the list numbers mess with alignment. see the HN list for an example of how the mis-alignment makes it unecessarily difficult to scan/compare
Last time I tried to look at Glassdoor it just required you to provide information to get information. Once you provided a salary, you could access salaries for a year.
Incidentally, if you really want you can get around this by opening a new incognito window in chrome. Sort of a pain and perhaps not worth the effort, however.
I run a similar site to Glassdoor that doesn't require you to write a review to read them. Understandably, I have fewer reviews, but if you're interested feel free to take a look!
It works by creating "salary pools". When you create a pool you get an unguessable URL (e.g, I created a pool at http://salaryshare.me/8a6e32dd8c9166905db6cfd588044bad). Share that URL with everyone that you want to participate, and after a minimum number of people have given in their salaries, the results are disclosed.
Apply any standard disclaimers that should apply for an application developed in less than 6 hours.