☕ 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

quarta-feira, 12 de agosto de 2026

A Causa de R$ 300 Milhões e o IF do Programador: quando uma decisão técnica aparentemente banal pode virar parte da Justiça

 

Bellacosa Mainframe e a causa de 300 milhoes e o if do programador

☕ Um Café no Bellacosa Mainframe

A Causa de R$ 300 Milhões e o IF do Programador: quando uma decisão técnica aparentemente banal pode virar parte da Justiça

🧑‍💻 IA judicial vista do chão da fábrica: requisitos, RAG, embeddings, chunking, logs, privilégios, fornecedores, insider risk e o dia em que o analista percebeu que aquele parâmetro escondido no YAML talvez fosse mais importante do que parecia

Imagine que você é analista de sistemas.

Nada de ministro.

Nada de desembargador.

Nada de grande escritório de advocacia.

Nada de reunião cinematográfica envolvendo uma mesa de mogno e quinze advogados discutindo uma causa bilionária.

Você está sentado diante de dois monitores.

São 14h37.

O Teams acabou de fazer aquele barulho que anuncia que alguém descobriu mais uma coisa “urgente”.

Existe um ticket aberto.

Uma história no backlog.

Uma especificação.

Talvez uma documentação no Confluence.

E uma frase aparentemente inocente:

“Implementar melhoria no mecanismo de recuperação semântica dos documentos processuais.”

Beleza.

Mais uma tarefa.

Você abre o código.

Encontra:

chunk_size: 1000
chunk_overlap: 150
top_k: 10
similarity_threshold: 0.72
reranking: true

Olha aquilo.

Toma um gole de café.

E começa a trabalhar.

Só existe um pequeno detalhe que talvez ninguém tenha colocado na User Story:

do outro lado daquele similarity_threshold pode existir uma causa de R$ 300 milhões.

Agora ficou interessante.

Porque no primeiro artigo desta série olhamos para o problema do ponto de vista do mercado jurídico.

Perguntamos:

Se conhecer melhor o comportamento de uma IA judicial pudesse produzir uma vantagem de apenas 1%, quanto essa informação poderia valer?

Agora vamos atravessar a parede.

Vamos entrar na fábrica.

Porque alguém precisa construir essa IA.

Alguém escolhe o modelo.

Alguém configura o banco.

Alguém define permissões.

Alguém cria os prompts.

Alguém decide o tamanho dos chunks.

Alguém implementa o ranking.

Alguém olha os logs.

Alguém possui acesso administrativo.

Alguém recebe o chamado às três da manhã quando tudo para.

E esse alguém pode ser simplesmente:

você.


⚠️ Isto continua sendo threat modeling

Antes que alguém derrube café no teclado:

este artigo não afirma que sistemas judiciais estejam sendo manipulados por técnicos, nem que programadores estejam vendendo informações, nem que determinada arquitetura seja utilizada por qualquer tribunal específico.

Estamos fazendo aquilo que profissionais de segurança deveriam fazer antes de colocar qualquer infraestrutura crítica em produção:

pensar como ela poderia falhar ou ser abusada.

Em mainframe fazemos isso há décadas.

Perguntamos:

Quem pode alterar este dataset?

Quem possui ALTER no RACF?

Quem consegue executar esta transação?

Quem consegue modificar esta PROC?

Quem pode alterar produção?

Quem lê o log?

Quem consegue apagar o log?

Então por que diante de IA deveríamos simplesmente escrever:

TRUSTED_AI=true

e ir embora?

😂

Não existe inteligência artificial mágica.

Existe software.

Existe infraestrutura.

Existem pessoas.

Existem privilégios.

Existem erros.

Existem incentivos.

Portanto:

AI SYSTEM
   =
CODE
+ DATA
+ MODEL
+ CONFIGURATION
+ INFRASTRUCTURE
+ PEOPLE
+ PROCESS

E qualquer veterano de produção sabe qual dessas variáveis costuma causar as histórias mais interessantes.


🏭 Bem-vindo ao chão da fábrica

Do ponto de vista executivo, talvez o projeto seja descrito assim:

“Solução baseada em Inteligência Artificial para aumentar eficiência na análise documental.”

Maravilhoso.

PowerPoint aprovado.

Seta azul.

Ícone de cérebro.

Nuvem.

Pessoa sorrindo.

ROI.

Transformação Digital.

Agora entregue isso para TI.

A arquitetura começa a ficar mais parecida com:

DOCUMENTOS
    |
    v
INGESTÃO
    |
    v
OCR / PARSER
    |
    v
NORMALIZAÇÃO
    |
    v
CHUNKING
    |
    v
EMBEDDINGS
    |
    v
VECTOR DATABASE
    |
    v
QUERY
    |
    v
RETRIEVAL
    |
    v
RERANKING
    |
    v
PROMPT
    |
    v
LLM
    |
    v
RESPOSTA / RESUMO
    |
    v
USUÁRIO HUMANO

Agora já não parece tão mágico.

Parece sistema.

E sistema possui parâmetros.


🧩 O maldito chunk_size

Imagine um processo gigantesco.

Milhares de páginas.

A IA não necessariamente despeja tudo de uma vez dentro de um modelo.

Documentos podem ser segmentados.

Chunks.

Pedaços.

Agora aparece uma decisão aparentemente técnica:

Qual será o tamanho do chunk?

500 tokens?

1.000?

2.000?

Onde quebramos?

Por página?

Por parágrafo?

Por seção?

Por estrutura semântica?

Mantemos overlap?

Quanto?

A pergunta parece pertencer ao Jira.

Só que pode haver uma consequência:

DOCUMENTO ORIGINAL

[ARGUMENTO]
[CONTEXTO]
[EXCEÇÃO]
[CONCLUSÃO]

Depois do processamento:

CHUNK 41
[ARGUMENTO]
[CONTEXTO...]

CHUNK 42
[...CONTEXTO]
[EXCEÇÃO]

CHUNK 43
[CONCLUSÃO]

E se a busca recuperar 41 e 43, mas não 42?

💥

A exceção desapareceu.

Não porque alguém censurou.

Não porque o modelo conspirou.

Não porque o advogado foi incompetente.

Porque:

top_k=2.

Bem-vindo ao Direito por configuração YAML.


🎛️ Parâmetro técnico também pode ser decisão de negócio

Essa é uma coisa que profissionais experientes aprendem dolorosamente.

Alguém diz:

“É só parâmetro técnico.”

Não.

Alguns parâmetros técnicos implementam política de negócio.

No banco:

MAX_TRANSACTION_VALUE

parece configuração.

Mas determina comportamento financeiro.

No WLM:

prioridade parece técnica.

Até você perceber quem recebe CPU quando tudo fica congestionado.

Num mecanismo de recuperação:

similarity_threshold=0.72

parece matemática.

Mas determina:

o que entra e o que fica fora.

E, dependendo do uso daquela informação posteriormente, isso pode ter consequência operacional.

Por isso o desenvolvedor precisa começar a perguntar:

Quem definiu 0,72?

Por quê?

Qual teste sustentou esse valor?

O que acontece com 0,70?

E 0,75?

Existe benchmark?

Existe documentação?

Existe aprovação?

Existe auditoria?

Porque daqui a três anos alguém pode perguntar:

“Por que este documento não apareceu?”

E a resposta não pode ser:

“Cara... acho que o Júnior colocou 0,72 porque no Stack Overflow alguém recomendou.”

😂


💰 Agora lembre dos R$ 300 milhões

É aqui que o desenvolvedor precisa entender o ambiente em que seu software existe.

Você pode estar trabalhando numa função que aparentemente altera 0,5% do comportamento de recuperação.

No laboratório:

irrelevante.

Num sistema de recomendação de receitas:

talvez irrelevante.

Num processo envolvendo R$ 300 milhões:

talvez não seja.

Isso não significa que aquele parâmetro determine uma decisão judicial.

Significa que precisamos analisar seriamente qualquer sistema que possa interferir em:

  • informação recuperada;

  • informação apresentada;

  • classificação;

  • priorização;

  • sumarização;

  • contexto oferecido ao usuário.

Porque existe diferença entre:

decidir

e

influenciar aquilo que estará disponível no momento da decisão.

Essa segunda categoria pode parecer muito mais inocente.

Nem sempre é.


🧑‍💻 “Mas eu só desenvolvo”

Ah.

Essa frase.

Todo veterano de TI conhece uma versão dela.

“Eu só desenvolvo.”

“Eu só mantenho.”

“Eu só cuido do banco.”

“Eu só faço deploy.”

“Eu só sou fornecedor.”

Até acontecer um incidente.

Então descobrimos que:

DESENVOLVEDOR
    ↓
possui acesso ao repositório

DEVOPS
    ↓
possui acesso ao pipeline

DBA
    ↓
possui acesso ao banco

CLOUD ADMIN
    ↓
possui acesso à infraestrutura

ML ENGINEER
    ↓
conhece o modelo

DATA SCIENTIST
    ↓
conhece os experimentos

SUPORTE
    ↓
enxerga logs

FORNECEDOR
    ↓
conhece arquitetura

ARQUITETO
    ↓
conhece tudo isso junto

De repente aparece uma pergunta desagradável:

Quem conhece informação suficiente para compreender como o sistema realmente se comporta?

E outra pior:

Quanto vale esse conhecimento fora da organização?


🕵️ Insider risk não significa “funcionário bandido”

Precisamos matar esse erro imediatamente.

Quando segurança fala de insider risk, não está dizendo:

“Nossos funcionários são criminosos.”

RACF não existe porque todo operador é ladrão.

Controle de acesso existe porque:

TRUST EVERYONE

é uma arquitetura de segurança ridícula.

Insider pode ser:

  • funcionário malicioso;

  • funcionário coagido;

  • credencial roubada;

  • funcionário enganado;

  • ex-funcionário;

  • terceiro;

  • fornecedor;

  • consultor;

  • conta administrativa esquecida;

  • erro humano.

E frequentemente o incidente mais espetacular começa com alguém perfeitamente honesto fazendo algo perfeitamente banal.


🔑 O problema da conta que pode tudo

Todo chão de fábrica conhece esta criatura mitológica:

a conta técnica eterna.

Criada em 2019.

Ninguém sabe quem pediu.

Está documentada numa planilha.

Possui privilégio demais.

Três sistemas dependem dela.

Ninguém ousa alterar porque:

“Vai saber o que quebra.”

😂

Agora coloque isso numa infraestrutura de IA.

Quem pode:

ALTER MODEL CONFIGURATION
ALTER SYSTEM PROMPT
ALTER RETRIEVAL SETTINGS
READ AUDIT LOGS
DELETE AUDIT LOGS
CHANGE EMBEDDING MODEL
CHANGE DATA SOURCE
MODIFY RERANKER
DEPLOY APPLICATION

Se a resposta for:

svc_ai_admin

temos outra pergunta:

quem consegue usar svc_ai_admin?

E se a resposta for:

“Ah... umas quinze pessoas.”

☕ Pegue mais café.

A reunião vai demorar.


🧱 Segregação de funções não ficou velha

IA parece moderna.

Os controles necessários são surpreendentemente antigos.

Quem desenvolve não deveria necessariamente aprovar sozinho.

Quem aprova não deveria necessariamente implantar sozinho.

Quem administra o sistema não deveria necessariamente conseguir apagar seus próprios rastros.

Mudanças críticas deveriam exigir controle apropriado.

Em outras palavras:

DEV
 ≠
APPROVER
 ≠
DEPLOYER
 ≠
AUDITOR

Bem-vindo novamente ao mainframe.

Nós já discutíamos isso quando “inteligência artificial” ainda fazia pessoas imaginarem HAL 9000.


📜 Configuration Management virou evidência

Imagine uma mudança:

- similarity_threshold: 0.72
+ similarity_threshold: 0.67

Quem alterou?

