Show HN: I built a website for sharing salary info
fellowage.io
fellowage.io
1. How is this different to Glassdoor?
2. How do you get enough data points to be useful?
3. How do you account for selection bias?
4., (and here's the big one) how do you account for the mistruths of self-reported income?
The last one is the big problem with all self-reported income summaries. One thing I've learned over the year is that people lie, even anonymously. I'm not even sure why. Do they really believe it? Are they posting it to make themselves feel good? I really don't know. But I do know that I don't believe your salary claim until I see a W2.
As for selection bias, this is a big one too. Take a company like Google. At level 7+ data point get pretty thin. This is partially because there aren't that many but the real problem is that these people really have no motivation to share. So you don't really see the big outliers.
Lastly, most of these aren't clear on what number they are report and what users should report. Is it base salary? What about bonus? What about RSUs/options?
As anyone who has worked in big tech knows, base salary number are almost completely useless. Salary band is defined by level (pretty tightly, in my experience). More than 50% of your total compensation will come from bonus and stock and stock in particular has massive variance.
Yelp themselves have addressed this with a dedicated page: https://www.yelp.com/extortion
Maybe I’ve been duped. I’d be curious if your comment is based on different research, or personal experience.
They do not "manipulate" ratings, sure... They just take a looong time to "Review" positive reviews, and not too long to "Review" negative reviews you get. And, of course, only reviews they have "reviewed can be shown and count towards your average score...
I'm confused about how you think this would work.
1. Yelp doesn't report on its approval speed.
2. To get an accurate report on this, you would have to have several accounts posting positive and negative reviews on the same pages. Yelp doesn't allow this and would ban the accounts.
3. Yelp explicitly disallows scraping their site (i.e. having a bot archive the pages). Doing so would be thwarted by their anti-bot measures. It's also against their TOS.[0]
Do you have web archives that can be used to build these stats?
[0]: https://www.yelp-support.com/article/Can-I-copy-or-scrape-da...
1. You don’t need that to demonstrate statistically significant difference between paying and non-paying customers
2. You don’t need to make any accounts, only read existing and incoming data
3. Yes, you shouldn’t break TOS but you also shouldn’t be throwing around unsubstantiated accusations of extortion
I have no need to convince you or anyone else. But I am convinced. I trust my eyes a lot more than I trust yelp.
Right now you don’t even have proper N=1.
Or is it just additional features of the platform without altering the review data?
Also, I hate ads too.
For this business domain, that leaves a business model where "power users" of the product can get more features, or more access, or more detailed data for a premium fee.
Are there even more alternatives? What do you think?
So this is what I'm talking about when I say that non-salary compensation can easily eclipse your salary at a big tech company.
Why does this need to be an acronym? Seems like a convoluted way to say one should know their second best option when negotiating, but that seems like an obvious thing even a 5 year old knows.
2. By requiring users to share their wage information at signup. The idea is that to see salaries of others you need to share yours first. It’s possible to delete wage entry later, but also that makes the user lose access to others, until they either: add wage entry again or upgrade to paid account plan.
3. Yes, I agree that certain folks will have no motivation to share, because they don’t care to know what others ("below" their level) earn. What could be interesting for them is what others of the same or similar level earn. So maybe something like peer-to-peer sharing may be interesting to these folk.
4. We’re going to implement an algorithm that will try to detect "suspicious" data entries, and devise some a more advanced validation mechanism. Such entries will be hidden from other users in the meantime.
So there are two fields: core wage (this is what you get no matter what), and other benefits estimate (here you just bundle everything else, and for non-deterministic stuff, make your best estimate, of what it’s worth).
"More than 50% come from bonus or stock, or others" is actually not quite true in every culture or country. For what I’ve seen here in Germany and in few other countries, 90% or even more is the base salary.
This seems like a bad idea. Aren't you concerned this will lower the quality and accuracy of submissions? I know when some website forces me to put in details I don't think it needs I put in garbage.
Also you're asking people to submit data when they have no idea what data you already have. Are they first to submit?
This reminds me of Auto generated pages with no content or no answer yet that's not clear from a Google SERP. You get the "helpful" message like "be the first to post X". I actually wish Google would downrank questions with no answers and empty wiki pages.
It smacks of clickbait is what I'm getting at. If you measure it you'll probably find your bounce rate is really high.
I validate the information (current job title, company name and location) via user’s LinkedIn profile manually.
I don’t validate the "numbers", but I plan to implement an algorithm that’ll mark "suspicious" entries, and will hide them or delete them from the system. Additionally, owners of such records will be prompted to update them when they log in into the system next time.
How do you know?
Glassdoor under-reports salaries because unhappy people are overrepresented there. Unhappy people are likely to be underpaid compared to their happy peers. Anything that helps us gather data relevant to negotiations and eliminate the salary-sharing stigma is a good step forward.
> people lie, even anonymously
People lie about taboos. If salary sharing becomes commonplace, they might feel compelled to tell the truth.
The only way to make this kind of thing work, is to legislate salary transparency.
That may seem to disincentivize individual excellence (by removing the rewards), but I'd say that it's OK to pay Bob more than Joe, as long as you are willing to justify that increase in wages. As a manager, I had to fight like hell to get promotions and increases for my team, so I always had this information handy.
The other way to incentivize excellence and effort is through bonuses, but these could easily become opaque, thus, continuing the issue.
In academia, salaries tend to be [relatively] low, so perks become the currency.
Human nature dictates that we always want to be "better than" our peers (thus making them "not-peers"). We always seem to find ways to do end-runs around the system.
I'm fairly glad to be out of the corporate rat-race. I'm doing my own thing, making less than I ever have, and loving every minute of it.
And I do believe that every company needs to get very transparent on how they decide the salary, when they pay someone differently. There should be a well-designed set of rules and processes to follow. This way, people who want to earn more, know exactly what to do and in which direction should they grow and develop. Also, if they think that this direction doesn’t align with their personal goals, they can make a better decision about joining another company, where interests will align better.
I've heard they do this in one or more Scandinavian countries. Essentially, you can go online and see what your coworkers and neighbors earn.
I have a feeling that's why salaries in these countries, especially when you include state defined insurance and pension plans, are so normalized. It's probably also why more innovation tends to take place in the US (subjectively).
For many of us in the US, I think this would actually be a net negative, myself included. There is so much division in this country, eventually employers will simply be forced to dish out nearly identical salaries for everyone in order to avoid lawsuits and government penalties, even when talent and performance is radically different between employees.
For example, Employee X has a BS in CS from a great engineering school which took a lot of effort to obtain. He was hacking away at code on his own as a teenager and is passionate about tech, and is often working on open source projects on weekends and evenings.
Another employee comes in - she got a watered-down "Information Systems" degree from some mediocre pay-to-play online school, and her previous knowledge of technology is her IPhone and Facebook. She pays her tutition fees, does the minimum to graduate, and now has her BS, too.
She discovers the talented guy make 50% more than her, even though he's the guy leading the development projects, ensuring standards are met, cleaning up the garbage produced by other junior coders, etc. We all know that many teams form this dynamic, especially in typical contracting and enterprise shops.
Well of course she'll complain. They both have similar 'credentials' on paper, both work 40 hours, both are in their 30s. Management won't care that one dev is worth 5x the other, they want to avoid lawsuits and government penalties. So his salary is lowered, hers is raised. Because he knows he won't get paid what he's worth anywhere else since it's the same everywhere, he just stop performing at work, the whole project suffers.
And yes, this has happened in my work place several times in the last few years as salaries have become more transparent and there are more complaints from groups who feel that they're being discriminated against, regardless of their performance and experience.
The problem with bonuses, is that they are very easy to abuse, and many corporations have incredibly rigid bonus systems that actually make it difficult to reward individual excellence.
I was just talking with a friend of mine a couple of days ago. He's a Director at a manufacturing plant, and is awesome.
He spent the last year, working 7 days a week, ten hours a day, to implement some new processes. The company is being put out to bid for sale, and his efforts doubled the price.
His efforts alone.
Doubled the price of the company.
He got a tiny raise, and all Directors get the same bonus, based on sales numbers (which weren't so good). Also, all Directors get the same percentage of equity.
I suspect that he may be seeing who else could use his talents...
I’d rather spend 10h a day 7 days a week pouring efforts into my own assets, or towards my vision, and not for someone else’s assets or vision, especially if I have no say and stake in the high level decisions (like sale of the company).
I would have assumed that the person learning on their own, working on open source projects, and hacking away on stuff since they were a kid went to the mediocre school. They just need the paper to open the gates.
The person who went to the "top-tier" school is more likely to be working the system and generally turning in garbage at work. Their parents have a buddy on the board, or the department is run by a frat/sorority acquaintance, or they just get extra consideration because "top-tier" school resume.
An yes, I've seen this at many places over the years... Guess who the first whiner is?
Pretty godawful experience from the start, since the only reason I added my information was to see if there was anything relevant since I do not live or work in a tech hub (quite the opposite).
Edit: And it seems like you need to search for companies in order to see them. Browsing companies to see if I recognize any in my area would be a good feature.
Also, if rejected registration is not updated with correct info in 1 week, it gets automatically deleted. This data does not become part of the information that other users can see.
> Browsing companies to see if I recognize any in my area would be a good feature.
You are not the first asking for that today. I’ll implement this feature for the next release.
> the only reason I added my information was to see if there was anything relevant
That also screams like a missing feature for me. I could allow people to browse companies (by location) and show masked data until they sign up and share their own entry.
2. I have made it available without signup/login (partially—you’ll see companies/locations and how many entries they have each, and be able to navigate to these company pages, but from there to see numbers, you’d need to signup/login).
e.g., “Who should I look up to in my company to earn more?” or “How up-to-date are specific salary entries?”
My product doesn’t answer the first question just yet, but it will in the future via a peer-to-peer sharing feature that I’m planning in the next version.
Otherwise it‘s not so anonymous. Sometimes the combination of role and Salary is enough to point to a single employee. That’s precisely the reason why you only get statistical information at the other sites.
On the other hand, it’s not provable (I don’t save the exact number, and I separate the account and wage entry securely so that the user and only user can realize that connection: https://dev.to/foundsiders/how-have-i-ensured-the-privacy-an...).
If I apply replace entries with statistical ranges, then the product would become a clone of other products for this (like Glasdoor, LinkedIn Salary, etc.). And it won’t solve the problems I set out to solve with it anymore.
I have always felt certain anxiety when thinking about my salary and only guessing what my colleagues might be earning. This issue is especially problematic in cultures and countries in which talking about wage numbers is an unspoken taboo among the employees.
Quite often, the questions like “Should I ask for a raise?, or am I already earning maximum that my employer can handle?” “Am I earning too much for the work that I do?, or am I underpaid?” “Who should I look up to and learn what they are doing to get a higher salary?” have plagued my mind.
# Existing solutions:
Of course, there are services where you can look at salary levels or statistical distributions of wages. The problem with them is that they don’t give you specific (albeit anonymized) numbers of what individuals earn, and they don’t satisfy nagging feelings of fear and anxiety that I have mentioned above. Also, it’s hard to tell whether the numbers are up-to-date or not.
# The solution:
I designed this product to be privacy-first so that many more users feel comfortable sharing their wage information and keeping it up-to-date. It allows users to see all salary entries in their current company, search for other companies in preparation for negotiations. Here is the full list of features:
- I verify the data with LinkedIn profiles
- I nudge users to update their info twice a year
- I keep information quality high
- You keep your data anonymous
- You can see your and other companies data
- You can subscribe for updates for particular job titles/companies
# Plans for the next version:
I plan to allow users to share their non-anonymized information in an encrypted peer-to-peer fashion with each other if they want to. This answers the question like, “Oh, somebody earns twice as much as me… And has the same job title… Who is that?”
Tell me what you think about it! Is there something missing from your perspective?
In fact, the requirements are quite relaxed already. I wanted to make it even more strict, but my partner insisted on relaxing them.
The age of simple passwords are long gone, as they are really easy to crack with enough budget.
Have you considered a password manager that can generate random unique and strong passwords for each website (and store them securely) for you?
Requiring a long password on a site where the impact of a breach is minimal is not a good policy, you're just going to get people who can't ever login.
- What kind of data are you storing about a user? You mention verification with LinkedIn but what happens if your database is compromised 6 months later and all data is accessed by a malicious 3rd party?
- When checking salaries, I prefer to search a job title and look at the average salary of a country, city, region or a company. Do you provide these features?
- I looked at the demo application and only thing I see is a table with some entries. Unfortunately, this is not very user friendly.
- I would want to see the average salary of a position
- Count of salary entries of a position
- Variance for the salary of a position (min, max, average, median)
- The way to success is to have a lot of salary entries in your database. As a newly established service owner, how do you plan to keep users with your service and providing updates rather than using glassdoor etc. competitors?- How do you plan to monetize this service?
Please do not see my comments as offensive, I mean to ask honest questions and give criticism.
- For the data question, you can find all the information on our privacy policy in details (https://www.fellowage.io/privacy): what is stored, how it’s processed and for what reason, lawful basis, etc. Please read this about how I disassociate account information (and protect it) from raw pseudo-anonymized wage entries (that are already "public"—available to all users of the system via search): https://dev.to/foundsiders/how-have-i-ensured-the-privacy-an...
- I don’t provide these features right now. Currently, product solves slightly different problem, and I think it’s possible to expand its feature set to cover for search by job title/location, or company. You can already search by company/location though. (It’s a search bar at the top of the webapp’s UI).
- These are all features that show you statistical distributions, and while they are useful, there are plenty of tools that solve for that problem already. I set out to solve slightly different problem: “Who should I look up to in my company to earn more?” or “How up-to-date are specific salary entries?”
- I plan to notify my users to update their entries every half a year. Also, there are features that allow users to set up alerts for certain companies/locations/job-titles when there are new entries, or updates. These alerts are aggregated in a weekly report (if it’s not empty, of course).
- The current plan for monetization: there are two types of accounts: free and paid. Free account can view their own company/location without limitations, and for viewing of other companies/locations there are 3 monthly free views, that can be substantially and permanently boosted with referrals (similar to what Dropbox did with their referrals). Paid account has no limitations, of course.
Please tell me what you think about these replies! :)
Lost me right there. Good luck with that. LinkedIn is notoriously a garbage dump of spam, recruiters and fake profiles. That’s on top of the fact that most people (myself included) don’t have a LinkedIn profile to begin with in order to curb spam.
As another option, talk to a recruiter.
I can tell you that anxiety of not knowing is better than the anger/disappointment/a whole host of other destructive emotions after you do know. Companies don't want to deal with this. It can easily get ugly.
In my case, my boss'boss actually had the balls to tell me that he will not be terrorized by me suggesting there are greener pastures out there. Looking back it was a big mistake. Should have waited for an offer and then use this information.
Moral of the story. Be careful what you wish for.
Couldn't you find a bunch of people who are in that job title in your org? I'm sure with some detective work you could connect the dots on individuals you care to track down, depending on the size of the company.
This works the other way around too, someone who was not hired, some ex-employee with some gripe against their previous employer, a misbehaving competitor... Just about anyone can go about submitting false reviews about your company in order to damage your employer-brand.
Goodhart's Law at work.
I don't see how this works at all except at the bottom level.
If I read that your salary is X, and interview, I expect that the negotiation revolves roughly around X.
If you offer me 0.7*X I'm going to walk and I expect anyone qualified would.
I'm curious about this given you can update/delete your salary entry - does there not have to be a unique identifier between the account and the entry?
SPOILER: asymmetric encryption with private/public keys.
It's only a taboo to the extent that other people are vaguely worried that it might be. :-)
It only helps employees to keep salaries opaque.
On the other hand, nothing good ever comes out of sharing salaries with current coworkers. If you make more they are going to be upset.
You don't ever want your pay tied to seniority. You want it based on the value you can deliver. That way, you with your 10 years of experience and proven ability to ship good products get to make twice as much as Senior Dev John with 10 years experience maintaining the internal CRUD app.
Thanks, but no thanks.
You don’t provide LinkedIn credentials in any way to me or to my website. You use it to authorize with LinkedIn (similar way, you can authorize with Facebook, Github, Google, Twitter, and other OAuth platforms).
The only thing that my website can read (and for very limited amount of time):
- Your email address, - First name and last name, - Unique LinkedIn ID, - LinkedIn profile photo URL.
That is it. There is no write permission for anything. This authentication token doesn’t allow anyone to log in into your LinkedIn account.
This type of technology is called an Authentication Provider, and is used to authenticate you on my website (not on LinkedIn).
Here you can read exactly how I process the data mentioned above: https://www.fellowage.io/privacy#linkedin-profile-data
Even though I personally understand why you are going with Linkedin, you cannot claim that data is anonymous if you require Linkedin account to authenticate. Privacy has nothing to do the with the technical implementation. You are just explaining oAuth but the point is that you already who I am since you require Linkedin. So it is not anonymous. Not for YOU at least.
What’s important is that I’m not going to see the numbers you entered.
Also, since I’m verifying every registration (in half-automated/half-manual way), and it takes about 20 seconds to do the verification, I cannot possibly remember who I’ve seen and what profiles do they have. (simply because I’m human).
Additionally, what is important is for what purposes you allow me to process your data. And the only purpose for this LinkedIn data is to verify your company name, job title, and location. Once that is done, the data gets removed or disassociated from your account, which means that it can no longer be meaningfully processed (anonymized), and since I don’t have your permission to do any other types of processing—I won’t.
EDIT: So what is anonymous are the salary numbers—and that is what I’m talking about on the landing page.
No, I don't want to use a password manager.
Now, I’m including most special characters, so it should work.
PS: Also, the pre-flight validation now includes special character check too, so you can see the validity real-time instead of after you submit. (This check was not originally included on the client-side, only on the server).
IMO this is not production ready.
I’ve used best industry practices for such web apps, and I’m curious what do you think these concerns are!
I also detest these popups and "usual" customization pages.
If you think I can improve it even more, please tell me! :)
If you are the Director of AI/Machine learning (or CFO or whatever) at some company there are probably only you or you and one other person that ever had that job. By providing the salary you are outing yourself anyway and risking some sort of action against you. Anyone looking to move into these good jobs has no use for the site either.
This is the real problem glassdoor had/has and why it will eventually disappear or become nothing but ads or headhunter style site.
All you have to do is ask someone how long they've been here, take the lowest number of the salary range for their position then multiply that by 1.02 or 1.03% for each year they've been here and you've got a pretty good idea of what they make.
Each step up the ladder is a set % too so even if someone gets a higher position (when one rarely opens up, usually when someone quits) you still know about what they are making.
And my parent company employs what, like half a million people... nearly all of which have similar pay brackets.
Many variables affects the data; age, location, experience, availability, opportunity etc. therefore your data starts to look more like a range, rather than just a number.
In the past, for the same role, company a will only pay this much, whereas company b is willing to negotiate; this is changing.
The problem has already been partially solved. Two companies comes to mind; one stands out by far imo.
All the best and thanks for making this.
Btw, demo redirects to a heroku app domain, is this intended?
Also, it doesn't seem to accept EUR as a currency.
IE: Client side : `$('#currency').value = "EUR";`
About currency: It works, when you type the currency, you need to select the entry from the auto-complete. I’m thinking about making it select the currency automatically if only one option matches.
I have coded my own cookie banner and didn’t use any of the existing tools out there. That’s why I’m surprised if something is blocking it, but there was already another comment about the same as well.
This is to be honest, weird thing for adblocker to do—to block legitimate cookie banner.
And yes, website is not going to work until the required cookie is accepted (my backend rejects requests when they don’t specify that the necessary cookie consent was given).
Do you use some third party script or something?
Maybe pi-hole doesn’t like "cookie-banner" class/id of the cookie banner component?
EDIT: there are some default landen.co scripts (for landing page only), but they are fairly standard and shouldn’t be invasive for some extensions to block them…
Then the password requirements are strong because it is used for encryption of your critical private data in the system. The same reason is why you need to login with your account ID (email) and password.
I deleted my LinkedIn account years ago and never looked back. They're shady as all hell.
Maybe an app where you scan some QR code, that somebody randomly puts in your break room or so...
What do you think should this QR code lead to?
Salary information of one particular person (that put the QR code in the room)? Or salaries of group of people who work there?
Per GDRP, you are not required to consent if you only use essential cookies.
> Strictly necessary cookies — These cookies are essential for you to browse the website and use its features, such as accessing secure areas of the site. Cookies that allow web shops to hold your items in your cart while you are shopping online are an example of strictly necessary cookies. These cookies will generally be first-party session cookies. While it is not required to obtain consent for these cookies, what they do and why they are necessary should be explained to the user. https://gdpr.eu/cookies/
Nice that you explain (GDPR site recommends that), however preventing interaction with site (and generating confisuion as we see in commenets) is overkill IMO.
On the other hand, I wanted to be super-transparent with my users.
Because, I still see a lot of websites out there having "necessary" cookies, and website works without accepting the popup, and users unknowingly accept "by default" a lot of third-party tracking cookies, which makes me sad :(
Companies are anything but not about equality, playing fair or being nice to employees. Paying your staff different salaries is crucial and key to run a stable organization. Most won't get why different salaries on the same level create a stable organization, it's complex and would need an extensive/scientific article.
An organization's owner's goal is not to make the individual one happy but rather keeping the entire org on a good track. This involves keeping salaries inequal. Maybe some of you have an educated guess on why inequality creates downright stability.
2) Every day I read about another database with x million user accounts ending up on the open web. What could possibly go wrong here?
Hence the concern over the security of it overall.
Where was that?
As to your personal freedom to make light of an industry that commercialises the destruction of young lives, I have no interest in that discussion so I refrain from commenting.
Where are such jokes? How even is that topic here?
I’m confused.
never heard such bullshit before lmao
It seems to be a rather meak attempt at collective bargaining without the resolve to collectively organize, and I don't see it working out well for anyone involved.
People have different negotiating skills and different level of information about job market.
Knowing how much other people get paid for the same job can be an incentive to renegotiate one's salary or change an employer. Removing part of information asymmetry allows to sell your work for the money closer to its real market price.