
Show HN: Let's end the Programmer Salary Taboo - rglullis
http://salaryshare.me/
======
rglullis
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.

~~~
donohoe
Without context, salary is meaningless.

You should ask for title and years experience in the role. Without that a
comparison is tough.

~~~
pstack
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.

~~~
IgorPartola
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.

~~~
pdx
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.

------
Sukotto
This looks great.

Ideas for the future...

    
    
      - 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]

[1] Nice article on averages (if you're not already familiar with the pros and
cons of the different types: [http://betterexplained.com/articles/how-to-
analyze-data-usin...](http://betterexplained.com/articles/how-to-analyze-data-
using-the-average/)

~~~
tomrod
Another excellent idea: make it a regression:

Wage = a + b _years experience + c_ title + d _language coded + ...

[a b c d ...] = ([array.T _ array]^(-1) _array.T_ wage

thus people can figure out for themselves where they should be! :-)

------
mbowcock
HN Salary Pool

<http://salaryshare.me/230acd5ff2df1bf8cb03f403aabd45be>

If any ones interested.

~~~
Sukotto
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.

<http://www.penny-arcade.com/comic/2004/03/19/>

~~~
Cushman
One of those $0s is mine. I'm an unemployed college student; it should
probably be more like -$20,000. Just sayin'.

~~~
Sukotto
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.

If it skews low, you accept less money.

~~~
Cushman
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?

~~~
pavel_lishin
You are unemployed; therefore you have no salary.

This is somewhat akin to placing "yes, please" under the "sex" column of a
questionaire.

~~~
Cushman
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?

~~~
Dove
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.

------
zipdog
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.

~~~
mdwrigh2
The minimum is 4 people I believe.

~~~
rglullis
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.

------
mtalantikite
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.

~~~
michaelochurch
_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.

~~~
rglullis
That is an awesome idea.

------
mesmerized
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).

~~~
pavel_lishin
Any system can be abused.

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.

~~~
A1kmm
"Did you receive a SalaryShare link" is insufficient. I could send a different
link to each co-worker. You would at least need to compare URLs.

------
jhamburger
PHP NYC - <http://salaryshare.me/f2864ef79da8296c035b2906c0bb4846>

~~~
robrenaud
Design flaw there. I am tempted to just put in some random numbers so I can
see the output.

~~~
alexlawford
Right. It would be nice to have a 'just let me see the results' link

------
JoachimSchipper
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.

~~~
rglullis
I did plan for time-based, self-expiring pools. I'm also thinking of adding an
option to get a user-configurable minimum number of participants.

For the sake of simplicity, I left out of this first version. The way it is
working now, you can only see the results after adding your own salary.

Call it a MVP, if you will. It might be in the next version if people show
enough interest.

~~~
portmanteaufu
A user-configurable minimum would be a great help in convincing my peers to
participate.

Do you think you could add a jpeg or two to the front page demonstrating a
couple of sample salaries and the information I would see as output?

~~~
JoachimSchipper
Don't you think that that may lead to a powerful anchoring effect, skewing the
results? I suppose you could put in obviously bogus numbers, but..

------
shawndumas
A few stats and graphs won't hurt; but it's great for 6hrs.

~~~
riffraff
mean, median, and truncated/winsorized mean would be really useful and not too
much effort, if I can ask for something :)

------
timrobinson
> _US Dollars, please_

But I get paid in pounds sterling. Can't this just be a free-form text field?

~~~
rglullis
Yes. My friends in Brazil are already asking for input in BRL. Will add it.

~~~
arctangent
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.

~~~
timrobinson
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?

~~~
arctangent
Some larger companies have offices in more than one country. Examples would be
Google, Microsoft, Facebook, most banks, etc.

Perhaps it would be useful to be able to view the results in any currency you
desired. But already we're entering scope-creep territory :-)

~~~
timrobinson
Right - if you cared enough about looking at anonymous salary information
across different countries, you could just use Glassdoor.com.

~~~
arctangent
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.)

------
landhar
Good idea.

Here's a suggestion, the numbers on the list should match a rank, eg:

    
    
      1. $10
      1. $10
      3. $8
      4. $7
      4. $7
      4. $7
      7. $2
    

This will make it more relevant when looking how high up on the list your
annual salary is.

