If you’ve done any reading on salary negotiations you’ve probably come across the advice that the first person to mention salary is the one that loses the negotiation. That isn’t necessarily the right tactic if you ask me.
What’s the problem with waiting as long as possible to discuss salary? Well, it means that you’ll probably have spent hours preparing for and participating in interviews before even knowing whether the contract (or full time position) is going to pay anywhere near what you want. That isn’t to say that you need to settle on a salary before even interviewing, but fairly early on you can ask what the range is. Most hiring managers have a budget and have a salary range defined for any given opening. If your desired salary isn’t in this range, then I say move on.
The only way to find out this range is to ask. Don’t make it the first question you have, but don’t spend too much time before posing the question. I recommend starting off all conversations with the premise that the job WILL pay you what you want. Ask questions, express interest, but just before hanging up with HR, the recruiter, or the hiring manager, casually ask what range has been set aside in the budget for this position.