☕ Um Café no Bellacosa Mainframe
Gostou do conteúdo? Ajude a manter o café quente, o COBOL compilando e o mainframe acordado. 😄
☕ Pague um café ao Bellacosa

Translate

Mostrar mensagens com a etiqueta Badges. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta Badges. Mostrar todas as mensagens

domingo, 16 de agosto de 2026

O Guia do Mochileiro das Galáxias para a Crise de Skills no IBM Z

 

Bellacosa Mainframe e a crise dos skills no mundo ibm z

☕ Um Café no Bellacosa Mainframe

O Guia do Mochileiro das Galáxias para a Crise de Skills no IBM Z

🚀 Como um programador COBOL iniciante pode sobreviver a badges, cursos de 15 semanas, veteranos de 40 anos, abends inexplicáveis e à perturbadora descoberta de que MAXCC=0 não significa que você entendeu alguma coisa

NÃO ENTRE EM PÂNICO.
Especialmente se alguém disser que você virou especialista em mainframe depois de quinze semanas.

Existe, em algum lugar do universo corporativo, provavelmente em uma sala com carpete cinza, café requentado e uma televisão exibindo dashboards coloridos, uma pessoa extremamente satisfeita porque um gráfico ficou verde.

O gráfico provavelmente se chama:

IBM Z SKILLS PIPELINE — STATUS: HEALTHY

Ao lado dele há números impressionantes:

2.437 estudantes treinados
1.982 badges emitidos
784 laboratórios concluídos
97% satisfaction score
42 parceiros
15 semanas

Todos aplaudem.

Alguém tira uma fotografia.

Um executivo diz:

— Excelente! Resolvemos o problema de skills.

Nesse exato momento, a aproximadamente 37 metros dali, um especialista de Db2 com 31 anos de experiência está preenchendo sua documentação de aposentadoria.

Ninguém percebe.

Ele sabe por que determinada subsystem parameter foi alterada em 2004.

Ninguém mais sabe.

Ele lembra por que um batch aparentemente absurdo precisa executar antes das 04:17.

Ninguém documentou.

Ele sabe que existe um programa COBOL compilado em uma determinada opção porque, sem ela, um arquivo produzido por um sistema comprado em 1998 gera um problema extremamente específico que só aparece em fevereiro, em anos bissextos, quando o processamento acontece depois de uma determinada janela.

O programa chama-se:

XPTO047B

Naturalmente.

E assim começa a nossa aventura.

Porque a crise de habilidades do mainframe não é simplesmente uma crise de gente.

É uma crise de continuidade de conhecimento.

E se você é um programador COBOL iniciante entrando agora nesse universo, tenho duas notícias.

A primeira é ótima:

Nunca houve tanto material para aprender mainframe.

A segunda é ligeiramente perturbadora:

Aprender material não significa aprender mainframe.

Pegue sua toalha.

Vamos conversar sobre isso.



🧭 Capítulo 1 — Você não precisa saber IBM Z para começar IBM Z

Comecemos eliminando uma bobagem imediatamente.

Existem pessoas que ficam indignadas quando aparece um curso anunciando:

No previous IBM Z experience required.

Isso, por si só, não é um problema.

Na realidade, é excelente.

Se para aprender mainframe fosse necessário já conhecer mainframe, teríamos criado um paradoxo digno de um departamento burocrático intergaláctico:

Para conseguir experiência:
    você precisa trabalhar com mainframe.

Para trabalhar com mainframe:
    você precisa ter experiência com mainframe.

Resultado:

RC=12
REASON=HUMAN_RESOURCE_NOT_FOUND

Todo ecossistema precisa de portas de entrada.

Precisamos de universidades.

Precisamos de cursos.

Precisamos de bootcamps.

Precisamos de laboratórios.

Precisamos de vídeos.

Precisamos de badges.

Precisamos de ambientes educacionais.

Precisamos até daquele sujeito no YouTube que grava um tutorial às três da manhã explicando JCL enquanto um gato atravessa o teclado.

Tudo isso é valioso.

O problema surge quando confundimos:

porta de entrada

com

linha de chegada.

Um curso de 15 semanas pode apresentar você ao IBM Z.

Ele pode ensinar conceitos fundamentais.

Pode fazer você executar JCL.

Pode mostrar COBOL.

Pode apresentar Db2.

Pode colocar você diante de CICS.

Pode ensinar conceitos de RACF.

Pode fazer você entender datasets, JES, TSO, ISPF e talvez z/OSMF.

Fantástico.

Mas quinze semanas não transformam automaticamente alguém em especialista.

Da mesma forma que quinze semanas de aulas de medicina não transformam alguém em neurocirurgião.

Você pode aprender onde fica o cérebro.

Isso já ajuda bastante.

Mas eu não entregaria imediatamente uma furadeira.



🪪 Capítulo 2 — O Badge não é seu inimigo

Existe uma tendência divertida em tecnologia de atacar badges como se pequenos arquivos PNG fossem responsáveis pela decadência da civilização ocidental.

Eles não são.

Um badge é simplesmente um marcador.

Ele pode dizer:

Esta pessoa concluiu determinada formação.

Perfeito.

O problema aparece quando alguém interpreta:

Esta pessoa concluiu determinada formação.

como:

Esta pessoa domina profundamente a tecnologia.

A diferença é gigantesca.

Para um programador COBOL iniciante, eu gosto de imaginar cinco níveis.

Nível 1 — Exposure

Você já ouviu falar das coisas.

Sabe que:

JCL não é COBOL.
Db2 não é VSAM.
CICS não é um banco de dados.
RACF não é antivírus.
JES2 não é Jesus 2.0.

O último esclarecimento evita algumas reuniões constrangedoras.


