Honestly, companies should pay what the employee is worth, rather than employees agreeing to some artificial number the company pulled out of their ass. If you're a good fit for the role, you should be able to negotiate your salary. You shouldn't be rejecting a job because the salary is too low, you should be rejecting that job because they're looking for a junior programmer and you're a senior programmer.