| Companies are willing to pay big money to developers, however they issue crappy laptops as development machines. Laptops are designed for mobility, not for performance. Sure, you can use a dock and plug a keyboard and external monitor(s), but a Core i5 laptop with 16GB of ram running at 1.6GHz won't cut it as a dev machine. I would imagine that companies would want to provide the best tools for their developers so that they can be happy and productive. What is the rationale for companies to do this kind of short-sighted thing? |
Since that's impossible, we simulate this by a network of nodes (humans) linked using a very low bandwidth communications channel (speech and it's representations). Each node has finite capacity and can only bear in mind a certain number of considerations. There are a number of well known failure modes. For example:
One node is delegated a decision affecting matters they don't understand (HR person has to buy computers for Devs)
To render the financial situation comprehensible to central nodes, it is simplified by binning costs into budgets. For example, HR budget pays for laptops, engineering budget pays Dev salaries. Decisions are made to optimize each budget separately, so HR budget is optimised by buying cheap laptops, without reference to the fact that this makes engineering less efficient.