Quando?

Por quê?

Qual ticket?

Qual teste?

Quem aprovou?

Qual versão entrou em produção?

Quanto tempo permaneceu?

Quais consultas foram afetadas?

Conseguimos reproduzir o comportamento anterior?

Isso não é burocracia.

Em sistemas críticos:

configuração é evidência.

Git não é apenas ferramenta do desenvolvedor.

Pipeline não é apenas automação.

Log não é apenas coisa que enche disco.

Eles fazem parte da cadeia de responsabilidade.


📋 “Funciona na minha máquina” não será defesa

Imagine uma contestação futura:

“O sistema apresentou resultados diferentes para documentos juridicamente equivalentes.”

O desenvolvedor responde:

“Nos meus testes funcionava.”

😂

Parabéns.

Você acaba de invocar o espírito de dez mil incidentes de produção.

Sistemas de IA exigem testes que vão além do happy path.

Precisamos perguntar:

O que acontece se mudar a ordem dos parágrafos?

Se trocar sinônimos?

Se alterar formatação?

Se o documento for gigantesco?

Se possuir tabelas?

Se OCR errar?

Se houver rodapé repetitivo?

Se houver instruções adversariais dentro do documento?

Se uma jurisprudência aparecer citada de formas diferentes?

Se duas teses forem semanticamente semelhantes?

Isso é red teaming.


🔴 O Red Team precisa escrever petição também

Tradicionalmente, teste de software pergunta:

INPUT A → OUTPUT A
INPUT B → OUTPUT B

Para sistemas de IA, precisamos de testes mais perversos.

Pegue uma tese.

Crie cinco versões semanticamente equivalentes.

VERSÃO A
tradicional

VERSÃO B
simplificada

VERSÃO C
extremamente estruturada

VERSÃO D
ordem alterada

VERSÃO E
otimizada para recuperação

Agora execute.

Compare:

  • chunks recuperados;

  • ranking;

  • similaridade;

  • citações;

  • resumo;

  • resposta final.

Se pequenas alterações cosméticas provocarem diferenças enormes:

🚨

Não diga:

“LLM é assim mesmo.”

Investigue.


🎰 O desenvolvedor pode criar o gacha sem perceber

No artigo anterior brincamos com a ideia da:

Justiça Gacha.

O escritório rico desbloqueia:

SSR ALGORITHM WHISPERER +10

Mas existe uma pergunta anterior.

Quem construiu a mecânica do gacha?

Talvez ninguém deliberadamente.

Pode ter surgido simplesmente da soma de decisões locais:

um threshold aqui
+
um chunk ali
+
um ranking acolá
+
um prompt
+
um modelo
+
uma configuração
=
COMPORTAMENTO EMERGENTE

Esse é o tipo de coisa que assusta engenheiro experiente.

Não precisamos de vilão.

Precisamos apenas de complexidade.


📦 E o fornecedor?

Ahhh.

Agora chegamos à parte divertida.

Imagine que a instituição não construiu tudo.

Existe:

TRIBUNAL
   |
   +-- CONSULTORIA A
   |
   +-- CLOUD B
   |
   +-- MODELO C
   |
   +-- VECTOR DB D
   |
   +-- INTEGRADOR E
   |
   +-- SUPORTE F

Quem conhece a arquitetura completa?

Talvez ninguém.

Quem possui acesso?

Talvez gente demais.

Quem responde pelo comportamento final?

Excelente pergunta.

Esse problema não nasceu com IA.

Terceirização já produz cadeias complexas há décadas.

Mas IA acrescenta modelos, datasets, prompts, embeddings e serviços externos ao velho quebra-cabeça.


🧠 O prompt de sistema é código?

Essa discussão merece atenção.

Imagine:

Você é um assistente jurídico.
Analise os documentos recuperados...
Priorize...
Ignore...
Considere...
Resuma...

Isso não parece código tradicional.

Mas altera comportamento.

Então:

Quem pode modificá-lo?

Existe versionamento?

Code review?

Aprovação?

Testes?

Rollback?

Auditoria?

Se mudar uma frase do system prompt altera significativamente a saída, então aquela frase possui importância operacional.

Talvez devamos tratá-la com disciplina semelhante àquela aplicada a código.

PROMPT AS CODE

Bem-vindo ao próximo inferno do Change Management. 😂


🗃️ O log que ninguém pode apagar

Se um sistema influencia processos críticos, precisamos conseguir reconstruir acontecimentos.

Qual versão estava ativa?

Qual modelo?

Qual prompt?

Quais documentos foram recuperados?

Qual ranking?

Qual configuração?

Qual usuário fez a consulta?

Qual resposta foi apresentada?

Quais mudanças ocorreram antes?

Isso significa logs.

Mas existe um detalhe:

o administrador investigado não pode ser a única pessoa capaz de administrar os logs da investigação.

Parece óbvio.

Até você conhecer produção.

😂

Logs precisam possuir proteção adequada contra alteração, retenção definida, controles de acesso e auditoria.

Não porque presumimos culpa.

Porque precisamos de forensic readiness.


🧹 Garbage Collection humana

Existe outra coisa que ninguém gosta de fazer:

revogar acesso.

Projeto terminou.

Consultor saiu.

Funcionário mudou de equipe.

Fornecedor trocou.

Administrador mudou de função.

A conta continua.

Seis meses depois:

USER123
STATUS: ENABLED
LAST LOGIN: ???
PRIVILEGE: ADMIN

Quem é USER123?

“Acho que era o Marcelo.”

Quem é Marcelo?

“Terceirizado da consultoria antiga.”

😂😂😂

Meu querido.

REVOKE também é inteligência artificial.


💸 E finalmente: quanto vale aquilo que você sabe?

Essa talvez seja a pergunta que o profissional técnico raramente faz.

Você conhece:

  • arquitetura;

  • parâmetros;

  • vulnerabilidades;

  • comportamento;

  • limitações;

  • atalhos;

  • logs;

  • modelos;

  • integrações.

Normalmente isso é apenas:

conhecimento profissional.

Mas se determinado sistema participa de uma atividade com enorme valor econômico, algumas informações podem adquirir valor fora da organização.

Isso transforma documentação, configuração e conhecimento operacional em ativos de segurança.

E exige:

  • classificação;

  • least privilege;

  • need-to-know;

  • segregação;

  • monitoramento apropriado;

  • políticas de conflito;

  • gestão de terceiros.

Não porque o técnico seja suspeito.

Porque o conhecimento tornou-se valioso.


🧙‍♂️ O sysprog já conhece essa história

Existe algo deliciosamente antigo em tudo isso.

O pessoal do mainframe olha para:

Zero Trust
Privileged Access Management
Segregation of Duties
Immutable Logging
Change Management
Least Privilege

e pensa:

“Vocês inventaram nomes novos para coisas que meu RACF já discutia em 1987.”

😂

A IA judicial pode ser revolucionária.

Mas os fundamentos continuam reconhecíveis.

Quem acessa?

Quem altera?

Quem aprova?

Quem monitora?

Quem audita?

Quem consegue fazer sozinho?

Quem consegue apagar rastros?

Quem sabe informação que não deveria circular?

Essas perguntas sobreviveram a todas as gerações tecnológicas.


⚠️ Não coloque ética como requisito não funcional número 47

Outro perigo clássico:

REQUISITOS NÃO FUNCIONAIS

RNF01 Performance
RNF02 Disponibilidade
RNF03 Segurança
...
RNF47 Ética

😂

Não.

Quando um sistema participa de infraestrutura pública crítica, governança precisa entrar na arquitetura.

Não depois.

Não na apresentação.

Não na política corporativa que ninguém lê.

Na arquitetura.


🔥 O ticket de hoje pode virar a perícia de amanhã

Essa talvez seja a mensagem mais importante para quem está no chão da fábrica.

Você abre:

JIRA-84721

“Ajustar relevância da busca semântica.”

Parece pequeno.

Mas sistemas críticos possuem memória.

Daqui a três anos alguém pode perguntar:

Quem solicitou?

Quem implementou?

Quem aprovou?

Quais testes foram executados?

Por que esse valor?

Qual efeito foi observado?

Podemos reproduzir?

E aí existe uma diferença enorme entre:

"ajustamos porque parecia melhor"

e:

CHANGE-84721
Requisito: ...
Benchmark: ...
Teste adversarial: ...
Aprovação: ...
Deploy: ...
Resultado: ...
Rollback: ...

O segundo é chato.

O segundo salva carreiras.


☕ A pergunta que o analista deveria fazer

Quando receber aquele requisito:

“Implementar IA para auxiliar análise documental.”

não pergunte apenas:

“Qual modelo?”

Pergunte:

“Qual é a consequência se esse sistema estiver errado?”

Depois:

“Qual é a consequência se alguém descobrir como fazê-lo errar?”

E finalmente:

“Qual é a consequência se alguém descobrir como fazê-lo funcionar melhor para um usuário do que para outro?”

Essa terceira pergunta é a mais interessante.

Porque talvez o maior risco não seja a IA produzir uma resposta completamente absurda.

Isso todo mundo percebe.

O risco mais sofisticado é produzir uma diferença pequena, consistente e explorável.


🧑‍💻 Você não está construindo apenas software

Essa frase parece dramática.

E é deliberadamente.

Se você trabalha numa ferramenta de entretenimento, uma falha pode recomendar um filme ruim.

Se trabalha num e-commerce, uma falha pode ordenar produtos incorretamente.

Se trabalha num banco, pequenas decisões de software podem movimentar dinheiro.

Se trabalha numa infraestrutura pública crítica, pequenas decisões podem tocar direitos.

Por isso contexto importa.

O mesmo:

IF X > Y

pode ser irrelevante num sistema e crítico em outro.

Código não possui ética sozinho.

Contexto dá consequência ao código.


🧙‍♂️ O insider do século XXI talvez esteja sentado no seu squad

Não estou falando de criminoso.

Estou falando de conhecimento.

O desenvolvedor sabe uma coisa.

O DBA sabe outra.

O cientista de dados sabe outra.

O DevOps sabe outra.

O arquiteto consegue juntar algumas.

O fornecedor possui outras peças.

E alguém pode eventualmente possuir conhecimento suficiente para dizer:

“Eu sei como essa máquina lê.”

No século XX, informação privilegiada frequentemente significava:

“Eu sei antes.”

Na era dos dados:

“Eu tenho informação que você não possui.”

Na era algorítmica:

“Eu sei como você será classificado.”

Na era da IA:

“Eu sei como a máquina vai interpretar aquilo que você enviar.”

Quando essa interpretação participa de uma atividade economicamente valiosa, o conhecimento sobre ela também pode adquirir valor.


⚖️ E isso não é problema do jurídico

É nosso também.

Não adianta o jurídico criar uma política perfeita se:

admin/admin

continua funcionando.

Não adianta criar comissão de ética se ninguém versiona prompts.

Não adianta falar de transparência se ninguém consegue reproduzir a saída de três meses atrás.

Não adianta prometer imparcialidade se documentos semanticamente equivalentes produzem comportamentos radicalmente diferentes.

Não adianta colocar “Human in the Loop” no PowerPoint se o humano recebe apenas o resumo produzido pela máquina e nunca consegue enxergar como aquele resumo foi construído.

Governança precisa compilar.


☕ O último café antes do deploy

São 18h42.

Finalmente você terminou o ticket.

Pipeline verde.

Testes passaram.

Sonar feliz.

Container subiu.

Observabilidade funcionando.

O gerente pergunta:

“Podemos colocar em produção?”

Você olha novamente:

chunk_size: 1000
chunk_overlap: 150
top_k: 10
similarity_threshold: 0.72

Ontem aquilo era apenas configuração.

Hoje você percebe outra coisa.

Cada parâmetro representa uma decisão sobre como informação será encontrada, organizada e apresentada.

