Joke aside, how are people actually getting started in this space? And more importantly, is it "worth it" financially? Is the mainframe skill shortage ("dreaded COBOL"?) a real thing?
Depends on your needs. Do you need near-perfect uptime? Most don't; their products aren't so critical, so they settle for a cheaper option. Do want to run a data center? Most don't; it's so much easier to push code to AWS and let them handle the infrastructure demands.
Startups historically survive because of adaptation and speed. The mainframe may not fit those operational principles, though that's up to a given startup (see below for industries which might benefit the most from a mainframe).
> Is it "worth it" financially?
The System Z series excels at transactions and updating records. Industries which deal extensively with these types of computations are banks, airlines, credit card companies, stock brokers, insurance companies, and certainly others. If you're in one of those lines of business, you probably should look into mainframes. More generally, if you need to maintain system state at all costs, mainframes are probably a good option.
I would not recommend mainframes for heavy, laborous computing loads (scientific computing, rendering boxes, etc.)
> Is the mainframe skill shortage ("dreaded COBOL"?) a real thing?
If a company wants to add a new feature to or fix a bug in a 40 year-old COBOL program, they'll likely have a hard time finding a young programmer, sure. Some older COBOL coders are helping fill the game while they can. Don't forget that the System Z mainframes have a level of backwards compatibility that makes x86 blush; your COBOL program will certainly still run.
I wager most new programs (<15 years) have been written with Java or C++, given z/OS supports more languages than COBOL: https://www.ibm.com/support/knowledgecenter/zosbasics/com.ib...
COBOL is dying, as it would be ridiculous to start a new project in COBOL. But many legacy systems still work, so why change them if they aren't broke?
I've made a comment in the past about IBM mainframes which you also might find informative: https://news.ycombinator.com/item?id=20978305
Let's say I want to focus on developing, maintaining and running the software on mainframes. How do I get "in" and are the skills paid well in comparison to a typical Java/.NET/C++ developer position nowadays?
You touched a bit on dying workforce when you mentioned COBOL. Is that dying workforce a real problem making it financially lucrative for the people willing to learn that stuff? Or is it just a myth?
A google search showed me this page. https://www.ibm.com/case-studies/ibm-academic-initiative-sys...
IBM has quite a few training and certification programs available [1][2][3][4]. (Number four is quite interesting: a yearly competition designed to teach mainframe skills.)
From my understanding, Java development on the mainframe isn't significantly different from standard programming. Much of the heavy lifting happens in the background, and the programmer's focus then becomes learning the ins and outs.
As for compensation:
https://www.glassdoor.com/Salaries/mainframe-developer-salar...
https://www.glassdoor.com/Salaries/software-developer-salary...
Mainframe dev: $74.9k. Software dev: $76.5k. Seems fairly equivalent.
> You touched a bit on dying workforce when you mentioned COBOL. Is that dying workforce a real problem making it financially lucrative for the people willing to learn that stuff? Or is it just a myth?
All good myths rely on elements of truth. :)
Will there be COBOL positions? Sure, for at least 10-20 years. But how do you want to set yourself up for additional growth?
If you invest time to learn traditional blacksmithing techniques, you might find a job at an interactive museum or on some specialized YouTube channel. Nothing wrong with that. Can't say there's lots of growth in that industry, though. The time and effort invested is about preserving the methods of the past. So, are you looking to preserve or create? Either option is perfectly fine, but each presents tradeoffs.
----
Sources:
[1] https://www.ibm.com/certify/
[2] https://www.ibm.com/case-studies/ibm-academic-initiative-sys...