¿Cuáles son las diferencias entre el desarrollo de mainframes y el desarrollo de software?

El desarrollo de mainframe es el desarrollo de software, en un sistema operativo único, utilizando herramientas y lenguajes obsoletos. Un desarrollador de mainframe debe saber más que un lenguaje de programación, debe conocer las herramientas de mainframe que se enumeran a continuación y sentirse cómodo trabajando en la cultura del mainframe. La regla número uno en la cultura del mainframe es no mencionar nunca nada inventado después de 1985. Los mainframers se sienten justificadamente amenazados por los ordenadores modernos y los conceptos de software. No hay habilidades transferibles entre los mainframes y otros ordenadores, excepto SQL.

Las habilidades requeridas son:
COBOL. El principal lenguaje de programación de los mainframes. Compila a lenguaje de máquina. Hay mucho énfasis en los estándares de la tienda que limitan el estilo de programación. Por ejemplo, no se permite el uso de typedef, prototipos de funciones y funciones incrustadas. Incluso mencionar características OO es una ofensa de despido.
CICS. Como un segundo sistema operativo para aplicaciones en tiempo real. Hay que conocer la elaborada API que es muy utilizada por las aplicaciones. Las pantallas son de texto, no hay GUI.
DB2 y Oracle. Bases de datos SQL. Los procedimientos almacenados se utilizan a menudo.
ISPF. Código fuente y editor de texto. Fácil de aprender.
JCL. Lenguaje de scripting. Muy poca capacidad. Fácil de aprender.
TSO. Colector de entrada y salida.
z/OS. El sistema operativo del mainframe. Anteriormente conocido como MVS.

Capacidades auxiliares:
Gestión de cambios. Terceras partes. Capacidad primitiva; básicamente una caja de seguridad. No hay desarrollo concurrente, ni fusión, ni ramas.
Debugger. De terceros. Muchas tiendas sólo tienen Abend-AID, un analizador de volcado de memoria. La depuración se realiza con declaraciones de visualización incrustadas en el código fuente.
C. Lenguaje de programación utilizado a regañadientes, pero nunca C++ o Java.
IMS. Una horrible base de datos anterior a SQL. No acepte el trabajo si se menciona IMS.
z/VSE. El MS-DOS de los sistemas operativos de los mainframes. No acepte el trabajo.