E naquele sistema informação pode participar de algo muito maior que software.

Você toma o último gole de café.

E antes de clicar em DEPLOY, faz uma pergunta que talvez devesse estar impressa em toda sala onde IA crítica é construída:

“Se alguém tivesse milhões de reais de incentivo para descobrir como explorar aquilo que estou colocando em produção, eu continuaria confortável com esta arquitetura?”

Se a resposta for sim:

deploy.

Se for não:

chame segurança.

Chame arquitetura.

Chame jurídico.

Chame governança.

Chame o Red Team.

E, pelo amor de Grace Hopper...

não coloque TODO: corrigir depois e mande para produção.

Porque naquela madrugada o ticket pode ser apenas JIRA-84721.

Daqui a alguns anos ele pode aparecer numa tela completamente diferente:

EVIDÊNCIA Nº 84721

☕🧙‍♂️⚖️💻

No mundo da IA crítica, o chão da fábrica também faz parte da governança.



☕ Um Café no Bellacosa Mainframe // Tribunal Digital

Justiça, Inteligência Artificial e Algoritmos: Quando o Código Entra no Tribunal

Seis processos imaginários para discutir problemas muito reais: decisões automatizadas, IA jurídica, vieses, responsabilidade, concursos, algoritmos opacos, milhões de reais em disputa e a pergunta inevitável — quem responde quando o IF decide?

> PAUTA DO PLENÁRIO
PROCESSO=HUMANO_VS_ALGORITMO
MATÉRIA=IA_JURÍDICA
VALOR_DA_CAUSA=INDETERMINADO
TRANSPARÊNCIA=QUESTIONADA
EXPLICABILIDADE=REQUIRED
HUMAN_IN_THE_LOOP=RECOMMENDED
STATUS=EM_JULGAMENTO
PROCESSO 001

Dick Vigarista, IA e o Concurso Pay-to-Win

Uma reflexão sobre concursos, inteligência artificial, assimetria tecnológica, vantagem competitiva e os limites entre ferramenta legítima, desigualdade e manipulação.

IA Ética Concurso
Autos digitais Processo 001
PROCESSO 002

O Golpe de Mestre Algorítmico

Quando decisões aparentemente objetivas escondem modelos, regras, prioridades e escolhas humanas por trás de uma interface matemática que parece neutra.

Algoritmo Risco Governança
Autos digitais Processo 002
PROCESSO 003

John Belushi, IA Jurídica e o Dia em que o Tribunal Encontrou o Algoritmo

Inteligência artificial aplicada ao Direito, automação de decisões, responsabilidade profissional e os riscos de transformar recomendação algorítmica em verdade jurídica.

IA Jurídica Tribunal Decisão
Autos digitais Processo 003
PROCESSO 004

A Causa de R$ 300 Milhões e o IF do Algoritmo

O que acontece quando centenas de milhões de reais podem depender de uma condição lógica, de um dado incorreto ou de uma decisão transformada em código?

R$ 300 milhões IF Auditabilidade
Autos digitais Processo 004
PROCESSO 005

A Causa de R$ 300 Milhões e o Algoritmo

Algoritmos entram definitivamente no território jurídico: cálculo, inferência, responsabilidade, transparência e a necessidade de explicar como uma máquina chegou à conclusão.

Algoritmo R$ 300 milhões Explicabilidade
Autos digitais Processo 005
PROCESSO 006

Better Call COBOL

Quando o processo jurídico encontra sistemas legados, regras de negócio históricas, programas COBOL, rastreabilidade e a necessidade de reconstruir tecnicamente o que realmente aconteceu.

COBOL Forense Mainframe
Autos digitais Processo 006

⚖️ Quando o algoritmo entra nos autos

Durante décadas, tribunais trabalharam essencialmente com documentos, testemunhos, perícias, cálculos, precedentes e interpretação humana. Agora existe um novo personagem na sala de audiência: o algoritmo.

Ele pode classificar documentos, calcular valores, localizar precedentes, sugerir decisões, identificar padrões e resumir milhares de páginas. O problema começa quando uma ferramenta deixa de auxiliar a decisão e passa a influenciar silenciosamente o resultado.

“Excelência, o algoritmo chegou a essa conclusão.”

A pergunta seguinte deveria ser: como?
01 Dados entram
02 Modelo processa
03 Algoritmo recomenda
04 Humano interpreta
05 Tribunal decide
06 Quem responde?

🤖 Automação

Velocidade, escala, pesquisa massiva, consistência, processamento documental e capacidade de analisar volumes impossíveis para uma única pessoa.

⚖

👨‍⚖️ Julgamento humano

Contexto, proporcionalidade, contraditório, responsabilidade, interpretação da prova e capacidade de justificar a decisão perante as partes.

📚 Justiça, IA, algoritmos e sistemas críticos

Esta coleção reúne análises do Bellacosa Mainframe sobre inteligência artificial aplicada ao Direito, responsabilidade algorítmica, automação judicial, decisões automatizadas, sistemas legados, COBOL, auditoria e grandes disputas financeiras.

  1. Dick Vigarista, IA e o Concurso Pay-to-Win — inteligência artificial, concursos, assimetria tecnológica, ética e vantagem competitiva.
  2. O Golpe de Mestre Algorítmico — algoritmos, decisões automatizadas, governança e falsa neutralidade matemática.
  3. John Belushi, IA Jurídica e o Dia em que o Tribunal Encontrou o Algoritmo — inteligência artificial no Judiciário, responsabilidade e decisão humana.
  4. A Causa de R$ 300 Milhões e o IF do Algoritmo — regras de negócio, lógica computacional, auditoria e riscos financeiros.
  5. A Causa de R$ 300 Milhões e o Algoritmo — explicabilidade, decisões algorítmicas, responsabilidade e sistemas críticos.
  6. Better Call COBOL — COBOL, mainframe, prova técnica, rastreabilidade e investigação de sistemas legados.
☕ BELLACOSA MAINFRAME // TRIBUNAL DIGITAL
“CÓDIGO EXECUTA. ALGORITMOS RECOMENDAM. MAS RESPONSABILIDADE PRECISA TER NOME.”

terça-feira, 11 de agosto de 2026

Kubernetes para COBOLzeiros: o Guia do Mochileiro das Galáxias para quem saiu do JES2, encontrou um Pod e perguntou onde diabos colocaram o JCL

 

Bellacosa Mainframe apresenta kubernetes para coboleiros

☕ Um Café no Bellacosa Mainframe

Kubernetes para COBOLzeiros: o Guia do Mochileiro das Galáxias para quem saiu do JES2, encontrou um Pod e perguntou onde diabos colocaram o JCL

🚀 Pods, Deployments, Services, YAML, containers, RBAC, storage, GitOps e a estranha descoberta de que o mundo cloud-native passou décadas reinventando problemas que o velho operador do mainframe já conhecia — só que agora tudo tem nomes novos, logos simpáticos e pode desaparecer antes do café esfriar

Há uma frase impressa em letras grandes e amistosas na capa do Guia do Mochileiro das Galáxias:

NÃO ENTRE EM PÂNICO.

Se Douglas Adams tivesse vivido tempo suficiente para trabalhar com Kubernetes, provavelmente acrescentaria uma segunda:

E NÃO APAGUE O NAMESPACE prod.

Porque Kubernetes tem uma característica curiosa.

Quando você olha pela primeira vez, encontra palavras como:

Pod, Deployment, ReplicaSet, Service, Ingress, ConfigMap, Secret, StatefulSet, DaemonSet, Helm, Operator, CRD.

O COBOLzeiro veterano olha aquilo e pensa:

— Meu Deus. Inventaram outra computação.

Não inventaram.

Mudaram a arquitetura, mudaram a escala, mudaram a implementação, inventaram abstrações extremamente poderosas e deram nomes diferentes a problemas que, em muitos casos, nós já enfrentávamos quando o terminal ainda era verde.

Precisamos executar programas.

Precisamos saber onde executá-los.

Precisamos distribuir recursos.

Precisamos armazenar configurações.

Precisamos controlar acesso.

Precisamos monitorar aplicações.

Precisamos guardar dados.

Precisamos recuperar processos que morreram.

Precisamos instalar novas versões sem transformar terça-feira à noite numa reunião extraordinária com 27 pessoas.

E, acima de tudo:

precisamos impedir que alguma coisa quebrou às 02:47 da manhã sem ninguém saber por quê.

Então pegue sua toalha, seu café e talvez aquele manual de JCL que você insiste em manter na gaveta.

Hoje vamos viajar para Kubernetes.


1. Antes de Kubernetes havia... computadores

Vamos começar pelo começo.

Um programador COBOL iniciante conhece aproximadamente este universo:

Programa COBOL
      |
      v
Compilação
      |
      v
LOAD MODULE
      |
      v
JCL
      |
      v
JES
      |
      v
Execução

Naturalmente estou simplificando.

Mas existe uma ideia importante:

o programa precisa de um ambiente para executar.

Ele precisa de CPU, memória, arquivos, bibliotecas, configuração, permissões e recursos.

Isso nunca desapareceu.

No universo moderno surgiu outro problema.

Imagine uma aplicação desenvolvida em determinado ambiente:

Aplicação
+
bibliotecas
+
runtime
+
dependências
+
configuração

Na máquina do desenvolvedor funciona perfeitamente.

Vai para outro servidor:

ABEND GALÁCTICO

— Mas na minha máquina funciona!

Essa frase provavelmente causou mais sofrimento humano que Vogons lendo poesia.

Uma das respostas modernas para esse problema foram os containers.


2. Container: coloque a aplicação numa caixinha

De maneira bastante simplificada, um container empacota a aplicação e aquilo de que ela precisa para executar de forma consistente.

Pense:

+----------------------+
|      CONTAINER       |
|                      |
| aplicação            |
| runtime              |
| bibliotecas          |
| dependências         |
|                      |
+----------------------+

Isso melhora enormemente a portabilidade.

Mas imediatamente surge outro problema.

Você possui:

1 container

Tudo maravilhoso.

Depois:

10 containers

Administrável.

Depois:

100 containers

Interessante.

Depois:

3.000 containers

Alguém pergunta:

— Quem administra isso?

Silêncio na sala.

É nesse momento que Kubernetes entra pela porta.


3. Kubernetes não é simplesmente um “Docker grandão”

Essa comparação ajuda durante cinco minutos e depois começa a atrapalhar.

Kubernetes é uma plataforma para orquestração de workloads containerizadas.

A palavra mágica é:

ORQUESTRAÇÃO

Imagine uma orquestra com 200 músicos.

O maestro não toca simultaneamente todos os instrumentos.

Ele coordena o conjunto.

Kubernetes tenta responder perguntas como:

  • onde uma aplicação será executada?

  • quantas cópias dela devem existir?

  • o que fazer quando uma morre?

  • como encontrar essas cópias?

  • como distribuir tráfego?

  • como atualizar uma versão?

  • como fornecer configuração?

  • como controlar recursos?

  • como armazenar dados persistentes?

  • quem pode alterar o quê?

Isso já começa a parecer menos alienígena para alguém vindo de ambientes corporativos.


4. A ideia que muda tudo: estado desejado

Aqui está provavelmente o conceito mais importante de Kubernetes.

Você declara aquilo que deseja.

Por exemplo:

replicas: 3

Traduzindo para português de máquina do café:

“Senhor Kubernetes, eu gostaria que existissem três instâncias dessa aplicação.”

Ele observa:

DESEJADO = 3
ATUAL    = 3

Tudo certo.

Então uma delas morre:

DESEJADO = 3
ATUAL    = 2

Kubernetes percebe:

— Isso não está certo.

E tenta retornar para:

3

Esse processo é chamado, em essência, de reconciliação.

Podemos imaginar:

Estado desejado
      |
      v
Estado atual
      |
      v
São iguais?
  /       \