Nível 2 — Literacy

Agora você consegue explicar aproximadamente como as coisas se relacionam.

Você entende que um programa COBOL batch pode:

  • receber arquivos;

  • acessar Db2;

  • executar dentro de um JOB;

  • produzir datasets;

  • ser controlado por JCL;

  • retornar códigos;

  • gerar dumps;

  • participar de uma cadeia de processamento.

Você começa a montar o mapa mental.


Nível 3 — Competence

Agora consegue fazer trabalho real.

Você recebe um programa COBOL.

Identifica um problema.

Compila.

Executa.

Interpreta resultados.

Corrige erros.

Entende alguns abends.

Analisa JCL.

Usa ferramentas.

Sabe que mexer em produção sem compreender impacto pode resultar em pessoas pronunciando seu nome em reuniões onde você não foi convidado.


Nível 4 — Proficiency

Você começa a trabalhar independentemente.

Recebe problemas menos estruturados.

Não existe tutorial dizendo exatamente o que fazer.

Você encontra caminhos.

Começa a correlacionar sintomas.


Nível 5 — Mastery

Aqui a brincadeira muda.

Você consegue lidar com problemas que não estavam no treinamento.

Essa é uma definição extremamente importante.

Um especialista não é simplesmente quem sabe responder perguntas conhecidas.

É quem consegue raciocinar quando a pergunta é nova.


🧠 Capítulo 3 — O verdadeiro patrimônio do mainframe não está no DASD

Está dentro da cabeça das pessoas.

Chamamos isso de:

conhecimento tácito.

Conhecimento explícito é relativamente fácil de registrar:

Comando X faz Y.
Parâmetro Z controla W.
Arquivo possui LRECL 100.

Conhecimento tácito é diferente.

É quando o especialista olha para determinada situação e diz:

— Isso está estranho.

Você pergunta:

— Por quê?

Ele responde:

— Não sei ainda.

Isso parece pouco científico.

Mas geralmente significa:

Meu cérebro comparou essa situação com aproximadamente 27 anos de incidentes, padrões, falhas, mudanças, madrugadas, dumps e decisões e encontrou alguma discrepância ainda não verbalizada.

Esse tipo de percepção não aparece instantaneamente.

É acumulada.

Considere dois programadores.

Programador A terminou um curso sobre CICS.

Programador B trabalha com CICS há vinte anos.

Ambos sabem que existe:

EXEC CICS LINK

Mas o segundo talvez tenha vivenciado:

  • problemas de storage;

  • loops;

  • short-on-storage;

  • runaway tasks;

  • deadlocks;

  • transaction dumps;

  • problemas de terminal;

  • mudanças de region;

  • falhas em integração;

  • incidentes envolvendo Db2;

  • problemas de performance;

  • erros provocados por parâmetros aparentemente inocentes.

O conhecimento não é apenas:

“Como funciona CICS?”

É também:

“Como CICS costuma falhar de maneiras que parecem ser outra coisa?”

Essa segunda categoria vale ouro.



🏺 Capítulo 4 — Arqueologia orientada a produção

Em sistemas antigos existe uma disciplina raramente ensinada nas universidades.

Ela se chama:

Arqueologia de Software

Você encontra:

       IF WS-FLAG = 'Y'
           MOVE 'N' TO WS-FLAG
           PERFORM 9000-TRATAMENTO-ESPECIAL.

Você pergunta:

— Por que isso existe?

Ninguém sabe.

O Git não possui histórico porque o programa nasceu antes do Git.

Talvez antes do Linux.

Talvez antes de alguns membros da equipe.

O comentário diz:

* ALTERACAO 12/08/1996 - JORGE

Jorge desapareceu da empresa em 2003.

Ninguém sabe onde Jorge está.

Talvez Jorge esteja pescando.

Talvez Jorge esteja em Portugal.

Talvez Jorge tenha transcendido e virado uma entidade puramente energética.

Mas aquele IF continua executando três milhões de vezes por dia.

O desenvolvedor moderno então pensa:

Código morto.

Remove.

Compila.

Teste passa.

Produção recebe.

Às 03:11 ocorre algo que não acontecia desde 1997.

Parabéns.

Você acabou de descobrir por que Jorge escreveu aquilo.

Esse é um dos motivos pelos quais veteranos são tão valiosos.

Eles frequentemente carregam o contexto histórico do código.


💳 Capítulo 5 — Technical Debt ganhou um primo: Knowledge Debt

Você provavelmente já ouviu falar de Technical Debt.

É quando fazemos escolhas que criam custo futuro.

Existe outra dívida silenciosa:

Knowledge Debt

Ela acontece quando uma organização depende de conhecimento que não está sendo transferido.

Exemplo.

Maria trabalha com Db2 há 28 anos.

Ela conhece profundamente:

performance
utilities
locking
bind
packages
statistics
reorg
recovery
SQL

Todos sabem que Maria sabe.

Então ninguém se preocupa.

Maria resolve problemas.

Maria responde mensagens.

Maria entra nas bridges.

Maria salva a madrugada.

Excelente.

Até o dia em que Maria anuncia:

Vou me aposentar.

Repentinamente surge um PowerPoint:

KNOWLEDGE TRANSFER PLAN

Slide 1:

Duration: 3 weeks

Naturalmente.

Porque obviamente 28 anos podem ser compactados em três semanas através da misteriosa tecnologia conhecida como Microsoft Teams.

Isso é Knowledge Debt vencendo.


🧑‍🏫 Capítulo 6 — Apprenticeship: a tecnologia revolucionária inventada há milhares de anos

Existe uma abordagem surpreendentemente eficiente para formar pessoas.

Coloque alguém menos experiente próximo de alguém experiente.

Deixe trabalhar juntos.

