Negotiation is stressful, a waste of time and not interesting at all for many software developers. It would just be better for the public good for no salary negotiations to take place, because people would worry less about being underpaid. Less stress is almost always good for work productivity. And there will be more justice.
Just have clear salary guidelines for every engineer level. Levels would be public and so would be salaries, bonuse, stock grants and performance reviews.