>>I think that's pathological for managing developers because developers aren't interchangeable.
Actually in most cases we are super easily interchangeable. Java related technologies, that involve interacting with databases and presenting data in some way(HTML etc) is what most business software is out there. Developers working in such domains are pretty easily replaceable. Almost like cogs in a wheel.
Pay is based on title because managers are perceived as decision makers, who direct the overall direction of the company. Maintain business contacts and relationships and are supposed be the one's who replace the cogs in the wheel.
This is really dependent on how much of the "developer" role is developing and how much is software engineering. Are the developers literally taking design documents (UML diagrams, use cases,etc) and just typing in the code or are they actually doing some analysis.
There is also the domain knowledge acquired by the developers over the course of time. I will tell you that I was part of a transition to an outside contracting company for a legacy site. The business knowledge gained and the ability to deliver solutions as a result of that enabled a much faster time to market than these guys could ever provide.
Actually in most cases we are super easily interchangeable. Java related technologies, that involve interacting with databases and presenting data in some way(HTML etc) is what most business software is out there. Developers working in such domains are pretty easily replaceable. Almost like cogs in a wheel.
Pay is based on title because managers are perceived as decision makers, who direct the overall direction of the company. Maintain business contacts and relationships and are supposed be the one's who replace the cogs in the wheel.