Days ago, I read a post that said something like this:
There's a lot of mainframe developers that are currently out of a job because they refused to look ahead. [...] now, many of them are scrambling to catch up on 30 years of technology.
Well, I never worked with mainframes myself but that sounded dubious. I had contact with mainframe developers, they did not seem in low demand at all. What happens is, the dynamics of the mainframe environment is surprising for most of us new developers.
Sectors such as government, banking and telecommunications still have a large infrastructure based on these machines. Those systems are decades old and work quite well until today. Sunsetting them is really expensive and, in general, they do not cause problems. For this reason, many organizations have no plans to migrate them to other platforms. As a consequence, there is always someone hiring programmers for these platforms.
85% of our typical daily transactions such as ATM withdrawals and credit card payments still go through mainframe systems. (Source)
In fact, these positions tend to compensate well. There are few mainframe developers for a steady demand. With many of them retiring, the demand can even get higher. In fact, the labor costs used to be one of the reasons to move out of mainframes.
Experienced COBOL programmers can earn more than $100 an hour when they get called in to patch up glitches, rewrite coding manuals or make new systems work with old. (Source)
Anyway, these platforms did not stagnate. IBM just released a new machine some time ago. Neither are they an exclusive choice: most often than not, these systems pair with newer technologies. My bank Android app, for example, consumes data that come from mainframes through many gateways. Or see this amazing story of integrating some old systems with new tech.
Because a mainframe offers reliable performance and strict security, it is often the on-premise component of a hybrid cloud environment that processes and stores an organization’s most sensitive data. (Source)
What make mainframes less common is, I believe, their price. Their cost has a good reason: A mainframe can be as powerful as a cloud data center — indeed, some are cloud data centers. However, most companies do not start with enough money, or even the need, for such power. For many of us, it is more cost-effective to start with inexpensive platforms and grow them into distributed systems.
Of course, there are concerns in this ecosystem. The best developers are retiring. Also, much of that code is hard to maintain, made before we even knew much about software engineering.
The mainframe boxes themselves are not aging. In fact they outcompete Microsoft and Linux on features like performance, scalability, security, and reliability. It’s not the machines but applications and programmers that are aging. (Source)
The most experienced ones, however, agree: the solution is not merely rewrite it all. There are communities that bring new blood to this market. It is also possible to bring agility and good quality to old applications — given a organizational culture shift. Indeed, refactoring these applications is necessary even if you want to move off the mainframes.
It sounds weird for us because we do not follow this career path. Yet, the mainframe market is very much alive.