Parece radical.

Antigamente chamávamos isso de:

aprendizagem.

No mundo moderno poderíamos chamar:

Human Knowledge Replication Framework 2.0

e cobrar consultoria.

O processo saudável costuma parecer assim:

OBSERVAR
   ↓
EXECUTAR COM AJUDA
   ↓
EXECUTAR SOZINHO
   ↓
RESOLVER PROBLEMAS
   ↓
TOMAR DECISÕES
   ↓
ENSINAR OUTROS

Observe a última etapa.

Ensinar é importantíssimo.

Quando você consegue ensinar alguém, precisa organizar mentalmente aquilo que sabe.

É por isso que recomendo que programadores iniciantes criem pequenos registros.

Pode ser:

  • blog;

  • notas;

  • Markdown;

  • Git;

  • wiki;

  • caderno;

  • Obsidian;

  • arquivos pessoais.

Depois de resolver um problema, escreva:

O que aconteceu?

O que pensei inicialmente?

O que estava errado?

Como diagnostiquei?

Qual era a causa?

O que faria diferente?

Depois de alguns anos isso vira seu próprio Knowledge Vault.


🧪 Capítulo 7 — O laboratório perfeito não deve funcionar

Isso mesmo.

Se você está aprendendo mainframe, laboratórios onde tudo funciona são úteis apenas até certo ponto.

O verdadeiro aprendizado começa quando alguma coisa quebra.

Um ótimo laboratório deveria dizer:

Aqui está o JOB.

Ele não funciona.

Descubra por quê.

Talvez exista:

DISP incorreto

Talvez:

LRECL incompatível

Talvez:

dataset inexistente

Talvez:

SQLCODE -805

Talvez:

S0C7

Talvez:

AEI9

Talvez seja apenas uma vírgula.

Essa última opção costuma causar mais sofrimento.

O objetivo é criar musculatura diagnóstica.


🩺 Capítulo 8 — House M.D. entra no CPD

Imagine o Dr. House analisando um incidente COBOL.

Operações diz:

— O batch falhou.

House:

— Isso é um sintoma.

Desenvolvimento:

— O programa deu S0C7.

House:

— Outro sintoma.

Gerente:

— Ontem funcionava.

House:

— Impressionante. Ontem também não é hoje.

Então começa o diagnóstico.

A pergunta errada é:

Como elimino o S0C7?

A pergunta correta é:

O que fez o programa interpretar esses bytes como número?

Pode ser:

PIC incorreta

Pode ser arquivo errado.

Pode ser layout diferente.

Pode ser REDEFINES.

Pode ser campo não inicializado.

Pode ser alteração upstream.

Pode ser dados corrompidos.

Pode ser compilação diferente.

O especialista pensa em cadeia causal.

Essa é a diferença entre aprender mensagens e aprender sistemas.


🌌 Capítulo 9 — Systems Thinking: a habilidade secreta

Mainframe ensina uma coisa muito importante:

Nada acontece sozinho.

Programa COBOL pode depender de:

JCL
 ↓
PROC
 ↓
dataset
 ↓
catalog
 ↓
SMS
 ↓
Db2
 ↓
CICS
 ↓
MQ
 ↓
RACF
 ↓
network
 ↓
WLM
 ↓
storage

Um erro aparece no COBOL.

A causa pode estar cinco camadas atrás.

Essa capacidade de pensar em relações é o que chamamos de systems thinking.

Comece a praticar isso imediatamente.

Sempre pergunte:

O que chama isso?

O que isso chama?

Quais dados entram?

Quem produz esses dados?

Quem consome a saída?

Quais configurações externas influenciam?

O que mudou recentemente?

Essas perguntas valem mais do que decorar cem mensagens de erro.


🪜 Capítulo 10 — O caminho real para quem está começando

Se eu estivesse começando COBOL hoje, montaria esta progressão.

Etapa 1 — COBOL puro

Aprenda muito bem:

DIVISION
SECTION
PARAGRAPH
PIC
MOVE
COMPUTE
IF
EVALUATE
PERFORM
OCCURS
REDEFINES
COMP
COMP-3

Entenda dados.

COBOL é profundamente orientado a dados.

Não trate PIC como decoração.


Etapa 2 — Arquivos

Aprenda:

SEQUENTIAL
INDEXED
VSAM
KSDS
ESDS

Entenda:

RECFM
LRECL
BLKSIZE

Arquivo errado é fonte inesgotável de aventuras.


Etapa 3 — JCL

Não diga:

“Sou desenvolvedor, JCL não é comigo.”

Isso é aproximadamente equivalente a ser piloto dizendo:

“Combustível é coisa da equipe de solo.”

Aprenda:

JOB
EXEC
DD
DISP
SPACE
DSN
SYSOUT
COND
IF
PROC
GDG

Etapa 4 — Db2

Entenda:

SELECT
INSERT
UPDATE
DELETE
COMMIT
ROLLBACK
CURSOR
HOST VARIABLES
NULL INDICATOR
SQLCODE

Depois vá mais fundo.


Etapa 5 — CICS

Aprenda pelo menos os conceitos.

COMMAREA
CHANNEL
CONTAINER
LINK
XCTL
RETURN
READ
WRITE
REWRITE
START

E sobretudo entenda transação.


Etapa 6 — Debugging

Comece a amar mensagens de erro.

Não porque seja saudável.

Mas porque é inevitável.

Leia:

compile listing
runtime messages
joblog
sysout
dump

O dump é o romance policial do mainframe.

O assassino está lá.

Você só precisa descobrir quem é.


🧯 Capítulo 11 — MAXCC=0 não significa que o mundo está salvo

Esse merece moldura.

Você executou:

MAXCC=0

Excelente.

