I know what you are thinking. Engineers don't need salespeople because truly great software will sell itself and the only thing sales people are good at is wining and dining management in order to push unwanted products onto unsuspecting users and running off with their cash.
I used to think that as well until I experienced the benefits of good salespeople first hand. It turns out that salespeople are much better than developers at predicting the future. In fact, successful businesses rely on sales forces to predict the future with a fairly high degree of accuracy.
On the surface this may seem impossible. It would seem that developers have much more control over their own destiny. Whether somebody will be interested in buying a product on a given date or how much they will be interested in buying seems completely random and unpredictable. Similarly, whether there is a sufficiently well performing algorithm to solve a problem and exactly how long it will take to find it, implement it, and verify it also seems completely random and unpredictable.
Read the whole article on CM Crossroads.