Hacker News new | ask | show | jobs
by codegeek 1953 days ago
I prefer ranges. Not all candidates are same even for the same job. If I hire an A player, I may give them a bit more to sweeten the deal. If I hire a B player (who is good enough for the role but is not an A player so far), I would negotiate the compensation a little early on as long as it is something the candidate B accepts.

Range gives you the floor (if they are honest). Let's say the range is 65k-85K, then its fair game to say that the best candidate may get 85K but a good enough may only get 65K or say 70K. Also as a candidate if you are looking for 100K min, you know this position is not for you.

2 comments

What I don't like about this is that people really aren't A players or B players in practice. It's not a video game, real life is messy. In some situations, a B player can be an A player, and vice versa. Past performance does not indicate future results, and in my experience usually the best worker is the one who has simply been given a chance and the freedom to self optimize their job for some months, and rarely are they the most qualified applicant. No one is good at their job on day one nor should they be expected to be.

There are too many confounding variables involved with the very abstract concept of 'work effort,' for it to be reliably used. Instead, set a price for the role, and if someone is exceeding their anticipated productivity and putting more work on their back, give them a raise.

I think if you're at the level of A or B player, then you're already at the top of the field. There's a lot more letters in the alphabet, and a lot more difference in experience that people can have.

My company for example will hire F players. We'll even hire G or H players too. Those are the roles that we are actually hiring for when we open up an entry level job. However if a C player comes along, naive and fresh out of a masters program, we'll also snap them up and pay an absolutely exorbitant rate compared to the normal salary range for their position because we want them to stay for at least 5 years. In 5 years, if they improve they'll be A or B players and we'll bump them into Director level roles in the hope that they will stay due to the responsibility and freedom the role offers even though we can't pay Google-level salaries.

Having a posted initial salary will just scare off a candidate who is unnaturally good versus the rest of the local market.

Disclaimer:

I like to think I am/was a solid C rated developer. If you are an A player, I bow to your wisdom. I have never applied to FAANG. I know I wouldn't make even the phone cut.

I’ve never understood this logic, can’t you just create different roles?
What if the candidate applies to the wrong one, but would be suitable for a different one. At that point it's not much different to just having a range on their in the first place.
it's completely different - Google for example will down level you based on performance. if you have candidates that have the same job with wildly different salaries which just exacerbates arbitrary inequities. the range solution also creates problems when handling promotions

the one who benefits the most from the "range" solution is the employer, really.

> if you have candidates that have the same job with wildly different salaries

How do you classify something as the same job versus a different job though? Two developers may have roughly similar responsibilities but one may be much better than the other. And it would be reasonable to pay them more in those circumstances, but it's very hard to quantify that objectively.

Also, Google is a huge company so they can advertise 5 jobs at different levels and fill them all. Whereas smaller companies may want someone and not be too sure about what level they need: it may depend more on who they can get. They can't afford to be too picky.