Isso significa aproximadamente:

O utilitário não detectou determinados tipos de problema segundo seus critérios.

Não significa:

Sua solução está correta.

Exemplo.

Você pode executar um SORT perfeitamente.

MAXCC=0

Mas ordenar pelo campo errado.

O computador fez exatamente aquilo que você pediu.

A tragédia é que você pediu uma coisa absurda.

Computadores possuem esse hábito desagradável.


🪐 Easter Egg 42

Em O Guia do Mochileiro das Galáxias, a resposta para a grande pergunta sobre a vida, o universo e tudo mais é:

42.

No mainframe também existe uma grande pergunta.

Quantos anos são necessários para dominar completamente IBM Z?

Resposta:

42.

A diferença é que, no ano 42, provavelmente alguém instalará uma atualização e você terá que estudar novamente.


📊 Capítulo 12 — O Grande Deus Dashboard

Organizações adoram métricas.

Não há nada errado nisso.

O problema é medir aquilo que é fácil em vez daquilo que importa.

É fácil medir:

NUMBER_OF_BADGES
NUMBER_OF_STUDENTS
COURSES_COMPLETED
LABS_FINISHED

Muito mais difícil medir:

CAN_HANDLE_PRODUCTION_INCIDENT
CAN_EXPLAIN_ARCHITECTURE
CAN_RECOVER_SERVICE
CAN_MENTOR_JUNIOR
CAN_REPLACE_RETIRING_SME

Imagine dois programas.

Programa A:

1.000 certificados

Programa B:

20 pessoas
18 meses
shadowing
incidentes
laboratórios
mentoria
responsabilidade progressiva

O primeiro produz slide bonito.

O segundo talvez salve seu banco às três da manhã.


👴 Capítulo 13 — Não transforme veteranos em sacerdotes secretos

Agora uma advertência importante.

Também não devemos romantizar demais o passado.

Existia — e ainda existe — o profissional conhecido como:

“Só o Carlos sabe.”

Pergunta:

— Como funciona esse processo?

Resposta:

— Pergunta pro Carlos.

— Onde está documentado?

— Carlos sabe.

— O que acontece se Carlos sair?

Silêncio.

Carlos não é arquitetura.

Carlos é um risco operacional humano.

O conhecimento precisa circular.

Um bom especialista não apenas resolve.

Ele deixa rastros.

Documenta.

Ensina.

Explica contexto.

Forma sucessores.


🗺️ Capítulo 14 — Como aprender com um veterano sem sequestrá-lo

Quando encontrar alguém experiente, não faça apenas perguntas genéricas.

Pergunte histórias.

Em vez de:

Como funciona Db2?

Pergunte:

Qual foi o pior incidente Db2 que você já viu?

Depois:

Como vocês perceberam?

Qual foi a hipótese inicial?

O que enganou vocês?

Qual era a verdadeira causa?

O que mudou depois?

Isso extrai conhecimento tácito.

Profissionais veteranos frequentemente possuem centenas dessas histórias.

Cada história contém:

contexto
hipótese
erro
diagnóstico
causa
solução
prevenção

Isso vale ouro.


⚠️ Capítulo 15 — Não tenha pressa de parecer sênior

Esse talvez seja o conselho mais importante para um iniciante.

Não tenha vergonha de dizer:

Não sei.

Em sistemas complexos, fingir conhecimento é muito mais perigoso do que admitir desconhecimento.

O bom iniciante pergunta.

O iniciante perigoso inventa.

Você encontrará pessoas exibindo uma coleção impressionante de badges.

Ótimo.

Você também encontrará pessoas com trinta anos de experiência e nenhum badge.

Não trate nenhuma das duas coisas isoladamente como prova definitiva.

Observe capacidade.

Observe raciocínio.

Observe comportamento diante de problemas.


🛠️ Capítulo 16 — Seu plano pessoal de apprenticeship

Mesmo que sua empresa não tenha um programa formal, crie um informal.

Faça isso:

1. Escolha um domínio

Por exemplo:

COBOL batch

2. Encontre alguém mais experiente

Não precisa ser o maior guru do planeta.

Só precisa estar alguns quilômetros à sua frente.


3. Observe problemas reais

Sempre respeitando segurança e acesso.


4. Reproduza em laboratório

Transforme incidentes em exercícios.


5. Documente

Crie notas.


6. Explique para outra pessoa

Se você não consegue explicar, talvez ainda não tenha entendido.


7. Volte seis meses depois

Você ficará horrorizado com suas primeiras anotações.

Isso é bom.

Significa evolução.


🧬 Capítulo 17 — Expertise não é uma coleção de comandos

Esse é o ponto central de toda esta conversa.

Expertise não é:

quantidade de sintaxe memorizada

É uma mistura de:

conhecimento
+
experiência
+
contexto
+
julgamento
+
memória de falhas
+
capacidade de investigação
+
capacidade de ensinar

É por isso que ela demora.

E talvez seja bom que demore.

Porque sistemas que movimentam bancos, governos, seguradoras, companhias aéreas, indústrias e redes gigantescas não deveriam depender de uma cultura onde qualquer pessoa é declarada especialista depois de algumas semanas.


🚨 Capítulo 18 — Production Disaster Nobody Predicted

Todo treinamento deveria possuir um módulo final chamado:

“Algo aconteceu e ninguém sabe o quê.”

Descrição:

03:07

Produção degradada.

Nenhuma mudança aparente.

Aplicação parcialmente funcionando.

Usuários reclamando.

Batch atrasado.

CICS estranho.

Db2 aparentemente saudável.

Uma alteração ocorreu 14 horas atrás.

Ninguém lembra qual.

Objetivo:

sobreviva.

Sem múltipla escolha.

