David Andersen argues in Why Aren’t Managers Paid More? that “a geek can earn more as a contractor than he or she could make suffering through 10 years of climbing the corporate ladder as a manager.” He suggests that a root cause of Application Development managers not being paid a substantial premium over technical workers is that as an industry technologists (by which I include managers too) look for a technical solution instead of a people or process solution to problems. Similarly, many of these technical solutions are temporary, so companies look for part temporary workforces. For this reason, the market pays a premium to technical ‘guns’ who, typically as contractors, are sufficiently confident in the their technical skill and ability to renew that skill that they will take on the additional risk of a short-term contract.
The decision to use a technology rather than change a process or an organisation often comes from the top. There remains a knee-jerk belief that a technology can save the day even when it does not change the operation of a constraint. Look for example, at Goldratt’s classic example, ERP. This approach especially true of technologists
I note that businesses generally reward business performance far above mere technical performance if that comes with real business responsibility, i.e. if your job is to deliver real value and that happens to be through software development. In my experience, companies normally interpret ‘real value’ as things like revenue increase, profitability improvement, cost reduction or a throughput increase. For instance, delivering a software development project that has an intended benefit of reducing cost is very different from committing to reducing cost, and companies show that difference in the salaries for these two jobs.