SIM       NÃO
 |         |
OK      corrigir
           |
           +------+
                  |
                  v
              observar
              novamente

Kubernetes é, em grande parte, uma enorme máquina dizendo:

“O universo não está como deveria estar. Vou tentar consertá-lo.”

É uma ambição que normalmente encontramos apenas em sistemas distribuídos, religiões e departamentos de arquitetura corporativa.


5. Control Plane: conheça o cérebro da criatura

Um cluster Kubernetes pode ser imaginado assim:

                 KUBERNETES CLUSTER
                        |
           +------------+------------+
           |                         |
     CONTROL PLANE              WORKER NODES
           |                         |
     API Server                    Pods
     Scheduler                     kubelet
     Controllers                   runtime
     etcd                          network

O Control Plane administra o estado do cluster.

E um dos personagens principais é:

kube-apiserver

Quando você executa:

kubectl get pods

não está indo de porta em porta perguntar aos containers:

— Boa tarde, senhor Pod, o senhor está vivo?

Você fala com a API do Kubernetes.

Conceitualmente:

VOCÊ
 |
kubectl
 |
 v
API SERVER
 |
 +-- autenticação
 +-- autorização
 +-- validação
 +-- recursos do cluster

Esse detalhe revela uma característica fundamental:

Kubernetes é profundamente API-driven.


6. etcd: o sujeito que sabe das coisas

O etcd é um armazenamento distribuído chave-valor usado pelo Kubernetes para guardar dados essenciais sobre o estado do cluster.

Imagine que alguém diga:

— Temos backup dos servidores.

Ótimo.

— E do etcd?

Silêncio.

Uma mosca passa.

O operador começa lentamente a beber o café.

Informações críticas do estado do cluster dependem dele. Portanto backup e recuperação do etcd são assuntos sérios.

Primeira regra da produção:

Backup que nunca teve restauração testada é uma crença religiosa.


7. Scheduler: o JES encontrou um primo distante

Você solicita uma workload.

Existem vários Nodes:

NODE-A
NODE-B
NODE-C
NODE-D

Onde ela será executada?

O Scheduler participa dessa decisão.

Ele considera recursos e restrições como:

CPU
memória
afinidade
anti-afinidade
taints
tolerations
restrições de placement

O COBOLzeiro começa a sorrir.

— Espere... alguém recebe uma carga de trabalho, olha recursos e decide onde executar?

Sim.

— Então é JES?

NÃO.

Guarde a toalha.

As tecnologias, arquiteturas e responsabilidades são diferentes.

Mas existe um parentesco conceitual extremamente útil para aprender.

O truque para um profissional experiente aprender tecnologia nova não é fingir que tudo é completamente novo.

É perguntar:

“Qual problema antigo essa abstração está tentando resolver de uma maneira nova?”


8. Worker Node: onde a marmota realmente trabalha

O Control Plane coordena.

Os Worker Nodes executam as workloads.

Dentro deles encontramos componentes como o kubelet, runtime de containers e elementos relacionados a networking.

Podemos imaginar:

WORKER NODE
 |
 +-- kubelet
 |
 +-- runtime
 |
 +-- POD
 |    |
 |    +-- container
 |
 +-- POD
      |
      +-- container

E aqui encontramos talvez a palavra mais famosa do Kubernetes.


9. POD — não é ervilha espacial

O Kubernetes não trabalha simplesmente administrando containers isoladamente.

Uma unidade fundamental de execução é o:

Pod

Normalmente encontramos:

Pod
 |
 +-- Container

Mas um Pod pode possuir mais de um container quando existe uma razão arquitetural para isso:

Pod
 |
 +-- aplicação
 |
 +-- container auxiliar

Containers no mesmo Pod compartilham aspectos importantes de seu ambiente.

Portanto:

POD != CONTAINER

Grave isso.

Pode parecer uma distinção acadêmica no primeiro dia.

No vigésimo ela salva sua compreensão do ambiente.


10. E o Pod morreu

Aqui acontece uma transformação filosófica interessante para quem passou décadas tratando servidores como indivíduos.

No mundo tradicional:

“Esse é o servidor XPTO01. Cuide dele.”

No Kubernetes, muita infraestrutura é tratada como efêmera.

O Pod morreu?

Pode surgir outro.

Hoje:

Pod A
10.20.1.17

Amanhã:

Pod A = morto

Pod B
10.20.4.38

Por isso construir dependências baseadas diretamente na identidade transitória de um Pod seria uma péssima ideia.

Precisamos de abstrações.


11. ReplicaSet: quero três vivos

Imagine:

Desejado = 3 Pods

Temos:

Pod
Pod
Pod

Um desaparece:

Pod
X
Pod

O ReplicaSet ajuda a manter:

3

criando outro.

Aqui reencontramos nosso velho amigo:

estado desejado.


12. Deployment: agora precisamos atualizar tudo

Na prática, para aplicações comuns, normalmente trabalhamos com um Deployment, que administra ReplicaSets e facilita rollouts.

Imagine:

Deployment
    |
ReplicaSet V1
    |
 +-- Pod
 +-- Pod
 +-- Pod

Sai versão nova.

Em vez de:

PARE TUDO!

podemos fazer uma substituição progressiva:

V1  V1  V1

V2  V1  V1

V2  V2  V1

V2  V2  V2

Isso é tremendamente importante em ambientes modernos onde deploys podem ocorrer com frequência.

E quando algo dá errado?

Rollback passa a fazer parte da conversa.


13. Service: “mas qual IP eu chamo?”

Lembra que Pods podem desaparecer?

Temos:

Frontend
    |
    ???
    |
Backend Pods

Como o frontend encontra o backend se os Pods mudam?

Usamos uma abstração chamada:

Service

CLIENTE
   |
   v
SERVICE
   |
   +---- Pod
   |
   +---- Pod
   |
   +---- Pod

O Service fornece um ponto lógico estável para acessar um conjunto de Pods selecionados.

Aqui existe uma das ideias mais bonitas do cloud-native:

colocar identidade lógica estável diante de componentes fisicamente transitórios.


14. ConfigMap: não coloque o universo dentro do programa

Aplicações precisam de configurações:

LOG_LEVEL=INFO
LANGUAGE=PT_BR
API_HOST=...

Você poderia colocar tudo dentro da imagem.

Mas então qualquer mudança exigiria outra construção da imagem.

ConfigMaps permitem separar parte da configuração da aplicação.

É uma evolução daquele princípio antigo:

programa é uma coisa; parâmetros do ambiente são outra.

COBOLzeiro conhece essa conversa há décadas, mesmo usando mecanismos completamente diferentes.


15. Secret: o nome promete mais do que parece

Temos informações sensíveis:

senha
token
chave
certificado

Kubernetes possui o objeto Secret.

Mas cuidado com uma armadilha clássica:

Um objeto chamado Secret não significa automaticamente “segredo absolutamente protegido contra tudo”.

Segurança adequada envolve também:

  • RBAC;

  • criptografia em repouso;

  • proteção do etcd;

  • controle de Service Accounts;

  • secret managers;

  • rotação;

  • auditoria;

  • mínimo privilégio.

Colocar a senha em Secret e declarar vitória é como escrever:

