I posted the following to JR on another thread last week. I’m posting it here as a reference.
As an experienced software developer and unix systems & database administrator, it wears me out when people make blanket statements without any intimate knowledge of the operating environment. Alerting management and administrators that a problem exists and expressing the level of its severity is acceptable. Making suggestions is acceptable. Offering help is acceptable. Making blanket statements about what is obviously the problem and how easy it is to fix are unacceptable and unappreciated.
No, it is absolutely not a simple matter to “upload the code” to a “new hosting company.” Software is designed, coded, and configured to run in specific operating environments. Generally speaking, changing operating environments requires configuration changes at multiple places: the network, the hardware, the operating system, the database(s), and the software. It can and usually does require changes to the actual software, meaning how the software is written. Unless the operating environment was specifically designed to be portable across platforms and environments (most aren’t), it probably isn’t easily ported.
Troubleshooting performance issues is also not a simple matter. It is almost always not a matter of “either this or that.” It is almost always a combination of solutions, which means a combination of resources must be examined in multiple combinations at multiple times from multiple perspectives: network, hardware, database, and software. Money is rarely the easy answer. When it is, the IT staff hollers “Yeehaw!” and gets to work, eager to fix the damn thing and be done with the complaints.
I like to sneak up quietly behind coworkers, and yell that, at the top of my lungs.
Keeps people on their toes, and I've only occasionally been shot.