Year to date (Feb 21 2011), I have measured 32 hours that I wait for my compiler. Admittedly, a portion of this time is when I hit 'build all' and go to lunch - but I believe the majority of that time does serve to lower my productivity.<p>If cash flow is not a problem, should developers be given free reign over their workstation purchases? Has such a policy ever been a problem at a successful software company?<p>I know from benchmarks that my compile times could be halved on a new $2000 PC, and I also know our company is not cash strapped, so it irks me every time I have to wait for the next fiscal year (April) to roll around so that my new machine can 'fit into the budget'. Am I alone?
If it's a small company with a small number of developers then you could argue that the benefits of being able to spec and manage your own workstation outway potential drawbacks.<p>There are however two significant problems with this approach:<p>Having centralised hardware means that repairs take a minimal amount of time - you're not going to keep stock of different types of PCI, PCI-e hardware, 5 different graphics cards or 4 different types of DIMM.<p>Having the developer handle the purchasing relationship reduces the opportunity for discounts (as well as control of software on the network). Margins on hardware are generally razor thin but having 8 different support contracts with 6 different suppliers is a potential logistical nightmare for a company. Even worse, if IT holds the relationship then that's 6 different suppliers for the same class of item that the relationship needs to be maintained with. The extra time used for that is time that could be spent supporting IT.<p>I realise your problem, but your problem is not that your computer is slow, it's that your compilation isn't distributed.
No, you're not alone at all. Even though there's something to be said for test machines that replicate a number of hardware configurations you expect your software to run on in the field, I don't think that outweighs the loss of productivity long compiles and other avoidable problems cause.