Sem botão “Hint”.

Sem resposta imediatamente disponível.

Esse tipo de exercício aproxima treinamento de realidade.


🧙 Capítulo 19 — O verdadeiro mestre Jedi do mainframe

Você reconhece um grande profissional porque ele não precisa fingir onisciência.

Ele diz:

Não sei ainda.

Depois começa a investigar.

Ele sabe onde procurar.

Sabe formular hipótese.

Sabe descartar hipótese.

Sabe evitar mudanças destrutivas.

Sabe pedir ajuda.

Sabe interpretar evidência.

Sabe documentar descoberta.

E depois ensina alguém.

Essa última parte transforma especialista em legado.


🛰️ Capítulo 20 — Então o que fazemos com os programas de 15 semanas?

Usamos.

Melhoramos.

Expandimos.

Mas chamamos as coisas pelo nome correto.

Um programa curto pode ser:

Foundation Program

Excelente.

Depois crie:

FOUNDATION
    ↓
LAB
    ↓
APPRENTICESHIP
    ↓
PRODUCTION SHADOWING
    ↓
RESPONSIBILITY
    ↓
SPECIALIZATION
    ↓
MENTORSHIP

Agora temos um pipeline.

Não um evento.

A crise de skills não será resolvida através de um único curso.

Será resolvida construindo gerações sobre gerações de profissionais.

Exatamente como o próprio mainframe foi construído.


☕ Epílogo — NÃO ENTRE EM PÂNICO

Se você é iniciante e chegou até aqui preocupado porque aparentemente precisa de trinta anos para aprender IBM Z, relaxe.

Você não precisa aprender tudo.

Ninguém sabe tudo.

IBM Z é grande demais.

Escolha uma trilha.

Aprenda profundamente.

Construa conexões com outras áreas.

Pergunte.

Quebre coisas em laboratório.

Leia mensagens.

Leia listings.

Leia dumps.

Leia documentação.

Converse com veteranos.

Ensine iniciantes.

E principalmente:

não confunda velocidade de formação com profundidade de conhecimento.

Badge é ótimo.

Curso é ótimo.

Certificação é ótima.

Laboratório é ótimo.

Mas todos são partes de algo maior.

A verdadeira formação acontece quando conhecimento encontra experiência.

Quando teoria encontra produção.

Quando documentação encontra memória.

Quando o iniciante pergunta:

Por que fazemos isso assim?

E, em vez de receber:

Porque sempre foi assim.

recebe uma história.

Talvez uma história envolvendo um abend.

Talvez um IPL.

Talvez um banco.

Talvez alguém chamado Jorge.

Talvez 1996.

Talvez um PROC.

Talvez uma madrugada particularmente infeliz.

Essas histórias são o DNA invisível do mainframe.

Preservá-las é tão importante quanto preservar código.

Porque máquinas podem executar programas durante cinquenta anos.

Mas somente pessoas conseguem explicar por que aquele programa ainda deveria existir.

E se algum dashboard corporativo disser que resolvemos tudo depois de quinze semanas, faça aquilo que todo bom programador COBOL aprende cedo ou tarde.

Leia o detalhe.

Procure a mensagem.

Questione a condição.

E desconfie profundamente de qualquer universo onde:

SKILLS-CRISIS = 'SOLVED'

foi definido simplesmente porque:

BADGE-COUNT > 1000

Afinal, como diria um guia extremamente confiável de viagens intergalácticas:

NÃO ENTRE EM PÂNICO.

Mas mantenha o dump por perto.

https://eljefemidnightlunch.blogspot.com/2026/08/o-caso-tsb-bank-como-uma-migracao-de.html

https://eljefemidnightlunch.blogspot.com/2026/08/quanto-custa-um-programador-salario.htm



domingo, 26 de maio de 2024

A Lanterna de Diôgenes na Terra dos Badges — Quando o Filósofo Entrou no IBM Z, Encontrou 47 Certificados e Perguntou Quem Sabia Ler o Spool

 

Bellacosa Mainframe e o risco de badges demais nao criar tecnicos necessarios

☕ Um Café no Bellacosa Mainframe

A Lanterna de Diôgenes na Terra dos Badges — Quando o Filósofo Entrou no IBM Z, Encontrou 47 Certificados e Perguntou Quem Sabia Ler o Spool

Ou: por que uma medalha digital pode abrir a porta do mainframe, mas não conserta um S0C7, não explica um ICH408I e não segura a produção às duas da manhã



Prólogo — O homem com a lanterna e o dashboard luminoso

Diôgenes de Sinope caminhava pela praça, dizem, com uma lanterna acesa em pleno dia, procurando um homem honesto. Se o velho cínico aparecesse hoje numa conferência sobre IBM Z e LinuxONE, talvez trocasse a lanterna por um notebook, abrisse o painel de métricas e perguntasse, sem a menor delicadeza:

“Muito bonito. Quantas pessoas receberam badges. Agora mostrem-me uma que consiga descobrir por que o job de fechamento morreu.”

O salão ficaria em silêncio. Alguém apontaria para o gráfico de engajamento. Outro explicaria que a comunidade cresceu 38%. Um terceiro ofereceria café, camiseta e um QR Code para a próxima trilha. Diôgenes continuaria com a mesma cara que faria diante de uma estátua de ouro vendida como virtude:

“Eu não perguntei quem clicou em Complete Course. Perguntei quem sabe fazer a maldita coisa funcionar.”

É duro, mas a crítica que deu origem a este café tem nervo. Ela afirma que o ecossistema IBM Z/LinuxONE não precisa de mais uma iniciativa baseada em checklist, linguagem de marketing que amacia a engenharia até ela perder o significado, ou líderes celebrando movimento enquanto o conhecimento operacional se rarefaz. O texto não está dizendo que cursos e badges são inúteis. Está dizendo algo mais preciso: eles viraram, muitas vezes, o fim da jornada quando deveriam ser o começo dela.

