I just landed a software engineering job after not having a proper interview in about fourteen years. Having been on the hiring side of the interview table quite a bit over the last few years, I have seen first hand what trips up most candidates. It is mainly that they cannot articulate the technical details of the projects they have worked on. Knowing this, I spent about three days going over every major project I have worked on in the past 15 years and wrote down on paper exactly how I would talk about them. This included doing research and filling in the gaps in terms of certain pieces of the tech stack I was not very familiar with. You don't want to be in a situation where you are frequently saying "I don't know, I didn't work on the part". After I had everything written down, I memorized it. Of course I also looked up frequently asked interview questions and the like. In terms of salary negotiation, rather than saying an exact number I needed, I would say "I am looking for senior software engineer market rate for our metro area". They would push for specifics and then I would say "somewhere between $110 - $140k as this is what I have communicated to other prospects and I expect offers to fall within this range". So what I did here was not limit myself to a specific number but instead let the employer know the type of offers they would be competing against. Unfortunately, I did not have multiple good offers come in at once, otherwise I think I could have negotiated for even more at my final choice, though the offer I accepted was within my range.