Be prepared to walk away. If you want $Y find a job that pays $Y. If they don't offer you $Y, go find the next offer.
As long as you know what $Y is, it's that plain and simple.
The hiring manager or recruiter can't help you find $Y. You've got to be prepared ahead of time by using sites like salary.com and glassdoor.com where you can find the national and local averages for your skills and experience. These estimates help you sort out your market value. You also need to know what your personal budget is, what standard of living you seek, and what you truly value.
Do you only value money? Do you value time off? A great manager? Awesome co-workers? The stability of an enterprise? The excitement of a start-up? Does the CEO impress you? What is the estimate cash value of the benefits? Know what you value before you you start looking.
When you evaluate an offer it's real important to compare it. In other words, don't jump at the first offer! Having an offer letter or two in hand is powerful for you and the hiring manager too. And it makes walking away obviously easier.
Above all be truthful with yourself and with your potential employer - and expect the same from them. Do you honestly think that you're going to enjoy working for a company that is deceiving you from day one?
We are fortunate to work in a time where our skills are in incredibly high demand. You, as a job hunter, have more opportunity, advantage, and resources than the vast majority of the work force. You can use this privilege to achieve a happy life and successful career.
Don't know. I expected some insights into how to build and run a business, how to deal with different forces that pull and push on you and your business, how to deal with your psychology when doing all of this, how to understand finance, .... I don't know, I know that I didn't expect to see what I saw in this book.
I find it even more fascinating the techniques we use to make calling libraries of code reliable. When writing your own code in machine code, you can jump around all you like; but when you need to use a compiled library, calling conventions start to matter a lot.