Para quem está começando em COBOL, isso importa muito. Você não precisa desprezar um curso, nem fingir que nasceu sabendo JCL, Db2, RACF e CICS. Mas precisa compreender desde cedo a diferença entre reconhecer uma palavra e carregar uma responsabilidade. O mainframe não exige heroísmo teatral; exige método, curiosidade, disciplina e respeito por sistemas que movimentam dinheiro, benefícios, documentos, cargas, saúde e a vida cotidiana de milhões de pessoas.



1. Badge é recibo, não diploma de guerra

Vamos pôr as coisas no lugar. Um badge pode ser útil. Ele prova, no máximo, que você percorreu uma trilha, foi exposto a conceitos e concluiu um conjunto de atividades definido por alguém. Para o iniciante, isso tem valor real: cria vocabulário, reduz o medo de uma plataforma aparentemente fechada e dá uma primeira direção.

Mas ele não é uma prova completa de competência. Um badge de COBOL não responde às perguntas que aparecem quando o programa entra em produção:

  • Você identifica em que ponto um PIC 9(5)V99 recebeu dado alfanumérico?

  • Você sabe por que um S0C7 pode ser sintoma de dado ruim, e não simplesmente de “erro no comando MOVE”?

  • Você consegue localizar o SYSOUT, ler o JESMSGLG, distinguir RC=0004 de RC=0012 e descobrir qual step realmente falhou?

  • Você entende por que um SQLCODE -805 pode ter relação com package, collection, bind e plano de execução — não apenas com “o Db2 caiu”?

Uma certificação pode dizer que o candidato ouviu essas palavras. A experiência demonstrável é o que mostra se ele consegue conectá-las numa investigação.

Pense num curso de direção. O certificado de conclusão não significa que o motorista sabe dirigir numa madrugada chuvosa, com caminhão na faixa ao lado, freio estranho e uma criança atravessando a rua. Significa que ele passou pela primeira etapa. No ambiente corporativo, o erro está em pendurar o certificado na parede e declarar: “pronto, formamos um piloto de Fórmula 1”.

Diôgenes chamaria isso de confundir o rótulo da ânfora com o vinho dentro dela.



2. A diferença entre presença, conhecimento e capacidade

Há três degraus que empresas adoram misturar porque o relatório fica mais bonito quando todos parecem equivalentes.

O primeiro é a presença: a pessoa compareceu à live, abriu os slides, assistiu ao curso, entrou na comunidade. Isso é alcance.

O segundo é o conhecimento declarativo: ela consegue dizer o que é COBOL, JCL, VSAM, CICS, Db2 ou LinuxONE. Isso é vocabulário e compreensão inicial.

O terceiro é a capacidade operacional: ela recebe uma situação imperfeita, formula hipóteses, coleta evidência, executa uma correção segura, registra o que fez e sabe quando deve parar e escalar. Isso é engenharia.

O erro está em anunciar presença como capacidade. É como dar medalha de bombeiro para quem assistiu a uma palestra sobre incêndios. A palestra é necessária; a medalha só deveria vir depois de mostrar que a pessoa reconhece a fumaça, entende o risco, usa o equipamento certo e não joga água numa instalação elétrica por entusiasmo.

No mundo COBOL, um exemplo simples deixa isso claro. Considere um processamento de arquivo de clientes. O aluno lê a teoria: OPEN, READ, AT END, PERFORM UNTIL, WRITE, CLOSE. Ótimo. Depois vem o laboratório honesto:

  1. Execute o job com um arquivo de entrada válido e guarde o spool.

  2. Execute com uma linha contendo valor inválido onde deveria existir número.

  3. Observe o abend ou o FILE STATUS.

  4. Acrescente validação antes da operação aritmética.

  5. Reexecute.

  6. Compare as saídas e explique, em português claro, o que mudou e por quê.

Nesse momento, o estudante começa a deixar de ser colecionador de comandos e passa a aprender causa, efeito e evidência. É aí que mora a diferença entre “sei COBOL” e “posso ser confiável com COBOL”.



3. Simplificar a entrada não é falsificar a montanha

O texto original ataca a simplificação excessiva. É uma crítica importante, desde que não seja convertida em nostalgia cruel. Ninguém deve precisar sofrer desnecessariamente para aprender IBM Z. Não há mérito pedagógico em esconder documentação, negar ambiente de prática ou fazer o novato decorar siglas como se fosse catecismo.

Mas existe uma fronteira entre tornar a porta mais acessível e fingir que, depois dela, não há montanha.

O IBM Z não é complexo porque alguém quis assustar programadores jovens. Ele é complexo porque foi construído para oferecer disponibilidade, isolamento, compatibilidade, auditoria, desempenho e continuidade em escala monumental. LinuxONE não é apenas “um Linux mais caro”; ele participa de uma arquitetura que leva a sério virtualização, segurança, criptografia, resiliência e consolidação de cargas.

Esconder isso sob slogans como “é só clicar e inovar” produz um recém-chegado frustrado na primeira ocorrência real. Mais cedo ou mais tarde, o padawan vai encarar um JCL, um dataset, um retorno de job, uma permissão RACF, um bloqueio Db2, uma transação CICS e um incidente de produção. É melhor que ele encontre esses bichos primeiro em ambiente de aprendizado, com tutor e log, do que pela primeira vez quando o telefone toca às 2h17.

Boa educação faz o contrário da maquiagem: ela quebra a complexidade em partes sem mentir sobre o todo.

4. O que um engenheiro IBM Z realmente precisa aprender

