And while you're pooh-poohing 'wasted effort' in bare-metal computing ask yourself what proportion of 'programmer-man-hours' (rough term) end up being wasted at high-level modern day systems? And for those that are implemented that don't cause grief, how long do they last? Of course some pootle on quietly for a very long time, but many never hit the mainstream or if they do for a short while until revision or abandonment.
People don't have to be compartmentalised but often they will find their niche and want to stay there. ( To read the detail see http://vulpeculox.net/treems/LRC.pdf )
You can imagine the conflict when the sales people are desperate to have something they can demonstrate but the engineers don't want to release something that is buggy and not ready yet.
Possible answer part 1 Get the sales bods to talk to buyers and let techie speak unto techie. Each will be experienced and effective communicators in their roles. Obviously this requires team work - perhaps you should 'assign a techie to a sales bod' and see if they can work out how to complement each other.
Possible answer part 2 Pay sales people for getting the business and techies for delivering. If both understand their interdependence then they may work together.
When you're remote everyone needs to feel valuable, cared for by the organisation and spared annoyances.
Also, once you have a lot of devs around they may take the 'application' to 'other places'. I'm thinking that word processing has only really ever addressed the 'front-end' of documents when there is a huge need for the back-end document management (what we old-timers once called office automation).
"It's the best thing since professional golfers on 'ludes." -- Rick Obidiah