I did some IBSYS Fortran on a university computer for an actuarial calculation which got me transferred to the IT department which had just got a Model 50 with 2311s and 256K -- the minimum to run a 7090 emulator. Started in OS/360 PCP. These days still tweaking channel programs to optimise performance.
The microcode came on special stock punchcards which were mounted on swingout gates. One of our programmers on a DOS machine was having trouble with Test and Set; so I wrote some code to exercise the instruction and store the condition codes; then showed the results to our non-IBM hardware engineers who at length agreed that TS was not working correctly. They changed the microcode. The next day JES2 would not run. The dump showed it waiting after a TS. The engineers had swapped microcode cards between the two machines.
Mainframes are not winning new applications because IBM overcharges for classic mainframe workloads. You can run pretty much all the new stuff on much less expensive restricted mainframe processors specialised for Linux, Java, etc which is great for virtualisation.
Banks, governments, insurance companies have strong motivations to migrate their classic applications off and a number of companies are ready to help them. But the heavy duty big stuff is real tough to move.
Though many sneer at mainframes, the fact remains that the most spectacular project failures happen in the new technology arena.