Não existe uma única profissão chamada “mainframe”. Há programador COBOL, analista de suporte, administrador Db2, especialista CICS, profissional de RACF, operador, engenheiro de automação, arquiteto, especialista em Linux, SRE, desenvolvedor de APIs, gente de storage, rede e muito mais. Ninguém precisa dominar todo o planeta antes de escrever o primeiro DISPLAY.

Porém, toda formação séria precisa dar ao iniciante um mapa. Para o programador COBOL, o mapa mínimo poderia ser este:

TerritórioPergunta que você deve saber responder
COBOLO que o programa faz com os dados e em que condição ele pode falhar?
JCLComo o programa é compilado, executado e recebe seus arquivos?
JES/SDSFOnde está a evidência do que ocorreu?
DadosO layout, o tipo e a chave realmente correspondem ao esperado?
Db2/VSAMOnde o dado mora e como a aplicação o acessa com segurança?
CICSO que muda quando o programa atende uma transação online?
RACFQuem pode fazer o quê — e por que não se deve “liberar tudo”?
OperaçãoComo corrigir sem criar uma segunda falha maior que a primeira?

Veja que isso não exige que o iniciante seja um super-homem. Exige que ele entenda as fronteiras. Um bom programador COBOL não precisa administrar RACF, mas deve saber que um erro de autorização não se resolve pedindo acesso universal. Não precisa ser DBA, mas precisa saber que um COMMIT não é enfeite e que um ROLLBACK não desfaz uma mensagem já enviada para todos os universos possíveis.

5. O laboratório vale mais que o aplauso

Se Diôgenes fosse responsável por uma academia técnica, ele teria uma regra cruel e justa: cada módulo termina com uma entrega verificável. Nada de apenas questionário com três alternativas obviamente erradas e uma frase do instrutor em letras grandes.

Para COBOL iniciante, uma trilha prática de verdade poderia ter cinco missões.

Missão 1 — O programa que fala. Crie um COBOL simples, compile e execute. Não pare no HELLO WORLD: leia o listing, encontre a data de compilação, o módulo gerado e a saída no spool.

Missão 2 — O arquivo que responde. Processe um arquivo sequencial com registros de clientes. Faça o programa contar lidos, aceitos e rejeitados. Use FILE STATUS. Gere relatório de rejeições em vez de fingir que dado inválido não existe.

Missão 3 — O JCL deixa rastros. Altere um DDNAME propositalmente, execute e descubra a falha pelo SDSF. Depois altere espaço, disposition ou nome do dataset com cuidado e explique o efeito.

Missão 4 — O dado tem memória. Faça uma consulta simples em Db2 ou, se o ambiente ainda não permitir, modele a disciplina relacional: chave, validação, atualização, confirmação e tratamento de erro. Entenda que um sistema não é confiável porque contém EXEC SQL; ele é confiável quando trata resultado, concorrência e recuperação.

Missão 5 — O incidente simulado. Receba um programa que falha. Sem roteiro de correção, produza um pequeno relatório: sintoma, evidência, hipótese, causa provável, correção, teste e prevenção. Essa é a semente do pensamento de produção.

O aluno que completa essas missões talvez tenha menos badges para exibir. Em compensação, começa a ter histórias técnicas para contar — e histórias técnicas são a moeda real de uma equipe madura.

6. Produção não é palco para improviso

Há uma romantização perigosa do “herói que entra, digita um comando secreto e salva o banco”. O engenheiro bom geralmente é menos cinematográfico. Ele respira, delimita o impacto, preserva evidência, consulta procedimentos, pede segunda opinião quando necessário e só então muda algo.

O ciclo saudável é quase sempre:

  1. Definir o sintoma, sem inventar causa.

  2. Coletar logs, spool, mensagens e horários.

  3. Avaliar impacto: quem parou, qual dado pode estar comprometido, qual é a urgência.

  4. Formular hipóteses e eliminar as fracas com evidência.

  5. Corrigir no menor raio de explosão possível.

  6. Testar e monitorar.

  7. Registrar o aprendizado para o próximo humano não repetir a caça ao tesouro.

Um S0C7, por exemplo, não é uma oportunidade para procurar no Google “como eliminar S0C7” e colar a primeira receita. Ele é uma pista: em algum ponto, uma operação numérica encontrou conteúdo incompatível. Pode ser dado externo, arquivo corrompido, copybook divergente, campo não inicializado, conversão implícita ou caminho lógico esquecido. A pergunta de engenheiro é: qual valor, qual campo, em qual registro, sob qual condição e por que nossa validação não o deteve antes?

Essa mentalidade vale para todo o ecossistema. No LinuxONE, uma carga lenta não é automaticamente “problema do hardware”. Pode ser CPU, I/O, memória, configuração de virtualização, rede, aplicação, banco, coleta de métricas inadequada ou simplesmente uma expectativa mal definida. A ferramenta poderosa não dispensa diagnóstico; ela torna a ausência dele mais cara.

7. Comunidade que produz, não plateia que aplaude

O autor do manifesto pede “comunidades que produzam contribuidores”. Esta talvez seja a parte mais importante. Comunidade não é calendário de webinars. Webinar pode ser a porta, mas comunidade existe quando alguém sai com algo útil nas mãos e deixa algo útil para o próximo.

Exemplos concretos de contribuição valiosa:

  • Um guia claro para ler JESMSGLG, JESJCL e JESYSMSG.

  • Um repositório de pequenos exercícios COBOL com casos normais e casos quebrados.

  • Um template de post-mortem sem caça às bruxas.

  • Uma tradução comentada de mensagens frequentes de z/OS, CICS ou Db2.

  • Um laboratório que ensina autorização pelo princípio do menor privilégio.

  • Um vídeo curto mostrando não só a solução, mas o caminho da investigação.

