What's ironic about that is if the companies writing the software did a better job, there wouldn't a need for such hardware.
I did some work for a small company here in Michigan because they were having some performance problems. Their specs required that the servers that the software operated against must have 24 core and at least 256GB of RAM and a certain network configuration and certain dual NICs, etc, etc.. The customers wanted the software and so they complied... only to find out that the software still crawled. The small company kept blaming the customers even though the customers had complied with the hardware specs. They reminded the customers that those were the "minimum" specs. The machine they developed the software on was twice as robust and every bit of data was seriously short-haul (the server was just feet away from the developers) and most customers have a "server center" at least yards away.
One of the things their software did would allow the user to setup a dozen or so parameters and then the software would build and populate a table on the server... the code did an INSERT/VALUES for each row of the table... for 225 THOUSAND rows. They just couldn't understand why that would be a problem. Stupid. I showed them how to pass just the dozen parameters to SQL Server and generate the 225 Thousand row table using Cross Joins (which was the equivalent to what they were doing in the app) and got the times down from more than an hour to about a quarter of a second on machines that would be considered an almost substandard desktop box.
The whole reason for the failures of this company was because they didn't have the right kind of training. The really stupid part is that they didn't even realize that they needed training because they were all "experts" on the front end and were positive that they were doing things in the best way possible.
Dear Managers... wake the hell up. Get some training for your people. It'll actually make you look like a hero because the people working for you will be more effective and they might even end up liking you.
Dear people... wake the hell up. You don't know it all even if you're classified as an "expert". If the company isn't training you, train yourself. If you're not learning something new every day, then you're actually getting dumber every day. If you like the company you're working for, you training yourself will make you more valuable to the company and you might even get a raise. If you don't like the company (usually the managers and the culture) you're working for, then the self-training will help you get that next job, which could be your dream job. It's not going to kill you or your private life if you spend a couple of hours a week at home training yourself.
Step 1, which could take several weeks just to start and would then become an ongoing process, is to start finding out what is actually possible and find out what you don't yet know you don't know. The only way to do that is to get involved in some sort of professional community, like this forum, and at least start reading the forum posts and solutions... every week.