Due to 'keep the educational curriculum up to date', most young programmers are lacking:
* Knowledge of anything besides JAVA, Ruby, Python, Perl, probably C++ or C (or any other language that requires compilation and linking).
* Knowledge of any OS besides Linux and probably Windows and IOS
* Knowledge of any other programming environment than Eclipse and other IDE-environments
* willingness to do 'non-fancy' stuff (the part of business logic that is 'invisible')
* interest on what goes on behind the scenes: System management, system design)
* Discipline required to work in a near 100% uptime environment (so no reboots unless required)
* Discipline required top develop and code systems that will be around for decades (I stead of being 'replaced' every 3 to 5 years).
Of course, this is an exaggeration..
It is not just the financial environment that struggles with this problem. It's very much the same in other environments where is invested in projects that have to last decades. This requires a specific mindset that you can only get when trained and mentored over a number of years.
Management ahs another role in this - they usually have no clue whatsoever what goes on in the data center, and how much the company relies of it - and they are only focusing on the (direct) cost when hardware and software needs to be purchased of developed. Never on the the cost in the long run.
Therefore, you get these problems...