É aí que educadores, IBM Champions, parceiros, universidades e clientes podem fazer diferença. A plataforma não sobreviverá porque alguém proclamou que ela é estratégica. Ela sobreviverá quando pessoas novas conseguirem entrar, aprender com rigor, entregar valor e, depois, ensinar o que aprenderam sem esconder o mapa.

8. Métricas que fariam Diôgenes parar de resmungar

Diôgenes não odiava números; odiava números usados como fantasia moral. Portanto, medir é necessário, mas é preciso medir a coisa certa.

Em vez de celebrar somente inscritos, certificados e visualizações, uma iniciativa madura deveria acompanhar:

  • taxa de conclusão de laboratórios práticos;

  • qualidade de entregas revisadas por pares ou mentores;

  • capacidade de diagnosticar incidentes simulados;

  • tempo de onboarding até contribuição supervisionada;

  • retenção dos novos profissionais após seis e doze meses;

  • documentação e automações produzidas pela comunidade;

  • redução de erros repetitivos e de dependência em uma única pessoa;

  • contratação ou progressão profissional decorrente do programa.

Não se trata de transformar cada aluno em estatística de fábrica. Trata-se de provar que a educação mudou a capacidade do ecossistema. Se uma trilha emite dez mil badges, mas ninguém consegue fazer manutenção com segurança, o relatório é verde e a realidade é vermelha.

9. O risco do elitismo: a montanha não é clube privado

Agora, um aviso ao veterano que leu tudo isto e sentiu vontade de fechar a porta: não use a crítica aos badges como desculpa para humilhar iniciantes. “Na minha época era tudo mais difícil” não é método de transferência de conhecimento; é apenas uma maneira lenta de extinguir a profissão.

O padawan COBOL não deve ser punido por ainda não entender um dump. Deve ser convidado a lê-lo. Não deve ouvir “isso é básico” quando pergunta sobre um REDEFINES; deve receber uma explicação, um exemplo e um exercício que revele o perigo de interpretar bytes iguais como coisas diferentes.

Mentoria técnica de verdade combina exigência e generosidade. Ela diz: “você ainda não sabe, mas vamos descobrir juntos; depois você me explicará de volta.” Não simplifica a realidade, não reduz a barra e não se alimenta da ignorância alheia.

10. O compromisso do jovem padawan COBOL

Se você está entrando agora, não espere que a IBM, a empresa, o curso ou o instrutor façam toda a obra por você. Use badges como mapa, nunca como residência permanente. Ao fim de cada assunto, faça cinco perguntas:

  1. Eu consigo explicar isso sem repetir a frase do slide?

  2. Eu consigo executar uma versão pequena disso?

  3. Eu sei onde olhar quando falhar?

  4. Eu sei qual evidência preciso antes de mudar algo?

  5. Eu consigo deixar uma anotação que ajude outra pessoa?

Mantenha um caderno de guerra. Guarde mensagens, códigos de retorno, hipóteses que deram errado, comandos úteis, exemplos de JCL, diferenças entre ambientes e traduções suas para as siglas. Depois de alguns meses, você terá algo melhor que uma coleção de ícones digitais: terá memória operacional.

E, sobretudo, aprenda a dizer “não sei ainda, mas vou investigar”. No mainframe, arrogância sem evidência é um tipo de abend humano. Ninguém espera que um iniciante saiba tudo; todos percebem rapidamente quando ele finge saber e altera algo sem compreender o impacto.

Epílogo — A lanterna não procurava um herói

No fim da conferência imaginária, alguém perguntaria a Diôgenes o que ele queria encontrar. Um arquiteto? Um líder iluminado? Um especialista com quarenta anos de casa?

Ele talvez apontasse para uma jovem programadora, ainda confusa com a DATA DIVISION, mas curiosa o suficiente para abrir o spool em vez de declarar que “o sistema está com problema”. E responderia:

“Procuro alguém que respeite a complexidade sem adorá-la; que queira aprender sem posar de pronto; que teste antes de afirmar; que documente depois de descobrir; e que deixe a plataforma um pouco menos misteriosa para o próximo.”

Esse é o engenheiro que IBM Z e LinuxONE precisam. Não um acumulador profissional de badges. Não o guardião rancoroso de siglas. Não o líder que celebra o dashboard enquanto a sala de operações perde gente capaz de ler os rastros.

O hardware é extraordinário. A engenharia que o sustenta é digna de orgulho. Mas nenhum sistema é salvo pelo brilho da própria máquina. Ele é protegido por pessoas treinadas com seriedade, comunidades que compartilham prática e lideranças capazes de trocar aplauso por resultado.

Badge pode abrir a porta. Laboratório ensina o corredor. Incidente ensina humildade. Documentação preserva a descoberta. Mentoria transforma sobreviventes em time.

E a produção, sempre desconfiada, será a única banca examinadora que não se impressiona com medalhas digitais.

Vagner Renato Bellacosa, IBM Champion e especialista em IBM Mainframe
IBM Z17 SYSTEM ONLINE
Sobre o autor

Vagner Renato Bellacosa

IBM Champion 2026 • Especialista em IBM Mainframe

Vagner Renato Bellacosa trabalha com IBM Mainframe desde 1988 , é IBM Champion e especialista em COBOL, CICS, Db2, z/OS e IBM Z. Compartilha experiências profissionais, conhecimento técnico, história da computação e práticas do universo mainframe para aproximar novas gerações das tecnologias que sustentam empresas, bancos e governos ao redor do mundo.

IBM Champion IBM Z COBOL CICS Db2 z/OS Mainframe desde 1988
GitHub LinkedIn
Inicializando conteúdo...