A developer's hiring process is often broken due to unsound methods such as relying on resumes, crazy percentages of rejection, non-technical screening, and unrepresentative interview tasks. Many good candidates get selected out early due to factors like lack of university experience or previous jobs not fitting the bill. Some companies measure talent directly by giving candidates a task that showcases their skills. This approach is more effective than traditional methods. Developers should know how to find hiring champions within companies, perform parallel job searches, and negotiate salaries effectively. Salary negotiation involves finding out the company's scale through conversation, starting with lower numbers and going higher until reaching an acceptable offer. By taking control of the process and being confident in their worth, developers can optimize for a better outcome.