Edit: fixed formatting. Edit2: corrected the ranking as suggested by
SimonPStevens

~~~
SimonPStevens
Shouldn't that be: 1\. $10 1\. $10 _3_. $8

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.

~~~
landhar
You are absolutely right, that was more what I was thinking about when I wrote
that. I just edited it to match with your proposal.

~~~
btrask
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.

~~~
Retric
I must be missing something. That's a N^2 operation on an unsorted list. ~N
Log N if you sort it first. And N to insert a new entry to a sorted list.

~~~
btrask
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.

~~~
Retric
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.

------
hanchang
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!

<http://www.fuelforhire.com>

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:

<http://www.fuelforhire.com>

------
ad80
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)

------
emehrkay
PHP Developer Baltimore Area

<http://salaryshare.me/2da2f504ae45c222455824f207448e77>

------
urza
feature request:

* "show results only" - I would like to see results of pools that people are posting links to (without having to "make up" something first)

* other currencies - there are also other countries then USA

* global public pool + allow to submit some more info

------
paradox95
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).

------
trusko
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?

------
rickmode
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?

[1] <http://en.wikipedia.org/wiki/Maverick_(book)>

[2] [http://www.amazon.com/Maverick-Success-Behind-Unusual-
Workpl...](http://www.amazon.com/Maverick-Success-Behind-Unusual-
Workplace/dp/0446670553/)

------
levirosol
Why not throw a couple ads on this and monetize your efforts? Job placement /
recruiting ads bring great money.

------
jsherry
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.

------
hiroprot
Sorry, didn't do it for me. I was at first confused by the "give it a name",
then it took me to another page and I lost interest.

Why not just a simple form that lets you enter your salary, and provide some
optional info that will only be revealed to people you choose?

------
evoltix
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.

------
andywood
Developers at BigCo (Microsoft/Amazon/Google...):
<http://salaryshare.me/0c844406ed64408ec6ccb6cfa59f83e5>

~~~
nostrademons
Base or total compensation?

------
JohnIdol
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.

------
mildweed
PHP Developers Midwest
<http://salaryshare.me/520b0119dba651b4a5e0d8e8e3a72603>

------
klochner
How about listing public pools on the front page (and giving the option to
make a pool public)

------
tlrobinson
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)

~~~
pavel_lishin
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.

~~~
tlrobinson
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?"

------
turnersauce
Grad students: (not that our salaries are all that secret...)
<http://salaryshare.me/be795b5770029320591ac9a1730a9932>

------
elai
SF/Bay Area iPhone Developers (put 22 if you just want to see the results)

<http://salaryshare.me/b57de74e7eecef0c5179516ee5e75a1f>

------
kunjaan
Software Engineer I or Entry Level Software engineer in Boston :

<http://salaryshare.me/d7bf7a517c9261e1dca387eca652b58d>

------
pmb
CS Academia - young professors and postdocs -
<http://salaryshare.me/aa134b0ded8013e4d211e1abdc5eb8ac>

------
whatusername
Austrlians: <http://salaryshare.me/34675bce652fe030839ff6d0fa349647>

Assume Parity with $USD to make it easier

------
notJim
Developers at NYC Startups:
<http://salaryshare.me/25a1232ba8ca3b7f2b2e41a64b9cdc46>

------
Sandman
Croatia senior developer:
<http://salaryshare.me/760f65ad9a532d7f329fda641fda0952>

------
hammock
Put your bugs on this thread.

Submit button does not work in IE7

------
latch
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

<http://salaryshare.me/230acd5ff2df1bf8cb03f403aabd45be>

------
goldmab
It looks like a lot of people are entering zero just so they can see the
results of some pools.

------
codexon
Without verifying anyone's identity, couldn't the boss just flood the pool
with low salaries?

~~~
akkartik
Pools seem anonymous. You'd have to hide the link to the pool from the boss.

------
yuhong
Great workaround, but ultimately I'd still want the cause fixed.

------
fapi1974
www.glassdoor.com does this pretty well...

------
markdennehy
How's this different from Glassdoor.com?

~~~
timrobinson
Glassdoor.com's free trial is limited. Click through a few pages, and you
start getting this:

> _This salary is available to members_

~~~
kevinpet
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.

------
njharman
this site pre-existed, glass cieling or something like that.

