How to Criticize Computer Scientists (2001)
As an engineer supporting researchers I ran into a peculiar problem.  If I suggested an idea they often HAD to ignore it, because they couldn't claim it as their own.  Especially the grad students who were trying to get a PhD by coming up with a unique idea of their own, but also the profs because it would be an admission that they "the experts" didn't understand what they were doing.  So I had to lead them to come round to a perspective so they could think it was their own idea and hence be comfortable adopting it.  A lot of time was wasted and ideas thrown away before I figured this out.Also, if you are ever involved in academic research and you hear the words "that's just engineering" be very wary.  It's a strong indicator that 1) the idea is not practical 2) they don't understand what they are doing. 3) you are going to have to make it work, often as an unacknowledged side project "that should only take a few days".  I often spent years figuring out these "that's just engineering" side projects.  Even worse, we'd build a "proof of concept" that ignored all the engineering, and then try to get other researchers or companies interested in the system as though it was complete.Yet another thing I discovered is that for engineers one of the most important words they use in discussions is "no".  Listen to two engineers discuss a problem and almost every other sentence will start with "no", "no that won't work because..."  It's an important part of how they figure out how to make things work, by figuring out what does not work.  CS researchers take it as an insult however, as in "no, you're an idiot and here's why".  Perhaps because lead researchers are treated as infallible by their grad students they get the idea they can't be wrong, so they are not used to being contradicted.  It's a huge problem in getting anything done.  It can take months or years and a lot of wasted work to lead them around the circular path back to the original bad decision and try to get them to reconsider it (they are often very proud of it which makes it even more difficult).  Saying "no" is somewhat like the mindset that is necessary for computer security work, you have to be able to attack systems or ideas from a ferocious point of view, seeking any weakness, without feeling that attacks on ideas are attacks on you.  It's one of the most productive parts of discussion and is not taught directly, only by example and many CS researchers are so intent on building their reputations they will not tolerate it and are highly insulted by it and will defend their ideas to the point of absurdity.  Framing a contradiction as a question helps here somewhat, though you still have to be careful in framing the question so it only leads to the contradiction rather than stating it outright.