A good guide, but not an answer to all. Software Engineers are humans, and everyone of them are different. So, if you want to work with Software Engineers well, get to know them first.
This is the point I agree with the most. When I first started working with developers, a person I highly respect said to me that the most important thing you can do when working with anyone in a technical field is to win their respect. You don't have to be an ace at development or engineering yourself. You don't have to know the craft as well as they do, but there are many things you can do to earn your delegate's or colleague's trust and respect.