COBOL is older than the internet, older than the personal computer, and it still moves trillions of dollars every single day. About 80% of in-person financial transactions touch COBOL somewhere — ATM withdrawals, card payments, bank transfers, insurance claims. If you think old languages are dead, COBOL is the counterexample that will change your mind.
COBOL was created in 1959 to be readable by non-programmers. Its code reads almost like English, which is why a COBOL program looks nothing like Python or Java. A division structure organizes everything: IDENTIFICATION DIVISION names the program, ENVIRONMENT DIVISION describes the machine, DATA DIVISION declares every variable, and PROCEDURE DIVISION does the work.
Here is a tiny COBOL program:
IDENTIFICATION DIVISION. PROGRAM-ID. HELLO-WORLD. PROCEDURE DIVISION. DISPLAY "Hello, COBOL!". STOP RUN. That verbosity is a feature, not a bug. In 1959, the goal was that a business manager could read the code and understand what it did. Sixty years later, banks still value that readability, because their core systems are millions of lines of COBOL that nobody wants to rewrite — and nobody fully understands anymore.
Why does COBOL survive? Because rewriting a bank's core system is one of the riskiest projects in software. The code works, it has been tested by decades of real transactions, and a replacement could introduce bugs that cost billions. So instead of replacing COBOL, banks keep it running on mainframes, and they hire people to maintain it. COBOL developers are in short supply, which means the pay is often surprisingly good.
COBOL is not for everyone. The tooling feels ancient, the community is small, and you will not build a startup with it. The language has no modern package ecosystem, and writing a web API in COBOL is an exercise in patience. But if you want a stable, well-paid niche where your skills are genuinely scarce, COBOL is one of the best-kept secrets in programming.
Start today with one step: install GnuCOBOL, write the Hello program above, then write a program that reads a list of numbers and adds them up — the kind of batch job COBOL was born to do. You will understand in an hour why banks still trust it.