//PASSWORD DD *
SUPERSECRETA123
/*

e colocar uma etiqueta dizendo CONFIDENCIAL.

A etiqueta não é o controle de segurança.


16. Storage: containers morrem; saldo bancário não deveria

Containers são naturalmente descartáveis.

Dados empresariais frequentemente não são.

Imagine:

Banco de dados
     |
 container
     |
   morreu

Kubernetes responde:

— Sem problemas, fazemos outro!

O DBA responde:

— E MEUS DADOS?

E nesse instante nasce uma reunião.

Para persistência encontramos conceitos como:

PersistentVolume
PersistentVolumeClaim
StorageClass

Simplificando:

POD
 |
PVC
 |
PV
 |
STORAGE REAL

O Pod pode ser transitório.

O armazenamento precisa seguir regras diferentes.


17. StatefulSet: quando identidade importa

Deployments funcionam muito bem quando as instâncias podem ser relativamente intercambiáveis.

Mas nem toda workload funciona assim.

Algumas precisam de identidade previsível:

db-0
db-1
db-2

e armazenamento associado.

Aparece então o:

StatefulSet

Ele é especialmente relevante para workloads stateful e sistemas distribuídos que precisam de identidade e ordenação mais previsíveis.

Isso não significa:

“StatefulSet transforma magicamente qualquer banco em banco cloud-native.”

Se fosse tão fácil, DBA seria uma profissão de seis minutos.


18. DaemonSet: um para cada Node

Imagine um agente de monitoramento que precisa existir em todos os Nodes:

NODE A → agente
NODE B → agente
NODE C → agente
NODE D → agente

O DaemonSet serve muito bem para esse padrão.

Aplicações típicas incluem agentes de:

  • observabilidade;

  • logging;

  • segurança;

  • networking.

Quando surge outro Node, a intenção pode ser automaticamente refletida nele.

Estado desejado novamente.

Kubernetes é quase obsessivo.


19. Jobs e CronJobs: o COBOLzeiro reconhece um parente

Nem tudo precisa ficar executando eternamente.

Temos tarefas:

INÍCIO
 |
PROCESSAMENTO
 |
FIM

Kubernetes possui Jobs.

E para tarefas periódicas:

CronJobs

O COBOLzeiro imediatamente pergunta:

— Então isso é batch?

Em espírito, estamos no mesmo bairro.

Mas não na mesma casa.

Um Job Kubernetes não substitui automaticamente décadas de ecossistema batch corporativo, scheduling, dependências, restart/recovery, controles operacionais e processamento transacional.

Ainda assim, a analogia ajuda enormemente:

Job → trabalho finito

CronJob → trabalho agendado

20. Requests e Limits: WLM manda lembranças

Aqui chegamos a uma área deliciosa para quem conhece mainframe.

Uma workload pode declarar algo semelhante a:

resources:
  requests:
    cpu: "500m"
    memory: "512Mi"
  limits:
    cpu: "1"
    memory: "1Gi"

Simplificando, requests ajudam a expressar recursos necessários para scheduling; limits impõem tetos de utilização conforme o recurso.

A pergunta filosófica é antiga:

Temos recursos finitos e consumidores potencialmente infinitos. Quem recebe quanto?

O mainframe possui décadas de engenharia sofisticadíssima em workload management.

Kubernetes aborda isso dentro de seu próprio modelo.

Não diga:

Kubernetes WLM = IBM WLM

Não são equivalentes.

Diga:

Ambos enfrentam aspectos do velho problema de administrar recursos compartilhados e workloads concorrentes.

Essa comparação ensina.

A equivalência enganaria.


21. Agora chegamos ao inferno: produção

Até aqui tudo funciona.

Tutorial:

pod/myapp created

Aluno:

— Kubernetes é fácil!

Produção:

CrashLoopBackOff

Aluno:

— Chamem um adulto.

E aqui começa o verdadeiro treinamento.

Você precisa conhecer:

  • logs;

  • events;

  • probes;

  • métricas;

  • CPU;

  • memória;

  • DNS;

  • networking;

  • storage;

  • permissões;

  • dependências;

  • configuração.

Porque:

CrashLoopBackOff

não significa:

“Execute o comando secreto número 17.”

Significa que existe um comportamento de reinício repetido a investigar.

A causa pode ser:

configuração errada
dependência indisponível
credencial
permissão
OOM
bug
porta
DNS
storage
probe

É quase o nosso querido:

S0C7

O código oferece uma pista.

Mas experiência transforma a pista em investigação.


22. Observabilidade: o cluster precisa falar

Imagine:

Usuário
  |
Ingress
  |
Service
  |
Pod
  |
Aplicação
  |
API
  |
Banco

Usuário diz:

“Está lento.”

Maravilha.

Onde?

Precisamos de diferentes sinais:

METRICS
LOGS
TRACES
EVENTS

Não basta saber que um Pod está Running.

Um processo pode estar vivo e a aplicação completamente inútil.

É por isso que existem conceitos como:

liveness probe e readiness probe.

De forma simplificada:

Liveness:
"Você ainda está vivo?"

Readiness:
"Você está pronto para receber tráfego?"

São perguntas diferentes.

Um sujeito pode estar vivo às seis da manhã e absolutamente não estar pronto para receber tráfego.

Eu sou prova disso antes do café.


23. RBAC: RACF olha pela janela

RBAC significa Role-Based Access Control.

A pergunta é familiar:

QUEM
 |
pode fazer
 |
O QUÊ
 |
sobre QUAL RECURSO?

Exemplo:

PROGRAMADOR
 |
 +--> visualizar Pods       SIM
 +--> consultar logs        SIM
 +--> destruir cluster      NÃO, ESPERAMOS

Quem conhece RACF encontra aqui outra ponte conceitual.

RBAC não é RACF.

Mas autorização baseada em identidades, recursos, permissões e mínimo privilégio definitivamente não nasceu ontem.


24. NetworkPolicy: “você não precisa conversar com ele”

Imagine:

FRONTEND
    |
BACKEND
    |
DATABASE

O frontend precisa realmente acessar diretamente o banco?

Talvez não.

Então podemos desejar:

Frontend ---> Backend     OK
Frontend -X-> Database    NÃO

Backend ----> Database    OK

Network Policies permitem controlar fluxos de rede entre workloads quando suportadas adequadamente pelo ambiente de networking.

Aqui começamos a caminhar em direção a arquiteturas mais próximas do princípio de:

negue aquilo que não é necessário.


25. Helm: porque 47 YAMLs também cansam

No início temos:

deployment.yaml

Depois:

deployment.yaml
service.yaml
configmap.yaml
ingress.yaml
secret.yaml
pvc.yaml
...

Em determinado momento alguém pergunta:

— Não poderíamos empacotar isso?

Entra Helm.

Helm trabalha com Charts, templates e valores configuráveis.

Conceitualmente:

Chart
 |
 +-- templates
 |
 +-- values
 |
 +-- metadata

E aqui ocorre um ritual iniciático cloud-native:

  1. você aprende YAML;

  2. aprende templates;

  3. aprende templates que produzem YAML;

  4. recebe uma mensagem de erro;

  5. olha para o teto;

  6. reconsidera decisões profissionais;

  7. resolve;

  8. coloca no LinkedIn.


26. CRD: “eu também posso inventar objetos?”

Sim.

Uma das capacidades mais interessantes do Kubernetes são as Custom Resource Definitions.

Originalmente você trabalha com recursos como:

Pod
Service
Deployment

Com CRDs podemos estender a API com recursos específicos.

Conceitualmente:

Database
Certificate
KafkaCluster
Backup
MeuObjetoCorporativo

Isso revela que Kubernetes é mais que um mero lançador de containers.

Ele oferece uma espécie de framework declarativo extensível para sistemas de controle.

Essa mudança mental é importante.


27. Operator: o runbook ganhou pernas

Imagine o velho especialista.

Ele sabe:

SE A acontecer
   verifique B

SE B estiver assim
   execute C

SE C falhar
   tente D

Décadas de conhecimento operacional.

Um Operator tenta codificar conhecimento operacional específico usando o modelo de controllers e reconciliação do Kubernetes.

Simplificando:

Conhecimento operacional
          |
          v
       código
          |
          v
      Operator
          |
          v
observa → decide → reconcilia

É como se parte do runbook ganhasse vida.

Não elimina o especialista.

Muda o lugar onde parte do conhecimento dele vive.


28. CI/CD: ninguém deveria levar o deploy num disquete

O próximo passo natural é automação.

Temos:

Código
 |
Git
 |
Build
 |
Teste
 |
Imagem
 |
Registry
 |
Deploy
 |
Kubernetes

Entramos no território de CI/CD.

E depois aparece GitOps.

Em vez de alguém alterar manualmente produção:

OPERADOR
 |
kubectl
 |
PRODUÇÃO

podemos trabalhar com um modelo no qual o Git representa o estado desejado relevante:

Developer
   |
   v
  Git
   |
Pull Request
   |
Review
   |
   v
GitOps Controller
   |
   v
Cluster

Isso melhora possibilidades de:

  • rastreabilidade;

  • auditoria;

  • revisão;

  • versionamento;

  • recuperação;

  • consistência.

Mas lembre-se:

automatizar processo ruim produz desastre em velocidade industrial.


29. O que aquele roadmap deveria mostrar antes do Kubernetes

Aqui está minha principal crítica à figura.

Eu colocaria uma Fase Zero:

FASE ZERO

Linux
  |
processos
  |
filesystem
  |
CPU/memória
  |
networking
  |
TCP/IP
  |
DNS
  |
HTTP
  |
TLS
  |
containers
  |
images
  |
runtime
  |
KUBERNETES

Por quê?

Porque Kubernetes não aboliu o sistema operacional.

Nem aboliu rede.

Nem DNS.

Especialmente DNS.

Existe um antigo espírito maligno vagando pelos datacenters dizendo:

“It's always DNS.”

Quando você acha que não é DNS, eventualmente descobre que era DNS usando bigode falso.


30. Networking merece uma fase própria

Eu ampliaria o roadmap para incluir profundamente:

IP
CIDR
TCP
UDP
DNS
NAT
routing
TLS
Load Balancing
ClusterIP
NodePort
LoadBalancer
Ingress
CNI
NetworkPolicy

Porque um dos incidentes mais frustrantes é:

Pod: Running
Application: Healthy
Service: Exists

Usuário: NÃO FUNCIONA.

Então começa a expedição arqueológica.


31. Segurança de supply chain também precisa entrar

Em 2026 não basta perguntar:

“A imagem funciona?”

Precisamos perguntar:

Quem construiu essa imagem?
De onde veio?
Qual imagem base foi usada?
Possui vulnerabilidades?
Tem SBOM?
Foi assinada?
Quem pode publicar?
Foi adulterada?

Ou seja, o roadmap moderno precisa incluir:

  • scanning;

  • provenance;

  • SBOM;

  • assinatura;

  • admission policies;

  • least privilege;

  • gestão de secrets;

  • identidade de workloads;

  • atualização segura.

O container é conveniente justamente porque carrega muita coisa consigo.

E tudo aquilo que carregamos conosco também pode carregar problemas.


32. E o mainframe no meio dessa galáxia?

Aqui existe uma oportunidade fantástica para o COBOLzeiro.

Não pense:

Kubernetes
VERSUS
Mainframe

Pense:

                 INTERNET
                    |
              KUBERNETES
                    |
              APIs / serviços
                    |
          +---------+---------+
          |                   |
       CLOUD              MAINFRAME
                           |
                   +-------+-------+
                   |       |       |
                  CICS    IMS     Db2
                   |
                 COBOL

Kubernetes não precisa destruir o mainframe para justificar sua existência.

Um banco pode perfeitamente ter sistemas transacionais críticos em IBM Z enquanto utiliza Kubernetes para APIs, integração, canais digitais, serviços distribuídos, observabilidade e outras workloads.

O mundo corporativo real é híbrido.

A Millennium Falcon também não foi construída inteira pela mesma consultoria.

Provavelmente por isso funcionava.


33. O laboratório que eu faria para um COBOLzeiro

Aqui está o caminho prático.

Não faça 25 tutoriais desconectados.

Construa uma aplicação e faça-a evoluir.

Chamaremos:

BELLACOSA INTERGALACTIC BANK

Versão 1:

Frontend

Versão 2:

Frontend
   |
Backend

Versão 3:

Frontend
   |
Service
   |
Backend

Versão 4:

Ingress
   |
Frontend
   |
Service
   |
Backend
   |
Database

Depois acrescente:

ConfigMap
Secrets
PVC
Requests
Limits
Probes
RBAC
NetworkPolicy
Monitoring
Logging

Depois:

CI/CD

Depois:

GitOps

E somente então:

Helm
Operators
CRDs

Não tente aprender a galáxia inteira antes de visitar a Lua.


34. Agora destrua tudo

Esta é a etapa que falta em muitos cursos.

Faça o Pod morrer.

kubectl delete pod ...

Observe o que acontece.

Coloque memória insuficiente.

Quebre uma configuração.

Use uma imagem inexistente.

Quebre uma readiness probe.

Remova uma permissão.

Altere uma NetworkPolicy.

Crie problema de storage.

Observe:

Pending
ImagePullBackOff
CrashLoopBackOff
OOMKilled
Forbidden
Readiness probe failed

Para cada incidente pergunte:

O QUE aconteceu?

POR QUE aconteceu?

QUAL componente percebeu?

QUAL estado era desejado?

QUAL estado existia?

QUEM tentou reconciliar?

ONDE encontro evidência?

COMO evitar novamente?

Esse exercício ensina dez vezes mais do que decorar cinquenta comandos.


35. O COBOLzeiro possui uma vantagem escondida

O programador COBOL iniciante talvez olhe Kubernetes e pense que está começando do zero.

Não está.

Se ele está aprendendo o ecossistema mainframe simultaneamente, já está entrando em contato com perguntas universais:

Como programas são executados?

Como recursos são alocados?

Como identidade funciona?

Como permissões são verificadas?

Como dados persistem?

Como jobs são agendados?

Como falhas são diagnosticadas?

Como mudanças chegam à produção?

Como recuperamos alguma coisa que quebrou?

Essas perguntas atravessaram gerações de computadores.

As respostas mudaram.

As perguntas continuam surpreendentemente parecidas.


36. A tabela de tradução intergaláctica

Não como equivalência técnica, mas como pontes mentais:

Universo MainframeUniverso KubernetesIdeia em comum
JES/schedulingScheduler/Jobsexecução organizada de workloads
JCL/parâmetrosmanifests/configuraçãodeclarar como executar
PROCtemplates/Helmreutilização
RACFRBACautorização
WLMrequests/limits/schedulinggestão de recursos
Started Tasksserviços/workloads contínuasprocessos duradouros
Scheduler batchCronJobexecução periódica
datasets/storagePV/PVCpersistência
Sysplex/HAcluster/replicasdisponibilidade
SMF/RMF/logsmetrics/logs/tracesobservabilidade
RunbookOperatorconhecimento operacional

Novamente:

não são equivalentes.

Essa tabela é mapa turístico, não especificação de arquitetura.

Se você tentar usar um mapa turístico para fazer cirurgia, o resultado será digno dos Vogons.


37. Do iniciante ao arquiteto

Existe uma progressão interessante.

Nível 1

O aluno pergunta:

“Como crio um Pod?”

Nível 2

Pergunta:

“Como faço três réplicas?”

Nível 3

Pergunta:

“Por que esse Pod morreu?”

Nível 4

Pergunta:

“Por que ele continua morrendo?”

Nível 5

Pergunta:

“Por que nossa arquitetura permitiu que a morte desse Pod afetasse usuários?”

Nível 6

Pergunta:

“Como eliminamos essa classe inteira de falhas?”

Essa é a transformação.

COMANDO
   ↓
OBJETO
   ↓
PLATAFORMA
   ↓
OPERAÇÃO
   ↓
ARQUITETURA
   ↓
ENGENHARIA DE RESILIÊNCIA

38. Easter Egg: Kubernetes e o número 42

No Guia do Mochileiro das Galáxias, a resposta para a Grande Questão da Vida, do Universo e Tudo Mais é:

42

Depois descobriram que ninguém sabia exatamente qual era a pergunta.

Kubernetes possui uma versão corporativa disso.

O arquiteto pergunta:

— Quantas réplicas precisamos?

Consultor:

— Três.

— Por quê?

— Alta disponibilidade.

— Baseado em qual cálculo?

— ...

— Tráfego?

— ...

— SLO?

— ...

— capacidade?

— ...

— histórico de falhas?

— ...

— teste de carga?

— ...

Três virou o 42 da arquitetura cloud-native.

😆

A lição é excelente:

uma resposta tecnicamente plausível sem a pergunta correta continua sendo apenas uma resposta procurando uma justificativa.


39. Outra curiosidade: Kubernetes significa timoneiro

O nome vem do grego e remete à ideia de timoneiro/piloto.

Daí também o famoso leme no logotipo.

E isso é poeticamente perfeito.

Kubernetes não é o navio.

Não é a carga.

Não é o oceano.

Ele ajuda a conduzir a embarcação.

Só existe um detalhe que nenhum tutorial coloca em letras suficientemente grandes:

você ainda precisa saber navegar.

Kubernetes não elimina a necessidade de conhecer Linux, redes, storage, segurança, aplicações e sistemas distribuídos.

Na realidade, em ambientes complexos ele pode exigir que você compreenda um pouco de todos eles simultaneamente.


40. O segredo final do roadmap

A imagem original termina aproximadamente com a ideia:

consistência + prática = especialista Kubernetes.

Eu acrescentaria algumas variáveis:

TEORIA
   +
PRÁTICA
   +
ERRO
   +
OBSERVAÇÃO
   +
TROUBLESHOOTING
   +
DOCUMENTAÇÃO
   +
CURIOSIDADE
   +
INCIDENTES
   +
CAFÉ
   =
EXPERIÊNCIA

Principalmente os erros.

Porque executar:

kubectl get pods

é fácil.

Interpretar:

NAME             READY   STATUS
app-7d98         0/1     CrashLoopBackOff

é outra história.

E descobrir que o Pod não era a causa, que a aplicação estava falhando porque não conseguia alcançar uma dependência, que a dependência estava inacessível por causa de uma alteração de rede introduzida no deploy anterior...

Aí temos engenharia.


☕ Epílogo — O COBOLzeiro pega sua toalha

Nosso programador começou a viagem olhando para um roadmap colorido e pensando:

“Pod? Helm? Ingress? CRD? Operator? Eu só queria aprender Kubernetes.”

Agora ele sabe que Kubernetes não é uma coleção de palavras estranhas.

É uma resposta moderna para um conjunto de problemas profundamente antigos:

executar, distribuir, controlar, proteger, observar, recuperar e evoluir software.

O mainframe resolveu muitos desses problemas dentro de seu próprio universo durante décadas.

Unix resolveu outros.

Cloud resolveu outros.

Containers mudaram novamente a unidade de distribuição.

Kubernetes apareceu para coordenar esse novo zoológico.

E talvez essa seja a maior lição para um programador COBOL entrando no mundo cloud-native:

não jogue fora aquilo que você aprendeu.

Traduza.

Quando encontrar RBAC, lembre-se das perguntas que RACF ensinou a fazer.

Quando encontrar requests e limits, pense nas questões que WLM levanta.

Quando encontrar Jobs, recorde o mundo batch.

Quando encontrar observabilidade, pense em RMF, SMF, logs e diagnóstico.

Quando encontrar Operators, pense no velho runbook do especialista que sabia exatamente o que fazer quando determinada luz vermelha acendia.

Não porque essas tecnologias sejam iguais.

Mas porque a história da computação é cheia de novas respostas para perguntas antigas.

E algum dia, provavelmente às 03:17 da manhã, você encontrará isto:

CrashLoopBackOff

O jovem aprendiz perguntará:

— Mestre, qual comando resolve isso?

Você tomará um gole de café, olhará calmamente para o terminal e responderá:

— Nenhum. Primeiro precisamos descobrir o que aconteceu.

Nesse instante terá ocorrido algo muito mais importante que aprender Kubernetes.

Você terá aprendido a pensar como alguém de produção.

E, como diria o Guia do Mochileiro das Galáxias, enquanto o cluster inteiro estiver pegando fogo:

+---------------------------------------+
|                                       |
|          NÃO ENTRE EM PÂNICO          |
|                                       |
|      kubectl get events               |
|                                       |
|          E LEVE UMA TOALHA            |
|                                       |
+---------------------------------------+

☕🚀

Bem-vindo ao Kubernetes, COBOLzeiro.

A galáxia continua distribuída, eventualmente consistente, estranhamente documentada e, por algum motivo que ninguém conseguiu explicar satisfatoriamente, ainda depende de DNS.

O Êxodo dos COBOLzeiros: quando ganhar menos em outra carreira começa a parecer um ótimo negócio

Bellacosa Maifnrame e o exodo dos cobolzeiros

☕ Um Café no Bellacosa Mainframe

O Êxodo dos COBOLzeiros: quando ganhar menos em outra carreira começa a parecer um ótimo negócio

🔴🔵 Matrix, mainframe e o paradoxo de uma indústria que reclama da falta de especialistas enquanto torna cada vez menos atraente continuar sendo um deles

Por Vagner Bellacosa


VAGA:

30 ANOS DE EXPERIÊNCIA
COBOL
CICS
DB2
JCL
VSAM
MQ
RACF
PRODUÇÃO
SISTEMA FINANCEIRO
PLANTÃO
INCIDENTES
AUDITORIA
COMPLIANCE
DEVOPS
APIs

CONTRATO: 12 MESES
RENOVAÇÃO: INCERTA
CARREIRA: N/A
ESTABILIDADE: N/A

SALÁRIO: "A COMBINAR"

Neo olha para a tela.

Lê novamente.

Trinta anos de experiência.

COBOL.

CICS.

Db2.

JCL.

VSAM.

MQ.

RACF.

Produção.

Incidentes.

Auditoria.

Compliance.

DevOps.

APIs.

Disponibilidade.

Responsabilidade.

Conhecimento de negócio.

Contrato de doze meses.

Ele permanece alguns segundos olhando para o monitor.

Depois fecha a vaga.

Abre outra janela.

Morpheus aparece atrás dele.

— Vai para onde?

Neo olha para a tela.

— Ainda não sei.

Faz uma pausa.

E responde:

Só descobri que não preciso continuar aqui.

Silêncio.

Morpheus sorri.

Pegue seu café.

Hoje não vamos falar sobre como trazer gente para o mainframe.

Vamos falar sobre uma pergunta talvez ainda mais importante:

Por que alguns dos que já estão aqui começam a querer ir embora?


💊 Temos novamente duas pílulas

🔵 A pílula azul diz:

Existe falta de profissionais COBOL porque a tecnologia é antiga, muitos especialistas estão se aposentando e poucas pessoas entraram durante determinadas décadas.

Existe bastante verdade nisso.

Agora Morpheus levanta a outra mão.

🔴 A pílula vermelha pergunta:

E quantos profissionais que poderiam continuar simplesmente decidiram que continuar deixou de valer a pena?

Essa pergunta muda completamente o diagnóstico.

Porque talvez tenhamos passado anos discutindo apenas:

COMO COLOCAR MAIS GENTE?

quando deveríamos também perguntar:

POR QUE GENTE EXPERIENTE ESTÁ SAINDO?

São problemas diferentes.

E exigem soluções completamente diferentes.


🧓 O COBOLzeiro não nasceu sênior

Existe algo curioso quando olhamos para um profissional com trinta anos de experiência.

Parece que ele sempre esteve ali.

Como um IBM Z.

Você entra no CPD e imagina que aquilo nasceu junto com o prédio.

🤣

Mas não.

Aquele profissional precisou ser construído.

Começou sem saber.

Aprendeu COBOL.

Depois JCL.

Depois arquivos.

Depois banco de dados.

Depois CICS.

Depois produção.

Depois negócio.

Depois descobriu que produção é uma universidade que oferece cursos intensivos às três da manhã.

CURSO:
DIAGNÓSTICO DE INCIDENTES I

HORÁRIO:
03:17

INSTRUTOR:
PRODUÇÃO PARADA

MATERIAL DIDÁTICO:
SYSLOG

AVALIAÇÃO:
CEO ESPERANDO

Essa disciplina costuma formar especialistas rapidamente.


📚 Trinta anos comprimidos em “Senior Developer”

O currículo diz:

Senior Mainframe Developer.

Cinco palavras.

Atrás delas existem décadas.

Primeiro abend.

Primeira implantação.

Primeira recuperação.

Primeiro incidente crítico.

Primeira madrugada.

Primeira decisão errada.

Primeira vez que alguém disse:

“Isso nunca aconteceu antes.”

E ele descobriu que essa frase significa:

“Boa sorte.”

Tudo isso vira:

EXPERIENCE: 30 YEARS

É uma compressão extraordinária.

Mas existe um problema.

Esses trinta anos precisam continuar fazendo sentido economicamente para quem os carregou.


💰 O prêmio da complexidade

Toda profissão difícil precisa oferecer algum motivo para as pessoas continuarem nela.

Pode ser:

dinheiro,

estabilidade,

autonomia,

prestígio,

carreira,

benefícios,

aprendizado,

flexibilidade,

qualidade de vida,

propósito.

Normalmente é uma combinação.

Vamos chamar isso de:

Prêmio da Complexidade

Quanto mais difícil, arriscada, especializada ou desgastante uma atividade, maior precisa ser alguma forma de compensação.

Não necessariamente apenas salário.

Imagine:

ALTA RESPONSABILIDADE
+
ALTA ESPECIALIZAÇÃO
+
ALTA PRESSÃO
+
ALTA REGULAÇÃO
+
ALTA DISPONIBILIDADE
+
ALTO CUSTO DE FORMAÇÃO
+
ALTA CONSEQUÊNCIA DO ERRO

=

PRECISA EXISTIR ALGUMA
COMPENSAÇÃO ATRAENTE

Se ela desaparece, surge uma pergunta inevitável:

Por que continuar?


🏦 Software financeiro não é CRUD da padaria

Nada contra a padaria.

Aliás, adoro padaria.

Mas determinados sistemas financeiros carregam características particulares.

Um erro pode afetar:

milhares de clientes,

milhões de transações,

pagamentos,

cartões,

contabilidade,

investimentos,

crédito,

liquidação,

regulação,

reputação.

Portanto existe enorme quantidade de controle.

E corretamente.

Auditoria.

Segurança.

Segregação de funções.

Change management.

Homologação.

Compliance.

Arquitetura.

Gestão de risco.

Aprovações.

Revisões.

Evidências.

Nada disso existe apenas para irritar o programador.

São sistemas críticos.

Precisam de controle.

A pílula azul está correta.


🔴 Mas existe o outro lado

O profissional pode viver algo assim:

AUTONOMIA ............... ↓
BUROCRACIA .............. ↑
RESPONSABILIDADE ........ ↑
PRESSÃO ................. ↑
RISCO ................... ↑
CONTROLE ................ ↑
ESTABILIDADE ............ ↓
PRÊMIO SALARIAL ......... ↓

Então chega um momento em que ele olha para a equação e pergunta:

“Ainda vale?”

Não:

“O salário é bom?”

Essa é outra pergunta.

Ainda vale?


💵 R$ 15 mil pode ser muito e pouco ao mesmo tempo

Essa discussão exige cuidado.

Uma remuneração considerada alta em relação ao conjunto do mercado de trabalho pode ser percebida como insuficiente para determinada combinação de senioridade, especialização, pressão, risco, disponibilidade e instabilidade.

As duas coisas podem ser verdade.

O profissional não compara apenas:

MEU SALÁRIO
versus
SALÁRIO MÉDIO

Ele também compara:

MINHA REMUNERAÇÃO

versus

TUDO QUE PRECISO ENTREGAR
PARA RECEBÊ-LA

Essa segunda conta pode produzir resultados surpreendentes.


🧮 O ROI da própria carreira

Depois de décadas, o profissional começa a fazer algo que talvez não fizesse aos vinte anos.

Calcula o retorno da carreira.

ROI DA CARREIRA =

DINHEIRO
+ ESTABILIDADE
+ AUTONOMIA
+ RECONHECIMENTO
+ APRENDIZADO
+ QUALIDADE DE VIDA

-

PRESSÃO
- INCERTEZA
- TEMPO
- RESPONSABILIDADE
- ATUALIZAÇÃO
- BUROCRACIA
- PLANTÕES
- ESTRESSE

Obviamente isso não é uma equação financeira real.

É uma forma de pensar.

E então acontece algo fascinante.

Outra profissão pode pagar menos...

e apresentar ROI pessoal maior.


🚪 A porta lateral da Matrix

Imagine duas oportunidades.

Trabalho A

RENDA ............... 15
PRESSÃO .............. 9
INSTABILIDADE ........ 8
BUROCRACIA ........... 9
RESPONSABILIDADE ..... 10
AUTONOMIA ............ 3

Trabalho B

RENDA ............... 11
PRESSÃO .............. 4
INSTABILIDADE ........ 3
BUROCRACIA ........... 4
RESPONSABILIDADE ..... 6
AUTONOMIA ............ 7

Durante muito tempo imaginamos que A venceria automaticamente.

Porque:

15 > 11.

Mas seres humanos não executam apenas:

IF SALARY-A > SALARY-B
   MOVE 'A' TO CAREER.

Existe vida em volta da variável.


☕ Quanto custa sua paz?

Essa talvez seja uma das perguntas mais interessantes que aparecem depois de décadas trabalhando.

Aos vinte anos:

Quanto consigo ganhar?

Depois:

Quanto consigo crescer?

Depois:

Quanto consigo acumular?

E talvez um dia:

Quanto estão me pagando para comprar minha paz?

Essa mudança altera tudo.

Quatro mil reais adicionais podem parecer extraordinários.

Até você descobrir que eles compram:

noites,

finais de semana,

plantões,

incerteza,

reuniões,

pressão,

deslocamento,

responsabilidade,

sono.

Então talvez alguém diga:

“Prefiro ganhar menos.”

Quem olha apenas para salário responde:

— Ficou maluco?

Quem olha para a função completa talvez responda:

— Interessante.


🏃 O profissional que saiu de TI

Existe uma narrativa comum:

“Fulano abandonou tecnologia.”

Como se tivesse fracassado.

Talvez não.

Talvez Fulano tenha feito uma sofisticada realocação de capital humano.

Ele descobriu que consegue produzir renda suficiente em outra atividade com:

menos pressão,

mais previsibilidade,

mais autonomia,

menos burocracia,

mais continuidade,

mais tempo.

Economicamente pode ser perfeitamente racional.

Ele não necessariamente desistiu.

Recalculou.


🏷️ O elo mais distante

Agora retornamos ao terceirizado e ao quarteirizado.

Imagine:

CLIENTE
   ↓
CONSULTORIA
   ↓
SUBCONTRATADA
   ↓
FORNECEDOR
   ↓
PROFISSIONAL

Quanto mais distante do contratante principal, menor pode ser seu poder sobre as decisões comerciais.

Mas sua proximidade com o risco técnico pode continuar enorme.

Ele não decide:

orçamento,

fornecedor,

contrato,

estratégia,

prazo comercial,

modelo de contratação.

Mas pode ser ele quem altera:

PROGRAMA DE PAGAMENTOS

Olha a assimetria:

PODER ORGANIZACIONAL ........ BAIXO

IMPACTO POTENCIAL
DE UM ERRO .................. ALTÍSSIMO

Isso deveria despertar alguma curiosidade.


👑 Muito cacique, pouco índio

Ambientes grandes inevitavelmente possuem hierarquias.

Gerente.

Coordenador.

Arquiteto.

Segurança.

Compliance.

Auditoria.

Produto.

Scrum Master.

Project Manager.

Change Manager.

Release Manager.

Fornecedor.

Subfornecedor.

Todos podem possuir funções legítimas.

O problema aparece quando quem efetivamente altera o sistema começa a perceber:

PESSOAS DIZENDO
COMO FAZER ................. 17

PESSOAS FAZENDO ............ 3

🤣

A burocracia deixa de parecer proteção e começa a parecer atrito.

E atrito também possui custo.


🔥 Pressão sem autonomia

Essa combinação merece atenção.

Alta responsabilidade com alta autonomia pode ser estimulante.

Baixa responsabilidade com baixa autonomia pode ser confortável.

Mas:

ALTA RESPONSABILIDADE
+
BAIXA AUTONOMIA

pode ser extremamente desgastante.

Você responde pelo resultado.

Mas não controla:

prazo,

ferramenta,

processo,

arquitetura,

fornecedor,

prioridade,

ambiente.

É como ser piloto de avião enquanto quinze pessoas seguram partes diferentes do manche.

E no final perguntam:

“Por que você não pousou melhor?”


📉 O prêmio salarial costumava silenciar muita coisa

Historicamente, determinadas carreiras técnicas conseguiam compensar ambientes difíceis oferecendo remuneração suficientemente atraente.

O profissional pensava:

É complicado.

É estressante.

Tem plantão.

Tem burocracia.

Mas paga muito bem.

Esse último item resolvia bastante coisa.

Não eliminava o problema.

Comprava tolerância ao problema.

Se o prêmio relativo diminui enquanto a complexidade permanece — ou aumenta — a equação muda.

ANTES:

COMPLEXIDADE = 10
COMPENSAÇÃO = 10

ACEITÁVEL

Depois:

COMPLEXIDADE = 12
COMPENSAÇÃO = 7

HUM...

Morpheus começa a aparecer novamente.


🧓 O veterano possui uma vantagem perigosa

Ele sabe que existem outras coisas.

Já viu empresas nascerem.

Empresas morrerem.

Tecnologias aparecerem.

Tecnologias desaparecerem.

Projetos terminarem.

Chefes mudarem.

Metodologias passarem.

Consultorias trocarem.

Ele descobre uma coisa libertadora:

Nenhum projeto é eterno.

Então começa a perder o medo de sair.

Esse é um momento importante.

Porque muitas relações de trabalho são sustentadas parcialmente pela percepção:

“Não existe alternativa.”

Quando o profissional percebe que existe...

a Matrix treme um pouquinho.


♻️ E ainda existe o leilão reverso

No capítulo anterior vimos algo particularmente estranho.

O profissional passa um ano aprendendo.

Agora sabe mais.

O contrato é renovado com outro fornecedor.

E recebe proposta menor para continuar.

EXPERIÊNCIA ........ +1 ANO
CONHECIMENTO ........ +1 ANO
PRODUTIVIDADE ....... ↑

SALÁRIO ............. ↓

Ele aceita.

Talvez.

Por causa dos boletos.

Mas alguma coisa mudou.

OPEN_TO_WORK = Y

A organização comemora retenção.

Tecnicamente ele ficou.

Humanamente talvez já tenha começado a sair.


🚨 Retenção física não é retenção emocional

Essa diferença é enorme.

O profissional está sentado na cadeira.

Logo:

“Retivemos.”

Não necessariamente.

Você reteve presença.

Talvez tenha perdido pertencimento.

Ele entrega.

Cumpre horários.

Resolve chamados.

Mas parou de:

sugerir,

experimentar,

ensinar espontaneamente,

ficar dez minutos extras,

defender a organização,

pensar no longo prazo.

Não porque virou mau profissional.

Ele apenas recalibrou a relação.


🚪 “É uma porta de entrada”

E então aparece:

“Aceite um pouco menos. Pense como uma porta de entrada.”

Entrada para onde?

Essa pergunta deveria ser automática.

Existe carreira?

Existem níveis?

Existem promoções?

Existe treinamento?

Existe realocação?

Existe bench?

Existe investimento?

Existe orçamento?

Ou existe apenas:

CLIENTE
   ↓
PROJETO
   ↓
12 MESES
   ↓
???

Promessa sem mecanismo não é plano de carreira.

É possibilidade.

Possibilidades podem acontecer.

Mas não deveriam ser vendidas como garantias.


🧬 O problema da não capitalização

Uma organização pode tratar conhecimento de duas maneiras.

Modelo 1 — Capital

CONTRATA
   ↓
TREINA
   ↓
DESENVOLVE
   ↓
CERTIFICA
   ↓
PROMOVE
   ↓
RETÉM

Ela acredita:

Essa pessoa será mais valiosa daqui a cinco anos.

Modelo 2 — Capacidade

PRECISO AGORA
   ↓
CONTRATO
   ↓
UTILIZO
   ↓
PROJETO TERMINA
   ↓
LIBERO

Nenhum dos modelos é automaticamente imoral.

O problema é querer obter do Modelo 2 o comportamento emocional do Modelo 1.


❤️ “Vista a camisa”

O profissional responde:

— De qual empresa?

🤣

Essa pergunta fica especialmente divertida quando existem quatro camadas contratuais.

CLIENTE
  ↓
CONSULTORIA A
  ↓
CONSULTORIA B
  ↓
EMPRESA C
  ↓
NEO

Qual camisa?

Quem oferece carreira?

Quem oferece estabilidade?

Quem investe?

Quem recebe lealdade?

Relacionamentos humanos precisam de alguma reciprocidade.


🧠 O Memory Leak humano

Agora chegamos ao ponto central.

A indústria diz:

“Estamos com falta de profissionais COBOL.”

Então criamos:

bootcamps,

cursos,

universidades,

programas de formação,

academias,

treinamentos.

Excelente.

Precisamos disso.

Mas imagine:

ENTRADA:

100 NOVOS PROFISSIONAIS
         ↓
      SISTEMA
         ↓
SAÍDA:

30 MUDARAM DE TECNOLOGIA
20 MUDARAM DE CARREIRA
15 SE APOSENTARAM
10 SAÍRAM DO SETOR
25 CONTINUARAM

Talvez o problema não esteja apenas no INPUT.

Existe vazamento no OUTPUT.


💾 MEMORY LEAK DETECTED

Programadores conhecem esse problema.

Você continua alocando memória.

Mas não controla adequadamente o ciclo de vida.

Depois reclama:

“Onde foi parar toda a memória?”

No mercado de trabalho podemos fazer algo parecido.

ALLOCATE JUNIOR
ALLOCATE JUNIOR
ALLOCATE JUNIOR
ALLOCATE JUNIOR

FREE SENIOR
FREE SENIOR
FREE SENIOR

Depois:

ERROR:
SENIOR RESOURCE NOT AVAILABLE

🤣

Talvez não seja surpresa.


🔍 Shortage ou retention failure?

Essa distinção é fundamental.

Problema A

Não existem profissionais suficientes.

Solução:

TRAIN MORE

Problema B

Existem profissionais, mas muitos não querem continuar.

Solução:

MAKE STAYING WORTHWHILE

Se diagnosticarmos B como A, podemos passar décadas treinando gente para alimentar uma esteira que continua perdendo pessoas do outro lado.


🏚️ A casa com a porta dos fundos aberta

Imagine uma casa.

Pessoas entram pela frente.

BOOTCAMP
UNIVERSIDADE
CURSO
TREINAMENTO

Enquanto isso, atrás:

SÊNIOR
VETERANO
ESPECIALISTA

estão saindo.

A administração olha para a fila da frente:

Precisamos aumentar recrutamento!

Talvez.

Mas alguém deveria verificar a porta dos fundos.


💰 Retenção também é economia

Existe uma ironia nisso.

Reter alguém parece caro.

Aumento salarial.

Benefício.

Treinamento.

Carreira.

Flexibilidade.

Mas substituir também custa.

Recrutamento.

Onboarding.

Treinamento.

Curva de aprendizado.

Erros.

Produtividade menor.

Conhecimento perdido.

Mentoria.

Risco operacional.

Talvez:

CUSTO DE RETER
<
CUSTO DE SUBSTITUIR

Mas o primeiro aparece claramente na planilha.

O segundo está espalhado por quinze centros de custo.

E aquilo que está espalhado é muito mais fácil de ignorar.


🕯️ Conhecimento não sai sozinho

Quando um veterano vai embora, não perdemos apenas:

HEADCOUNT = -1

Podemos perder:

história,

contexto,

atalhos,

memória de incidentes,

relações,

conhecimento tácito,

capacidade de diagnóstico,

mentoria,

decisões que nunca foram documentadas.

Um profissional pode ser substituído administrativamente em quinze dias.

Sua experiência talvez leve quinze anos.


🤖 “IA vai resolver”

Talvez ajude enormemente.

IA pode:

explicar COBOL,

documentar código,

ajudar novos profissionais,

buscar conhecimento,

gerar testes,

resumir sistemas,

auxiliar modernização.

Fantástico.

Mas existe uma armadilha.

Se usarmos IA apenas para concluir:

“Agora posso pagar ainda menos porque a máquina ajuda.”

talvez estejamos repetindo exatamente o problema.

Tecnologia deveria aumentar produtividade.

A pergunta econômica continua:

Quem captura esse ganho?

A empresa?

O profissional?

O cliente?

Todos?

Se cada salto de produtividade apenas comprime a remuneração de quem permaneceu, o incentivo para permanecer continua diminuindo.


🧑‍🏫 O veterano como multiplicador

Talvez estejamos calculando errado o valor do sênior.

Ele não produz apenas aquilo que faz.

Produz aquilo que permite outros fazerem.

VETERANO
  │
  ├── resolve problemas
  ├── evita erros
  ├── ensina juniores
  ├── preserva contexto
  ├── acelera diagnóstico
  └── transmite cultura técnica

Sua produtividade real é multiplicativa.

Quando ele sai, talvez não percamos uma unidade.

Perdemos parte da eficiência de outras dez.

Boa sorte colocando isso no Excel.


🔴 A verdadeira escassez

Talvez a escassez mais perigosa não seja:

“Pouca gente sabe COBOL.”

Talvez seja:

“Pouca gente que sabe COBOL ainda acha interessante continuar fazendo COBOL nas condições oferecidas.”

Essa frase muda tudo.

Porque conhecimento pode existir.

O profissional pode existir.

A vaga pode existir.

O salário pode parecer bom.

E mesmo assim:

MATCH = FALSE

O mercado chama isso de falta de talento.

O profissional chama de:

“Não vale a pena.”


🧭 O dinheiro não precisa vencer tudo

Esse talvez seja o grande aprendizado.

Durante muito tempo algumas profissões conseguiam comprar tolerância.

O ambiente era difícil.

Mas o salário dizia:

Aguente.

Quando essa diferença diminui, outras variáveis começam a falar mais alto.

Tempo.

Família.

Sono.

Autonomia.

Continuidade.

Saúde.

Liberdade.

Projetos pessoais.

Curiosidade.

Paz.

E então ganhar menos pode realmente começar a parecer um excelente negócio.


🕶️ Wake up, Neo

Voltamos àquela vaga.

COBOL
CICS
DB2
JCL
VSAM
MQ
RACF
30 ANOS
PRODUÇÃO
PLANTÃO
COMPLIANCE
AUDITORIA
APIs
DEVOPS

CONTRATO: 12 MESES

Neo olha.

Durante trinta anos pensou:

Preciso encontrar o próximo projeto.

Desta vez surge outra pergunta:

Preciso?

Talvez possa ensinar.

Talvez possa empreender.

Talvez possa trabalhar com outra tecnologia.

Talvez possa aceitar uma atividade que pague menos.

Talvez possa transformar conhecimento em conteúdo.

Talvez possa fazer consultoria própria.

Talvez possa simplesmente escolher uma vida menos complicada.

O importante não é qual alternativa escolherá.

É perceber que existem alternativas.


🔵 A pílula azul

Mainframe continua processando alguns dos sistemas mais importantes do planeta.

COBOL continua possuindo enorme relevância em sistemas críticos.

Existem excelentes empresas.

Excelentes carreiras.

Excelentes salários.

Excelentes projetos.

Existem organizações que valorizam veteranos.

Treinam novos profissionais.

Constroem sucessão.

Investem em conhecimento.

Criam ambientes onde pessoas querem permanecer.

Não existe inevitavelmente um êxodo universal.

E transformar a discussão em “mainframe é uma carreira ruim” seria intelectualmente preguiçoso.

Não é isso.


🔴 A pílula vermelha

A tecnologia pode continuar excelente enquanto determinadas relações econômicas se tornam pouco atraentes.

Uma plataforma pode ser estratégica enquanto o profissional que a mantém se sente commodity.

Uma empresa pode reclamar da escassez enquanto contribui para a rotatividade.

Um salário pode ser alto e ainda assim não pagar adequadamente o pacote de pressão, risco e instabilidade exigido.

E uma indústria pode investir milhões formando profissionais enquanto economiza milhares de reais de maneira que incentiva veteranos a sair.

As duas realidades podem coexistir.


☕ Cambio final, Torre de Controle

Talvez estejamos fazendo a pergunta errada.

Perguntamos:

Onde encontraremos os próximos COBOLzeiros?

Boa pergunta.

Mas existe outra antes dela:

O que estamos fazendo para que os COBOLzeiros atuais queiram continuar sendo COBOLzeiros?

Porque não basta formar.

É preciso reter.

Não basta contratar.

É preciso tornar a permanência racional.

Não basta dizer:

“Você é estratégico.”

Se o contrato diz:

12 MESES

Não basta dizer:

“Seu conhecimento é crítico.”

Se a remuneração diz:

COMMODITY

Não basta dizer:

“Temos dificuldade em encontrar profissionais.”

se toda renovação pergunta:

CONSEGUE FAZER MAIS BARATO?

Em algum momento o profissional também fará sua própria concorrência.

Só que os fornecedores serão:

CARREIRA A
CARREIRA B
CONSULTORIA PRÓPRIA
ENSINO
EMPREENDER
OUTRA TECNOLOGIA
TRABALHAR MENOS
VIVER MAIS

E talvez mainframe não apresente a proposta vencedora.


Neo fecha a vaga.

Morpheus pergunta:

— Você vai aceitar ganhar menos?

Neo responde:

— Talvez.

— Isso não é um retrocesso?

Neo sorri.

— Depende daquilo que estou comprando com a diferença.

Morpheus permanece em silêncio.

Neo continua:

Talvez eu esteja comprando tempo.

Talvez esteja comprando previsibilidade.

Talvez esteja comprando autonomia.

Talvez esteja comprando paz.

Talvez eu finalmente tenha percebido que salário não é a única moeda da Matrix.

Na tela:

CAREER OPTIONS

SALARY .............. -20%
PRESSURE ............ -60%
INSTABILITY ......... -70%
BUREAUCRACY ......... -50%
AUTONOMY ............ +40%
FREE TIME ........... +50%

CONTINUE? Y/N

Neo digita:

Y

ENTER.


E talvez, meses depois, alguém abra uma reunião executiva.

Slide número 27.

Título:

MAINFRAME SKILLS SHORTAGE

Um executivo pergunta:

— Por que está tão difícil encontrar especialistas?

A sala fica em silêncio.

Alguém sugere:

— Precisamos formar mais gente.

Boa ideia.

Mais bootcamps.

Mais cursos.

Mais academias.

Mais programas de capacitação.

Mas ninguém pergunta:

Onde foram parar aqueles que já tínhamos?

Essa pergunta não estava no PowerPoint.

Talvez devesse estar.

       IDENTIFICATION DIVISION.
       PROGRAM-ID. SKILLS-SHORTAGE.

       DATA DIVISION.
       WORKING-STORAGE SECTION.

       01 WS-NEW-TALENT        PIC 9(05).
       01 WS-SENIORS-LEFT      PIC 9(05).
       01 WS-RETENTION         PIC 9(03)V99.
       01 WS-WILLINGNESS       PIC 9(03)V99.

       PROCEDURE DIVISION.

           PERFORM TRAIN-NEW-PEOPLE.

           IF WS-SENIORS-LEFT > 0
               DISPLAY
               'WARNING: CHECK THE BACK DOOR'
           END-IF.

           IF WS-WILLINGNESS < ACCEPTABLE
               DISPLAY
               'SHORTAGE MAY NOT BE
                A TRAINING PROBLEM'
           END-IF.

           DISPLAY
              'MAKE STAYING WORTHWHILE'.

           STOP RUN.

🔴🔵

Wake up, Neo.

Talvez não estejam faltando apenas COBOLzeiros.

Talvez alguns simplesmente tenham descoberto que existe vida fora da Matrix.

E quando um profissional altamente especializado percebe que pode ganhar um pouco menos em troca de muito mais continuidade, autonomia, previsibilidade e paz...

o problema deixa de ser recrutamento.

Passa a ser proposta de valor da carreira.

Porque salário não remunera apenas trabalho.

Em profissões difíceis, ele também precisa remunerar:

a vontade de continuar fazendo aquele trabalho.

E quando essa conta deixa de fechar...

não existe PROCUREMENT, BOOTCAMP, POWERPOINT ou OPEN POSITION capaz de obrigar Neo a tomar novamente a pílula azul.

☕ Cambio final, Torre de Controle.

☕ Um Café no Bellacosa Mainframe // IT JOB MARKET RADAR

Mercado de Trabalho em TI: Quando Conhecimento Vira Commodity, Poder e Risco

Cinco leituras sobre salário, memória técnica, conhecimento legado, leilão reverso de profissionais e o êxodo de especialistas COBOL. Um pequeno mapa de um mercado em que experiência vale muito — até alguém tentar transformá-la em desconto.

> ANALYZE IT_WORKFORCE
STATUS=KNOWLEDGE_CRITICAL
SALARY_PRESSURE=HIGH
LEGACY_SKILLS=SCARCE
CORPORATE_MEMORY=VOLATILE
ACTION=READ_THE_EVIDENCE
01

O Spread do Conhecimento: Matrix, COBOL e o Valor do Saber

Quando conhecimento raro deixa de ser apenas competência técnica e passa a funcionar como ativo econômico dentro das organizações.

Knowledge Economics
02

Quanto Custa um Programador? Salário, Valor e Mercado

O preço de um profissional de tecnologia não é simplesmente salário: envolve experiência, escassez, produtividade, conhecimento acumulado e risco operacional.

Salary Economics
03

DELETE USER Não Apaga Memória: O Conhecimento que Sai da Empresa

Demitir ou perder um especialista é simples no RH. Recuperar décadas de contexto operacional depois pode ser impossível.

Corporate Memory
04

O Leilão Reverso do Conhecimento

Quando empresas tentam comprar cada vez mais experiência por cada vez menos dinheiro, o mercado pode transformar contratação em um leilão reverso de conhecimento.

Reverse Auction
05

O Êxodo dos COBOLzeiros

O que acontece quando profissionais que conhecem sistemas críticos descobrem que permanecer onde estão pode valer menos do que sair?

COBOL Exodus

🧠 O problema não é COBOL. É economia do conhecimento.

Empresas costumam tratar conhecimento técnico como se fosse um recurso facilmente substituível. Entretanto, sistemas corporativos acumulam décadas de regras de negócio, exceções, interfaces, decisões históricas e conhecimento informal que raramente aparece integralmente na documentação.

Quando o profissional sai, o USERID pode ser apagado imediatamente. O contexto que ele carregava não possui um comando equivalente.

01 Pressão salarial
02 Saída do especialista
03 Perda de contexto
04 Incidente
05 Consultoria cara

📚 Leituras sobre mercado de trabalho, COBOL e conhecimento em TI

BELLACOSA MAINFRAME // KNOWLEDGE IS NOT A REPLACEABLE RESOURCE
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...