Skip to content

Comment on “What’s your current salary?” is a trap question–Here's how to answer it

Comments

I have found that almost any decently sized company uses some sort of online form as part of the application/interview process.

These forms usually have a current or desired salary field and often has fairly strong validations on it (e.g., must be filled in, must be a number between x and y, no non-numeric characters allowed).

So you either have to fill it in or not submit the application form at all (the rest of which is usually perfectly reasonable), which is not going to impress anyone.

I suppose you could also hack their javascript and take out their validations and hope they don't have server side validations as well. That should impress them :).

edit for sense/grammar

If you're just throwing your resume around and hoping, I think you're better off submitting it to every recruiter you can find. They're professionals at the resume-submission game. But either way if you're in this position you should understand that you're starting at a disadvantage.

For a specific company, you should have an inside connection. Get referred by an employee, get contacted by a recruiter who works specifically with them, or even cold-email an HR/manager. Anything's better than putting your resume in the big pile full of spam.

However you do it, when you get to the point where you're talking with the hiring manager and they like you enough to interview more, they may say "HR needs you to fill out our application here before we can bring you on-site," and then it's OK to do so. You shoot the manager a quick note "I'm not ready to talk salary yet, but the form had some validation on it so I just put in '99,999' don't worry about it; it's just a placeholder". Or you hack the form to submit something funny and that's even better.

I despise these forms and their presence almost always results in my deciding not to submit an application. The best companies I've worked for have either (a) not had these employment history forms at all or (b) asked for them to be filled out in minimal fashion after the offer had already been extended and accepted.

I have stopped applying to companies that require these forms for an initial application submission, but recently I was asked to fill one out after a few email exchanges, a phone interview, and an online coding test.

We were about 2 weeks into the process at this point, and I was interested in the position and they seemed interested in me.

Next step was a technical phone interview, but before doing that they just needed me to fill out a formal application...

In this case, it doesn't matter much as I did not do well on the technical interview (got hit with a tricky algorithm question that I didn't know the trick for).

But it also probably didn't help my case much that I put down a fairly high number in their 'desired salary' field on the form -- basically I put down the top number I thought I could expect them to pay for this position.

Mind posting the algo question? I enjoy solving those :)

It was a variation on Max Subarray, but instead of finding a contiguous max subarray you could (but didn't have to) skip every other number (but cannot skip 2 consecutive numbers).

So for [1, -1, 2, -1, 3, -1] you could take [1, 2, 3], but for [-1, -1, -5, -20, -10, -1, -3] you would end up with [-1, -5, -10, -1]. Input values and ranges are large enough that brute forcing won't work.

Well, the answer for an array of all negative numbers is to choose no elements, or if you must choose one, to choose the maximum single element. But presumably you solve it with the normal algorithm but with one level of look-behind. Something like,

  function maxsum(arr)
    local max2 = function(a, b) if a > b then return a else return b end end
    local max3 =
      function(a, b, c)
        if a > b and a > c then return a
        elseif b > c then return b
        else return c end end
    local best = 0
    local best_here = 0
    local i = 2
    while i <= table.maxn(arr) do
      best_here = max3(0, best_here + arr[i], best_here + arr[i-1])
      best = max2(best, best_here)
      if arr[i] > arr[i-1] then i = i + 2 else i = i + 1 end
    end
    return best
  end

  print(maxsum{1, -1, 2, -2, 3, -3, -4, 4, -5})
Assuming this algorithm is correct (it worked for my couple of test cases), the main trickiness is that you have to skip two elements if you choose the current one, to make sure that you don't double-choose.

My understanding of the challenge (which could have been wrong...) was that you had to use at least one half of the array (every other number).

So if the array was [-1, -2, -3, -4, -5, -6], the 'max sum' would be -9 ([-1, -3, -5]).

I can't think of a non-brute force solution for an extended sequence of negative numbers...

If by half the array you mean your solution must include either the first or second, and either the last or second-to-last, then the problem seems a lot simpler. This ought to work:

  function maxsum(arr)
    local max = function(a, b) if a > b then return a else return b end end
    local best = {arr[1], arr[2]}
    for i = 3, table.maxn(arr) do
      best[i] = max(arr[i] + best[i-1], arr[i] + best[i-2])
    end
    return max(best[table.maxn(best)], best[table.maxn(best)-1])
  end
  
  print(maxsum{-1, -2, -3, -4, -5, -6})
This prints -9, though it's not set up to track which numbers it used. (It wouldn't be hard to modify it to make it do so.) Note that Lua uses one-indexing.

If you're blindly submitting your application to a large company, I think you're doing it wrong.

I don't think I've ever (20 years) applied to a job without either going through a recruiter or an inside source.

The one time I did speak to a company based on a reference, during the HR/internal recruiter phone screen, they asked me did I have any questions

One of the questions I asked was what the salary range they said it depends on experience. I told them my experience is on my resume and we had talked for 30 minutes so they know my experience, so what was the salary range based on my experience?

I told them that we didn't need to waste each other's time with scheduling an in person interview unless they can give me the information. She said she would email me. She did, I told her that was too low. I never heard back.

Just enter your current salary + $30,000. Unfortunately you have to play the game. If they call you for an interview it means they think your are worth that much.

Or they expect you to pad it and plan to negotiate you down. Far easier to just flat out say how much you want.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.