I usually assume that the suits are usually normal people and good programmers are usually smart people. That doesn't mean that what a smart person says will be listened.
You have to see the world like them, think like them and, especially, talk like them. You have to understand their incentives in the company. Etc. If you don't make clear for them why your proposal is beneficial (to them, not to the company), then you lose.
"If you don't make clear for them why your proposal is beneficial (to them, not to the company), then you lose."
Fair point - basic human nature - but then people need to stop saying "you (developer) don't understand the business needs or the company's needs". I understand them quite well. If "the company" continues to employ people who need constant ego stroking every 5 minutes, then they'll continue to bounce along, and I'll go sell my skills to one of their competitors who is more open to input from all levels (to the extent any of those exist in that industry!) :)
Well, companies' needs and suits' needs intersect at some point. You have to be smart enough to see that intersection and to propose things that look good on both sides.
You have to see the world like them, think like them and, especially, talk like them. You have to understand their incentives in the company. Etc. If you don't make clear for them why your proposal is beneficial (to them, not to the company), then you lose.