☕ 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

sábado, 4 de junho de 2011

🔥 DB2 Buffer Pool e a Família de Pools – Onde o DB2 Guarda o Cérebro (e a Paciência) 🔥

 

Bellacosa Mainframe apresenta o Db2 e seus pools

🔥 DB2 Buffer Pool e a Família de Pools – Onde o DB2 Guarda o Cérebro (e a Paciência) 🔥

 


Se o DB2 fosse um organismo vivo, o buffer pool seria o cérebro de curto prazo.
Não é onde o dado nasce.
Não é onde o dado mora definitivamente.
Mas é onde tudo passa antes de fazer sentido.

Quem entende buffer pool:

  • entende performance

  • entende CPU

  • entende por que “não mexemos nisso em produção”

E quem não entende…
culpa o SQL.


🕰️ Um Pouco de História – Quando Disco Era Lento de Verdade

No DB2 antigo (e não tão antigo assim):

  • disco era caro

  • I/O era lento

  • memória era luxo

A IBM fez o óbvio (e genial):
👉 ler do disco uma vez e reutilizar o máximo possível.

Assim nasceu o buffer pool:

  • páginas lidas do tablespace

  • mantidas em memória

  • reutilizadas enquanto fizer sentido

💡 Resultado:
Menos I/O.
Mais performance.
Menos gritos no plantão.


🧠 O Que é um Buffer Pool, na Prática?

Buffer pool é uma área de memória onde o DB2 mantém:

  • páginas de dados

  • páginas de índice

Antes de ir ao disco, o DB2 pergunta:

“Isso já está no buffer?”

Se estiver:
🚀 rápido
Se não estiver:
🐢 I/O físico

💡 Regra Bellacosa:
DB2 rápido = buffer pool feliz.


📦 Tipos de Buffer Pool no DB2

🔹 BP0 – O Histórico

O buffer pool default, o “pai de todos”.

💡 Fofoquinha:
Ambiente que só tem BP0 geralmente tem performance “misteriosa”.


🔹 Buffer Pools Customizados (BP1, BP2, …)

Criados para separar:

  • dados críticos

  • índices quentes

  • tabelas gigantes

  • tabelas raramente acessadas

💡 Boa prática:
Índice quente em buffer pool separado = ganho imediato.


🔹 Buffer Pools Especiais

  • BP32K → tabelas com page size 32K

  • BP8K / BP16K → workloads específicos

🥚 Easter egg:
Criar BP32K sem necessidade é desperdício elegante de memória.


📊 Page Size – O Detalhe que Muda Tudo

Page size define:

  • quanto dado cabe por página

  • quantas linhas por I/O

Page SizeQuando usar
4KOLTP clássico
8KÍndices largos
16KLOB leve
32KLOB pesado

💡 Dica Bellacosa:
Page grande = menos I/O
Mas também = menos páginas no buffer pool.


🔄 Outros Pools Importantes no DB2 (Além do Buffer Pool)

🧾 EDM Pool (Environmental Descriptor Manager)

Guarda:

  • SQL dinâmico

  • Planos preparados

  • Descrições de objetos

💡 EDM pequeno = SQL recompilando toda hora.


🧠 Sort Pool

Usado para:

  • ORDER BY

  • GROUP BY

  • DISTINCT

💡 Comentário:
Sort indo para disco = SQL chorando.


🧵 RID Pool

Controla:

  • listas de RIDs para acesso indireto

💡 RID pool insuficiente = access path ruim sem aviso claro.


📥 Log Buffer

Onde o DB2 guarda logs antes de gravar no disco.

💡 Dica de guerra:
Log buffer pequeno = commit lento = aplicação reclamando.


🧰 Utility Pool

Usado por:

  • LOAD

  • REORG

  • RUNSTATS

💡 Ambiente sem utility pool dedicado sofre em batch pesado.


🔥 Buffer Pool e Performance – Onde os Adultos Conversam

Indicadores clássicos:

  • Hit ratio alto

  • Read I/O baixo

  • Write eficiente

💡 Fofoquinha séria:
Hit ratio alto não garante bom desempenho.
Às vezes o dado certo está fora do pool certo.


🧪 Buffer Pool vs Lock – O Drama Oculto

Buffer pool cheio:

  • mantém páginas sujas

  • segura lock mais tempo

  • aumenta contenção

💡 Dica Bellacosa:
Performance não é só memória.
É equilíbrio.


⚠️ Erros Clássicos que Todo Mundo Já Viu

  • Tudo no BP0

  • Índice crítico no mesmo pool que tabela fria

  • BP gigante sem uso real

  • BP pequeno para workload OLTP pesado

🥚 Easter egg de produção:
“Mudamos só o buffer pool” já causou tanto incidente quanto ALTER TABLE.


🧠 Buffer Pool no Mundo Moderno (DevOps & Observabilidade)

Hoje monitoramos:

  • hit ratio por pool

  • read/write por objeto

  • aging de páginas

  • comportamento por workload

💡 Regra moderna:
Tune sem métrica é chute elegante.


🗣️ Fofoquices de Sala-Cofre

  • “DB2 está lento hoje” → buffer pool cheio

  • “Nunca mexemos nisso” → por isso mesmo

  • “É só aumentar memória” → nem sempre


🧠 Pensamento Final do El Jefe

Buffer pool não é detalhe técnico.
É arquitetura viva.

Quem entende pool:

  • evita I/O

  • reduz CPU

  • ganha previsibilidade

Quem ignora:

  • otimiza SQL errado

  • culpa o hardware

  • trabalha de madrugada

🔥 Regra final Bellacosa Mainframe:
No DB2,
o dado pode morar no disco…
mas a performance mora na memória. 💾🧠

sexta-feira, 3 de junho de 2011

KORE WA ZOMBIE DESU KA? — O ANIME QUE MISTUROU NECROMANCIA, HARÉM, VAMPIROS E GAROTAS MÁGICAS EM UM ÚNICO JOB QUE NUNCA DEVERIA TER COMPILADO

 

Bellacosa Mainframe e a zombie Kore Wa Zombie Desu ka

☕💣🧟 OPERADOR, O CADÁVER ENTROU EM PRODUÇÃO E ASSUMIU A FUNÇÃO DE GAROTA MÁGICA!

KORE WA ZOMBIE DESU KA? — O ANIME QUE MISTUROU NECROMANCIA, HARÉM, VAMPIROS E GAROTAS MÁGICAS EM UM ÚNICO JOB QUE NUNCA DEVERIA TER COMPILADO


Ficha Técnica do JOB

ItemInformação
Título Originalこれはゾンビですか?
Título InternacionalIs This a Zombie?
AutorShinichi Kimura
Ilustrações da Light NovelKobuichi e Muririn
EstúdioStudio Deen
DiretorTakaomi Kanasaki
Ano de LançamentoJaneiro de 2011
Temporadas2
Episódios TV22
OVAs4
GênerosComédia, Sobrenatural, Ecchi, Harém, Ação, Fantasia Urbana
Classificação Indicativa16+

O Ambiente de Produção Mais Insano dos Animes

Existem animes que seguem regras.

Existem animes que quebram regras.

E existe Kore wa Zombie Desu ka?, que aparentemente executou um DELETE em todas as regras antes mesmo da fase de análise de requisitos.

A premissa já parece resultado de um erro de merge entre múltiplos projetos:

  • Um estudante assassinado.

  • Uma necromante lendária.

  • Garotas mágicas.

  • Vampiras ninja.

  • Demônios.

  • Harém.

  • Comédia pastelão.

  • Fanservice.

  • Mistério sobrenatural.

E, por algum motivo inexplicável, tudo funciona.


Sinopse

Ayumu Aikawa era um estudante comum até ser brutalmente assassinado por um serial killer.

Quando deveria estar ocupando espaço em algum dataset funerário, ele é ressuscitado pela poderosa necromante Eucliwood Hellscythe.

Agora transformado em um zumbi imortal, Ayumu tenta continuar sua vida normalmente.

O problema é que seu ambiente operacional passa a ser invadido por:

  • Monstros sobrenaturais chamados Megalo.

  • Garotas mágicas.

  • Vampiras guerreiras.

  • Organizações secretas.

  • Entidades interdimensionais.

E, após um incidente bizarro, ele acaba absorvendo os poderes de uma garota mágica e passa a lutar usando um uniforme feminino mágico.

Sim.

Esse é apenas o começo.


Ayumu Aikawa

A História Por Trás da História

Muitos espectadores enxergam apenas a superfície cômica.

Mas o anime esconde uma estrutura narrativa mais inteligente do que aparenta.

O tema central não é zumbis.

Também não é harém.

Muito menos garotas mágicas.

O verdadeiro tema é:

"Como continuar vivendo depois que sua vida acabou."

Ayumu literalmente morreu.

Sua jornada inteira gira em torno de encontrar significado após perder sua existência original.

É uma metáfora sobre:

  • Solidão

  • Aceitação

  • Pertencimento

  • Reconstrução da identidade

Enquanto o espectador ri das situações absurdas, o anime discute questões existenciais profundas.


O Studio Deen e Seu Histórico

Studio Deen

O Studio Deen é uma espécie de operador veterano do mundo dos animes.

Já produziu obras como:

  • Rurouni Kenshin

  • Higurashi

  • Fruits Basket (2001)

  • Konosuba (temporadas iniciais)

O estúdio sempre teve fama de trabalhar com:

  • Orçamentos limitados

  • Cronogramas agressivos

  • Forte foco em adaptação de light novels

Em Kore wa Zombie Desu ka?, o estúdio apostou em algo fundamental:

Timing cômico

Mesmo sem a animação mais sofisticada da indústria, o anime sobrevive graças ao ritmo das piadas e ao carisma dos personagens.


Os Personagens Principais

Ayumu Aikawa

O protagonista.

Um morto-vivo que funciona como um sistema operacional híbrido.

Ao mesmo tempo:

  • Herói

  • Alívio cômico

  • Narrador

  • Vítima dos acontecimentos

Seu humor sarcástico sustenta boa parte da série.


Eucliwood Hellscythe

A administradora do sistema.

Uma necromante absurdamente poderosa.

Seu diferencial é não falar.

Qualquer palavra sua possui efeitos devastadores.

Ela representa o isolamento emocional.

Por trás da aparência fria existe uma personagem extremamente trágica.


Haruna

A garota mágica.

Caótica.

Impulsiva.

Energia equivalente a um operador executando comandos sem ler a documentação.

É responsável por grande parte das situações absurdas da série.


Seraphim

Vampira ninja.

Funciona como um firewall agressivo.

Sempre pronta para eliminar ameaças.

Ou Ayumu.

Dependendo do episódio.


Tomonori

Representa o lado mais emocional da narrativa.

Ajuda a equilibrar a loucura constante da história.


O Que Existe de Diferente Neste Anime?

Aqui está o verdadeiro diferencial.

A maioria dos animes escolhe um gênero.

Kore wa Zombie Desu ka? escolhe todos.

Ao mesmo tempo.

É:

  • Harém

  • Comédia

  • Terror

  • Fantasia

  • Romance

  • Paródia

  • Ação

A série funciona quase como uma sátira da cultura otaku dos anos 2000.

Cada personagem representa um arquétipo popular da época.


As Aventuras de Ayumu

Ao longo da série, Ayumu enfrenta:

Megalos

Criaturas sobrenaturais destrutivas.

Funcionam como ABENDs físicos da realidade.


O Serial Killer

O mistério envolvendo sua própria morte é uma das linhas narrativas mais importantes.

É o componente mais sombrio da obra.


Catástrofes Mágicas

Diversos eventos colocam em risco:

  • Cidade

  • Amigos

  • Realidade

Embora frequentemente mascarados por humor.


Conflitos Emocionais

O maior inimigo de Ayumu não é um monstro.

É o sentimento constante de não pertencer a lugar algum.


As Mensagens Ocultas

Sob a superfície existe uma camada surpreendentemente séria.

1. A Solidão Pode Ser Invisível

Eucliwood representa pessoas que não conseguem expressar sentimentos.


2. A Família Pode Ser Escolhida

Grande parte do elenco não possui laços tradicionais.

Eles constroem uma nova família.


3. Continuar Vivendo É Uma Escolha

Mesmo após a morte literal.

Esse é o principal tema do anime.


4. Aparências Enganam

A obra parece apenas uma comédia ecchi.

Mas contém drama e melancolia inesperados.


Houve Censura?

Sim.

As transmissões televisivas japonesas apresentaram:

  • Escurecimento de cenas

  • Objetos cobrindo partes da imagem

  • Efeitos de luz

Uma prática comum para animes com conteúdo ecchi.

As versões em Blu-ray removeram diversas dessas limitações.

Nada muito diferente do que ocorreu em dezenas de produções da época.


Impacto Cultural

Hoje o anime é considerado um clássico cult da era das light novels.

Sua influência aparece em diversas obras posteriores.

Principalmente na popularização de:

  • Protagonistas masculinos absurdos

  • Comédia meta

  • Mistura extrema de gêneros

  • Paródias de garotas mágicas

Além disso, ajudou a consolidar a tendência de adaptações de light novels que dominaria a década seguinte.


Análise Bellacosa Mainframe

Se eu tivesse que definir este anime em linguagem corporativa:

Um usuário foi encerrado de forma anormal, restaurado por um software de necromancia, recebeu privilégios de garota mágica, passou a conviver com uma administradora silenciosa e uma vampira ninja, enquanto combate falhas críticas da realidade em produção.

Parece absurdo.

Porque é absurdo.

Mas justamente por isso funciona.

Kore wa Zombie Desu ka? é uma das obras que melhor representa a criatividade sem limites da indústria de light novels dos anos 2010.

Ele não tenta ser lógico.

Não tenta ser realista.

Não tenta seguir fórmulas.

E talvez seja exatamente por isso que permanece lembrado tantos anos depois.


Classificação Operacional Bellacosa

ItemNota
Humor⭐⭐⭐⭐⭐
Originalidade⭐⭐⭐⭐⭐
Ação⭐⭐⭐⭐
Drama Oculto⭐⭐⭐⭐
Fanservice⭐⭐⭐⭐⭐
Construção de Mundo⭐⭐⭐⭐
Profundidade Temática⭐⭐⭐⭐
Lógica OperacionalABEND S0C4
Diversão⭐⭐⭐⭐⭐

Status Final do JOB

EXECUTANDO DESDE 2011 APÓS UM RESTORE NECROMÂNTICO NÃO AUTORIZADO, COM MÓDULOS DE GAROTA MÁGICA CARREGADOS EM PRODUÇÃO E ZERO CHANCE DE PASSAR EM UMA AUDITORIA DE MUDANÇAS. ☕💣🧟📚


quinta-feira, 2 de junho de 2011

🔥 Different Types of RETURN Statements no CICS

 


🔥 Different Types of RETURN Statements no CICS

 


☕ Midnight Lunch, ENTER pressionado e… RETURN errado

13h07.
Usuário pressiona ENTER.
A tela some.
Nada acontece.

No fundo da sala alguém pergunta, com medo:

“Esse RETURN tá certo… né?”

Hoje vamos falar de um comando pequeno na sintaxe, mas gigante no impacto:
o EXEC CICS RETURN e suas variações.

Porque no CICS, retornar errado é desaparecer da aplicação.


🏛️ História: o retorno como base do online

Desde o início do CICS, o RETURN é o ponto onde:

  • A task termina

  • O controle volta para o CICS

  • A transação decide se continua ou morre

Muito antes de frameworks web, o CICS já dominava o request/response.

📌 RETURN é o “commit emocional” da transação.


🧠 Conceito essencial (grave isso)

RETURN não é só sair do programa.
É decidir o destino da transação.

Cada tipo de RETURN muda o comportamento do sistema.


🔁 Tipos de RETURN no CICS

Vamos aos principais, sem enrolação.


1️⃣ RETURN simples – fim da linha

O que faz?

  • Encerra o programa

  • Finaliza a task

  • Nenhuma continuação

EXEC CICS RETURN END-EXEC.

📌 Usado quando:

  • Processamento acabou

  • Nenhuma tela a exibir

  • Nenhuma navegação

⚠️ Usado errado → usuário perdido.


2️⃣ RETURN com TRANSID – chama outra transação

O que faz?

  • Finaliza a task atual

  • Inicia nova transação

  • Novo task number

EXEC CICS RETURN TRANSID('TRN2') END-EXEC.

📌 Ideal para:

  • Navegação controlada

  • Separação de fluxos

  • Segurança transacional


3️⃣ RETURN com COMMAREA – estado preservado

O que faz?

  • Finaliza a task

  • Preserva dados para a próxima

EXEC CICS RETURN TRANSID('TRN2') COMMAREA(WS-COMMAREA) LENGTH(LEN) END-EXEC.

📌 Base do pseudo-conversacional.


4️⃣ RETURN com CHANNEL – o jeito moderno

O que faz?

  • Mesmo conceito da COMMAREA

  • Muito mais flexível

EXEC CICS RETURN TRANSID('TRN2') CHANNEL('CHN01') END-EXEC.

📌 Padrão moderno. Escalável. Elegante.


5️⃣ RETURN IMMEDIATE – sem passar pelo fluxo normal

O que faz?

  • Termina a task agora

  • Ignora pseudo-conversacional

EXEC CICS RETURN IMMEDIATE END-EXEC.

📌 Use com cuidado:

  • Emergência

  • Erro crítico

  • Saída forçada


🥊 RETURN vs XCTL vs LINK (mini comparativo)

ComandoRetorna?Nova task?Uso típico
RETURNNãoDependeEncerrar
XCTLNãoNãoTroca de fluxo
LINKSimNãoSub-rotina

📌 Confundir isso gera bug fantasma.


🛠️ Passo a passo Bellacosa (antes do RETURN)

1️⃣ O usuário precisa ver outra tela?
2️⃣ Preciso preservar estado?
3️⃣ Nova transação ou mesma?
4️⃣ COMMAREA ou CHANNEL?
5️⃣ Estou encerrando cedo demais?

📌 RETURN é decisão arquitetural.


⚠️ Erros clássicos (easter eggs)

🐣 RETURN sem TRANSID em fluxo pseudo-conversacional
🐣 COMMAREA com tamanho errado
🐣 RETURN antes de liberar lock
🐣 Misturar XCTL e RETURN sem lógica
🐣 Esquecer canal ativo

📌 Todo sumiço de tela começa aqui.


📚 Guia de estudo para mainframers

Para dominar RETURN:

  • Pseudo-conversational design

  • Program Control

  • COMMAREA vs CHANNEL

  • Transaction lifecycle

  • Error handling

📖 Manual essencial: CICS Application Programming Guide


🤓 Curiosidades de boteco mainframe

🍺 RETURN existe desde os primeiros CICS
🍺 RETURN IMMEDIATE já salvou produção quebrada
🍺 Muitos “bugs de tela” são RETURN errado
🍺 Web frameworks copiaram o modelo sem saber


💬 Comentário El Jefe Midnight Lunch

“No CICS, voltar é escolha.
Sumir é consequência.”


🚀 Aplicações reais hoje

  • Sistemas de atendimento

  • Core bancário

  • Sistemas governamentais

  • Aplicações híbridas CICS + API


🎯 Conclusão Bellacosa

O EXEC CICS RETURN parece simples.
Mas ele define:

  • Fluxo

  • Estado

  • Experiência do usuário

🔥 RETURN não é sair. É decidir o futuro.


quarta-feira, 1 de junho de 2011

📜 Crônicas da Rua Ultrecht – Volume “Novo Horizonte”

 

Bellacosa Mainframe memorias de cronicas da rua ultrecht

📜 Crônicas da Rua Ultrecht – Volume “Novo Horizonte”
Ao estilo Bellacosa Mainframe, para os leitores fiéis deste escriba desorganizado e feliz

Há memórias que chegam como dump de sistema: fragmentadas, desalinhadas, registros misturados, datas colidindo como timestamps descompassados num JES2 atolado.
Mas, no meio desse caos mental, há sempre um bloco consistente, um dataset íntegro: Novo Horizonte, interior de São Paulo.
Fim dos anos 1970, início dos anos 1980.
Antes da pré-escola, antes da alfabetização, antes do Dandan — ou depois, quem sabe. A cronologia é um JCL mal comentado. Mas a lembrança, essa sim, é vívida.



🌽 Novo Horizonte — O Parêntese da Infância

Aqueles meses (ou seria um ano?) em Novo Horizonte foram como um fork no meu sistema de vida.
Meu pai, fotógrafo, resolveu tentar sorte na cidade dos primos.
E ali reencontrei três figuras lendárias:

  • Sidney

  • Marcele

  • Duzinho

Filhos de Eduardo e Cleuza, parentes do meu pai e operadores oficiais da oficina técnica da vida real, especializada em tratores, caminhonetes e utilitários rurais.
Era um mundo de graxa, ferro, escapamentos quentes, parafusos, barulho e cheiro de óleo queimado — um parque de diversões para qualquer criatura diabinha em formação.



🌭 O Hot Dog da Iluminação Química

Foi lá que eu vivi minha primeira epifania gastronômica.

Até então, na minha casa, “hot dog” era:

  • pão

  • salsicha

  • molho de tomate caseiro

Delicioso, mas… doméstico.
Quase artesanal.

Então veio o evento.
A mordida.
A descoberta.

Hot dog com ketchup.

Meu Deus.
O choque cultural.
A explosão industrial.
O sabor químico, doce, artificial, processadíssimo — e absolutamente perfeito.

Era como sair de fita magnética e entrar no SSD.
Como trocar gloops de tinta por polímeros sintéticos de primeira geração.
Como sair de CP/M e descobrir mainframe z/OS.

Até hoje — até hoje — quando provo ketchup, uma pequena cena pós-créditos sobe na minha mente:
eu, pequenino, segurando um hot dog e pensando:
o que é esse néctar das fábricas?



⚠️ Epic Fail Nº 271 — A Piscina de Óleo Queimado

Mas nenhuma lembrança supera o grande mergulho.

Na oficina do Edu, havia um reservatório aberto no chão — um fosso pouco profundo onde se acumulava óleo queimado de lubrificação.
Preto.
Denso.
Pegajoso.
Cheiro forte.
Aquele tipo de resíduo que hoje teria uns 47 alertas ambientais e umas cinco multas da CETESB.

Eis que, num momento de inspiração duvidosa, Sidney, provavelmente com a inocência (ou malícia) típica dos primos mais velhos, comenta:

“Olha ali… a piscina!”

Eu, crédulo, aspirante a passarinho, criatura ainda sem firmware de autopreservação, pensei:

“Piscina = pular.”

E pulei.

Sim.
Eu pulei dentro do óleo.



🛢️ O Batismo Petrolífero

Subi do fosso como um personagem bugado de jogo 8-bit:

  • inteiramente preto,

  • grudento,

  • escorrendo óleo,

  • com a roupa condenada,

  • e com a alma impregnada de hidrocarbonetos.

Minha mãe quase teve um AVC.
Meu pai não sabia se brigava ou fotografava.
E eu, no auge da inocência, estava mais curioso do que arrependido.

Hoje, quando vejo fotos de derramamento de crude no mar, aves cobertas de petróleo, tartarugas lutando para mexer a nadadeira…
me bate uma solidária pontada no peito.

Eu sei.
Eu sei o que é viver isso.

Sou praticamente um sobrevivente de derramamento ambiental, versão infantil.


🎞️ Novo Horizonte — O Episódio Perdido da Série

Essas memórias não têm ordem, não têm lógica, não seguem calendário.
São como blocks jogados pelo tempo, soltos na memória, prontos para serem reorganizados por algum futuro arqueólogo digital.

Mas elas existem.
Pulam do passado como aquele hot dog vermelho, aquele pulo no poço, aquele abraço da infância simples.

sábado, 7 de maio de 2011

Outcome Bias: Doctor Who, COBOL e o Dia em que uma Decisão Ruim Deu Certo — e Virou Boa Prática

Bellacosa Mainframe e o outcome bias

☕ Um Café no Bellacosa Mainframe

Outcome Bias: Doctor Who, COBOL e o Dia em que uma Decisão Ruim Deu Certo — e Virou Boa Prática

Uma viagem pela TARDIS dos incidentes para entender por que julgar decisões apenas pelo resultado pode transformar sorte em competência e azar em culpa

02:13.

Madrugada de mudança.

Café morno.

War Room quase silenciosa.

A alteração deveria ter sido validada em homologação.

Não foi.

O rollback deveria ter sido testado.

Também não foi.

Faltava uma reconciliação.

Mas o gerente pergunta:

— Podemos seguir?

O especialista olha para o relógio.

— Acho que sim.

Nosso programador COBOL iniciante pergunta:

— Mas o rollback não foi validado.

O gerente responde:

— Se der problema, corrigimos.

GO.

Mudança executada.

Produção volta.

Tudo funciona.

Nenhum erro.

Nenhum cliente reclama.

Nenhum incidente.

O gerente sorri.

— Viu? Fizemos certo.

Nosso jovem olha para o painel.

Tudo verde.

Talvez o gerente tenha razão.

Talvez realmente tenha sido uma boa decisão.

Na semana seguinte, outra mudança parecida.

Novamente:

rollback não testado.

Reconciliação incompleta.

GO.

Desta vez:

03:17:42
TRANSACTION FAILURE RATE: 21%

03:18.

Fila crescendo.

03:19.

Rollback necessário.

03:20.

Rollback não funciona.

War Room explode.

Horas depois, no post-mortem, alguém diz:

— Foi irresponsável seguir sem testar rollback.

Nosso programador pensa.

Espera.

A mesma decisão da semana anterior havia sido chamada de:

boa.

Agora virou:

irresponsável.

VWORP.

VWORP.

VWORP.

A TARDIS materializa-se no corredor.

O Doctor sai.

Olha para os dois change records.

Um:

CHANGE 001
PROCESSO RUIM
RESULTADO BOM

Outro:

CHANGE 002
PROCESSO RUIM
RESULTADO RUIM

Ele pergunta:

— Qual decisão foi pior?

O gerente aponta para a segunda.

— A que causou o incidente.

O Doctor balança a cabeça.

— Não.

— Como não?

— As duas decisões foram praticamente iguais.

Pausa.

— O universo apenas foi mais gentil com vocês na primeira.

Bem-vindo ao:



Outcome Bias

Ou:

Viés de Resultado

A tendência de avaliar a qualidade de uma decisão principalmente pelo resultado que ela produziu, em vez de avaliar se o processo decisório era bom com base nas informações disponíveis naquele momento.


🌀 Nossa TARDIS já conheceu vários monstros

Até aqui passamos por:

Swiss Cheese Model — várias barreiras podem falhar.

Normalization of Deviance — desvios viram rotina.

Hindsight Bias — depois do incidente tudo parece óbvio.

Confirmation Bias — buscamos provas para aquilo em que acreditamos.

Anchoring Bias — a primeira informação pesa demais.

Groupthink — grupos concordam cedo demais.

Authority Gradient — hierarquia pode silenciar dúvida.

Plan Continuation Bias — continuamos porque já começamos.

Alarm Fatigue — alertas demais viram ruído.

Automation Bias — confiamos demais na máquina.

Drift Into Failure — pequenas adaptações empurram o sistema para a borda.

Diffusion of Responsibility — todos veem e ninguém assume.

Normalcy Bias — esperamos que tudo volte ao normal.

Survivorship Bias — olhamos apenas para quem sobreviveu.

Base Rate Neglect — ignoramos frequências reais.

Availability Heuristic — confundimos facilidade de lembrar com probabilidade.

Agora chegamos a um erro que afeta diretamente:

post-mortems;

avaliação de pessoas;

gestão;

risco;

mudanças;

arquitetura.

Porque humanos adoram usar resultado como prova.


🧠 O que é Outcome Bias?

Imagine duas decisões idênticas.

A chance de falha é 20%.

Pessoa A executa.

Dá certo.

Pessoa B executa.

Dá errado.

Se julgarmos pela consequência:

A parece competente.

B parece incompetente.

Mas ambas aceitaram o mesmo risco.

Resultado diferente não transforma retrospectivamente a qualidade do processo decisório.

Representando:

DECISÃO A
RISCO RUIM
+
SORTE
=
RESULTADO BOM

versus:

DECISÃO B
RISCO RUIM
+
AZAR
=
RESULTADO RUIM

Outcome Bias diz:

A foi boa decisão.

B foi má decisão.

Mas talvez:

ambas fossem más decisões.


🎲 Poker é uma bela metáfora

Imagine jogador de poker.

Possui uma mão péssima.

Aposta tudo.

Por acaso ganha.

Foi uma boa decisão?

Não necessariamente.

Talvez tenha recebido sorte.

Outro jogador toma decisão matematicamente excelente e perde porque a carta seguinte foi improvável.

Isso não transforma a boa decisão em ruim.

Em engenharia de sistemas:

resultado contém:

decisão;

contexto;

incerteza;

sorte.

Precisamos separar.


☕ Bellacosa Mainframe: o deploy que “provou” que o processo funciona

Primeiro deploy:

sem teste completo.

Tudo certo.

Conclusão:

“Esse teste adicional é burocracia.”

Segundo:

também funciona.

Terceiro:

funciona.

Depois de dez deploys:

“Nunca precisamos disso.”

Pronto.

Outcome Bias acabou de alimentar:

Normalization of Deviance.

A sobrevivência anterior virou evidência de que o processo ruim era bom.


🌀 Outcome Bias + Normalization of Deviance

Essa dupla é perigosíssima.

Desvio:

não testar rollback.

Resultado:

bom.

Interpretação:

processo é seguro.

Repete.

Bom resultado novamente.

Agora desvio vira prática aceita.

Até falhar.

Quando falha:

“Como puderam fazer isso?”

Mas a organização premiou exatamente a mesma prática dez vezes.

Isso é hipocrisia retrospectiva operacional.


🧠 “Funcionou” não é argumento suficiente

Uma das frases mais perigosas em TI:

“Funcionou.”

Pergunta:

por quê?

Talvez porque:

design era bom.

Ou:

condição de risco não ocorreu.

Ou:

volume era menor.

Ou:

ninguém coincidiu com janela problemática.

Ou:

sorte.

Resultado sozinho não identifica mecanismo.


🧪 Processo versus resultado

Uma boa análise separa duas colunas:

QUALIDADE DA DECISÃO
---------------------
Informação disponível?
Riscos avaliados?
Critérios seguidos?
Alternativas consideradas?
Rollback validado?
Evidência suficiente?

E:

RESULTADO
---------
Funcionou?
Falhou?
Impacto?

Você precisa avaliar ambos.

Não misturar.


👻 Easter Egg nº 1 — O companion atravessa a rua

Companion atravessa uma avenida sem olhar.

Nenhum carro passa.

Ele diz:

— Viu? Foi seguro.

Doctor responde:

— Não.

— Mas nada aconteceu.

— Isso significa que você sobreviveu.

Pausa.

— Não que sua decisão tenha sido boa.

Outcome Bias em dez segundos.


🧠 Sorte é uma variável invisível

Organizações adoram competência.

Não gostam de falar de sorte.

Mas sistemas complexos possuem incerteza.

Podemos tomar:

boa decisão;

e obter resultado ruim.

Ou:

má decisão;

e escapar.

Se ignoramos sorte:

premiamos comportamentos arriscados que tiveram sucesso.

Punimos comportamentos razoáveis quando o resultado foi adverso.

Isso ensina a lição errada.


📊 Matriz decisão x resultado

Uma ferramenta maravilhosa:

                 RESULTADO BOM      RESULTADO RUIM

BOA DECISÃO      Competência        Azar / risco residual

MÁ DECISÃO       Sorte              Falha previsível

Todas as quatro células existem.

Organizações ruins enxergam apenas:

resultado bom = boa decisão.

resultado ruim = má decisão.

Organizações maduras perguntam:

“Como chegamos à decisão?”


🧠 Hindsight Bias é primo íntimo

Outcome Bias e Hindsight Bias trabalham juntos.

Depois de resultado ruim:

Hindsight:

“Era óbvio que daria errado.”

Outcome:

“Logo, decisão foi péssima.”

Depois de resultado bom:

“Sabíamos o que estávamos fazendo.”

Mesmo que não soubéssemos.

A narrativa se ajusta ao final.


🧩 Um exemplo COBOL simples

Imagine programa lendo campo numérico.

A validação deveria existir.

Programador remove por performance.

100 milhões de registros.

Nenhum inválido.

Resultado:

RC=00.

Gerente:

— A validação era desnecessária.

Não.

Você apenas teve uma população de dados válida.

Mês seguinte chega:

AMOUNT = '12A45'

S0C7.

Agora:

— Quem removeu essa validação?

Mesma lógica.

Primeiro resultado mascarou risco.


🧠 Robustez não pode ser inferida de uma execução

Um teste passou.

Isso prova:

aquele caso passou.

Não:

todo espaço de casos é seguro.

Outcome Bias transforma observação limitada em certeza.


🧪 Teste negativo também precisa ser interpretado

Mudança falha em homologação.

Isso não significa automaticamente:

arquitetura ruim.

Talvez ambiente esteja errado.

Talvez dado de teste seja inconsistente.

Resultado ruim não prova hipótese ruim.

Investigue mecanismo.


⚓ Anchoring Bias e Outcome

Primeiro resultado positivo cria âncora:

“Esse processo funciona.”

Depois qualquer risco é interpretado a partir disso.

Mesmo quando contexto muda.


🔎 Confirmation Bias protege o sucesso

Equipe acredita no processo.

Cada execução boa vira prova.

Near misses são ignorados.

Falhas pequenas:

azar.

Resultado positivo recebe explicação interna:

competência.

Resultado negativo:

exceção.

Isso é Confirmation Bias + Outcome Bias.


👥 Groupthink transforma sorte em cultura

Dez deploys arriscados funcionam.

Equipe:

“Somos bons nisso.”

Um júnior questiona:

— Mas rollback não é testado.

Resposta:

— Nunca precisamos.

Groupthink protege uma prática validada apenas pelo resultado.


🪜 Authority Gradient torna o resultado argumento de autoridade

Sênior:

— Faço assim há 20 anos.

Resultado histórico bom.

Júnior hesita.

Mas a pergunta importante continua:

qual risco foi aceito em cada uma dessas vezes?

Experiência é valiosa.

Sobrevivência não é prova suficiente.


▶️ Plan Continuation Bias

Plano segue.

Até agora deu certo.

Então:

“Vamos continuar.”

O sucesso intermediário pode aumentar compromisso, mesmo quando riscos novos surgiram.

Outcome Bias usa os passos anteriores como prova de que próximos também serão seguros.


🚨 Alarm Fatigue

Warning ignorado várias vezes.

Nenhum incidente.

Resultado bom.

Conclusão:

warning inútil.

Talvez.

Ou alerta real cuja condição perigosa ainda não coincidiu.

Outcome Bias pode matar credibilidade de sinais úteis.


🤖 Automation Bias

Sistema automático fez 500 decisões.

Nada ruim visível.

Conclusão:

podemos confiar completamente.

Talvez não.

Os resultados anteriores podem ter sido:

boas decisões;

ou resultados bons apesar de erros.

Precisamos medir qualidade da decisão automática, não apenas ausência de desastre.


🌀 Drift Into Failure

Este é um dos melhores encaixes.

Pequena otimização.

Funciona.

Outra.

Funciona.

Mais uma.

Funciona.

Cada bom resultado reforça a trajetória.

A organização deriva para a borda.

Até que resultado muda.

Resultado histórico estava ensinando:

“continue.”

Mas não mostrava distância até a fronteira.


👥 Diffusion of Responsibility

Incident sem owner.

Por sorte outra pessoa percebe e resolve.

Resultado bom.

A organização não corrige ownership.

Por quê?

“No fim funcionou.”

Outcome Bias acaba de ocultar uma fragilidade organizacional.


🧠 Normalcy Bias

Problema aparece.

Esperamos.

Volta ao normal.

Resultado:

esperar era certo.

Talvez.

Ou tivemos sorte.

Na próxima vez:

esperamos.

Não volta.

Outcome Bias reforça Normalcy Bias.


🛩️ Survivorship Bias também participa

Vemos decisões arriscadas que sobreviveram.

Não vemos as que destruíram projetos, pessoas ou sistemas.

Resultado bom + sobrevivência cria narrativa:

“essa estratégia funciona.”

Precisamos da amostra completa.


📊 Base Rate Neglect

Uma decisão rara dá certo.

A história fica memorável.

Passamos a recomendar.

Mas qual taxa real de sucesso dessa estratégia?

Outcome Bias olha para o caso.

Base Rate Neglect esquece população.


🧠 Availability Heuristic fecha o círculo

O sucesso espetacular fica na memória.

“Lembra daquele deploy que fizemos sem rollback e terminou em vinte minutos?”

Sim.

O fracasso de outro time talvez seja menos conhecido.

Agora resultado disponível influencia novas decisões.

Nossos monstros realmente gostam de trabalhar em equipe.


🎯 Pergunta Bellacosa nº 1

Depois de algo dar certo:

“O que teria acontecido se uma condição adversa tivesse aparecido?”

Essa pergunta procura risco escondido.


🎯 Pergunta Bellacosa nº 2

Depois de algo dar errado:

“Com as informações disponíveis antes, a decisão ainda era razoável?”

Evita Hindsight Bias.


🎯 Pergunta Bellacosa nº 3

Outra:

“Estamos premiando o processo ou a sorte?”

Excelente em gestão.


🎯 Pergunta Bellacosa nº 4

E:

“Tomaríamos a mesma decisão novamente se o resultado anterior fosse desconhecido?”

Essa é poderosa.

Remove o final da história.


🧪 Result-blind review

Uma técnica interessante:

avaliar uma decisão sem revelar o resultado inicialmente.

Imagine apresentar:

  • informações disponíveis;

  • opções;

  • riscos;

  • decisão.

Pergunte:

“Foi uma decisão razoável?”

Só depois revele:

resultado.

Isso reduz Outcome Bias.


🧠 Replay the decision

No post-mortem:

reconstrua o momento.

02:15

KNOWN:
- test incomplete
- rollback unverified
- 45 min window
- low observed errors

UNKNOWN:
- next dataset contained invalid records

Agora pergunte:

“Com isso, qual decisão seria apropriada?”

Não use dados das 03:00.


📚 Decision Journal

Antes de decisões importantes, registre:

DECISION:
GO

REASON:
Validation A/B passed

KNOWN RISKS:
Rollback untested

CONFIDENCE:
60%

STOP CONDITION:
Any reconciliation mismatch

Depois compare com resultado.

Você consegue avaliar:

qualidade da previsão;

não apenas outcome.


🧠 Calibration

Se alguém diz:

“90% de confiança”

em 100 decisões, aproximadamente 90 deveriam dar certo.

Se só 60:

confiança mal calibrada.

Decision journals ajudam líderes e especialistas a aprenderem sua própria calibração.


📊 Brier Score no horizonte

Existe uma métrica para avaliar qualidade de previsões probabilísticas chamada Brier Score.

Não precisamos aprofundar agora.

Mas o princípio é lindo:

avaliar previsão contra probabilidades declaradas.

Não apenas:

acertou/errou.

Um possível futuro episódio sobre overconfidence bias encaixaria perfeitamente aqui.


☕ Exemplo Bellacosa: change management

Mudança A:

TESTS: 60%
ROLLBACK: NOT TESTED
RISK: HIGH
OUTCOME: SUCCESS

Mudança B:

TESTS: 100%
ROLLBACK: VALIDATED
RISK: LOW
OUTCOME: FAILURE

Se você julgar apenas outcome:

A parece melhor.

Mas processo B pode ter sido muito superior.

A falha B talvez tenha vindo de condição rara impossível de detectar.

A vitória A pode ser pura sorte.

Isso precisa entrar no post-mortem.


🧠 Good process reduces risk, not uncertainty to zero

Nenhum processo garante resultado.

Se garantisse:

não chamaríamos de risco.

Boa engenharia:

reduz probabilidade;

reduz impacto;

aumenta detectabilidade;

melhora recuperação.

Não elimina universo.


🎲 Um dado de seis lados

Você escolhe estratégia A:

falha se sair 1.

Estratégia B:

falha se sair 1,2,3,4.

Primeira execução:

A tira 1 e falha.

B tira 5 e funciona.

Qual estratégia é melhor?

A.

Mesmo tendo falhado.

Outcome não altera distribuição.


🧠 Probabilidade não promete resultado

Chance de chuva 20%.

Chove.

Previsão estava errada?

Não necessariamente.

20% significa:

pode chover.

Da mesma forma:

risco de falha 5%.

Falhou.

Isso não prova avaliação ruim.

Pode ser um evento de 5%.

Investigue calibração ao longo de muitos casos.


🏦 Sistemas financeiros e Outcome Bias

Trader assume risco excessivo.

Ganha.

Recebe bônus.

Repete.

Ganha.

Aumenta risco.

Até perder brutalmente.

Se organização premia apenas resultado:

ensina risco ruim com sorte.

Esse mecanismo aparece em finanças, TI, segurança e projetos.


🔐 Segurança

Administrador desabilita controle para resolver urgente.

Nada acontece.

Resultado:

herói.

Mês seguinte outro faz igual.

Incidente.

Resultado:

culpado.

A primeira exceção também era perigosa.

Outcome Bias premiou-a.


🧠 Incentivos importam

Se pessoas são avaliadas apenas por:

entregou?

ficou verde?

não houve incidente?

elas podem aprender a aceitar risco oculto.

Porque riscos que não se materializam desaparecem da avaliação.

Uma organização madura também valoriza:

processo;

prevenção;

decisão prudente;

stop decisions;

near miss reporting.


🛑 O valor de dizer NO-GO

Equipe cancela mudança.

Nenhum incidente.

Diretor:

— Perdemos a janela.

Mas talvez evitaram desastre.

Como provar?

É difícil.

Prevenção produz ausência.

Resultado visual:

“nada aconteceu.”

Outcome Bias pode desvalorizar exatamente decisões preventivas.


🧠 Prevention Paradox operacional

Boa prevenção pode parecer desnecessária porque evita aquilo que provaria sua necessidade.

Controle funciona.

Nada acontece.

Alguém pergunta:

“Por que gastamos com isso?”

Até remover.

Então descobre.


🦸 Heroísmo versus prevenção

Pessoa A impede deploy arriscado.

Nada acontece.

Pouca visibilidade.

Pessoa B deixa ocorrer, incidente acontece, trabalha 12 horas e salva.

Herói.

Cuidado com incentivos.

Você pode acabar premiando recuperação dramática mais que prevenção silenciosa.

Outcome Bias influencia cultura.


☕ A melhor madrugada é a tediosa

Uma excelente operação:

nenhum incidente;

checks completos;

rollback testado;

todo mundo vai dormir.

Não há história heroica.

Isso é sucesso.

Não ausência de trabalho.


📋 Como combater Outcome Bias

Passo 1 — Separe decisão de resultado

Sempre avalie ambos.


Passo 2 — Reconstrua informação disponível

Não use spoilers.


Passo 3 — Registre critérios antes

Decision journal.


Passo 4 — Avalie riscos aceitos

Mesmo se deu certo.


Passo 5 — Investigue near misses

Resultado bom pode esconder processo ruim.


Passo 6 — Faça result-blind review

Quando possível.


Passo 7 — Compare muitas decisões

Não um caso isolado.


Passo 8 — Avalie calibração

Previsões versus resultados ao longo do tempo.


Passo 9 — Recompense prevenção

Não apenas heroísmo.


Passo 10 — Pergunte se repetiria o processo

Não o resultado.


🧠 Processo ruim + resultado bom é warning

Isso merece uma regra.

Se resultado foi bom mas processo ruim:

não comemore sem corrigir.

Você recebeu:

um near miss invisível.

Talvez nada tenha acontecido.

Mas risco existia.


🚨 “Deu certo” pode ser um near miss

Mudança sem rollback.

Funciona.

Talvez classificar como:

success.

Mas registrar:

process deviation.

Porque precisamos impedir que resultado bom legitime o desvio.


📊 Process Compliance não deve ser burocracia cega

Importante.

Isso não significa:

seguir procedimento mesmo quando absurdo.

Se procedimento é ruim:

mude.

Mas não pule e use sucesso como prova de que nunca precisou.

Primeiro avalie.


🧠 Boa decisão também pode falhar

Isso é especialmente importante para cultura blameless.

Imagine operador segue:

runbook;

critérios;

escalation;

dados.

Mesmo assim sistema falha por condição inesperada.

Não transforme outcome ruim em culpa automática.

Pergunte:

“O que faltava ao sistema?”

Isso permite aprendizado real.


⚖️ Accountability sem Outcome Bias

Accountability madura:

você tomou decisão com cuidado?

usou evidência?

respeitou riscos?

escalou quando necessário?

Não:

deu certo?

Resultado importa.

Mas não sozinho.


🧪 Post-mortem melhor

Evite:

“A decisão de GO foi errada porque houve incidente.”

Prefira:

“No momento do GO, havia divergência não explicada e rollback não validado, portanto a decisão excedia nossos critérios de risco.”

Isso é muito melhor.

Mesmo se não houvesse incidente, a conclusão permaneceria.


🧠 Counterfactual consistency

Uma regra bonita:

Sua avaliação da decisão deveria mudar pouco se você trocar apenas o resultado.

Se a mesma decisão passa de “excelente” para “irresponsável” apenas porque outcome mudou:

suspeite de Outcome Bias.


🎯 Teste Bellacosa

Pegue uma decisão.

Esconda resultado.

Avalie.

Depois revele.

Se sua avaliação muda radicalmente:

pergunte por quê.

Talvez seja informação legítima nova.

Ou talvez outcome esteja dominando.


👨‍💻 Dica para o COBOL iniciante

Seu código passa no primeiro teste.

Não diga:

“Está certo.”

Diga:

“Passou nesse teste.”

Parece pequeno.

É enorme.

Outra:

programa falha em edge case.

Não conclua:

“sou ruim.”

Conclua:

“Encontrei uma condição que o modelo não cobria.”

Resultado é feedback.

Não identidade.


🐞 Bugs são professores

Um bug em produção não significa necessariamente desenvolvimento irresponsável.

Talvez fosse caso extremo genuinamente difícil.

Mas se o processo ignorou teste óbvio:

aí temos aprendizado diferente.

Separe.


🤖 IA e Outcome Bias

Prompt gera código.

Funciona.

Usuário conclui:

IA é excelente para isso.

Outro prompt gera bug.

IA não serve.

Ambas conclusões podem ser precipitadas.

Precisamos avaliar:

amostra;

tipo de tarefa;

revisão;

processo.

Outcome isolado engana.


🤖 Agentes autônomos

Agente executa ação arriscada.

Resultado bom.

Você aumenta autonomia.

Cuidado.

Talvez ele tenha violado política e dado sorte.

Avalie:

process compliance;

guardrails;

decision trace.

Não apenas final state.


🧠 Reward design

Se agente recebe reward apenas pelo resultado:

pode encontrar atalhos perigosos.

Humano também.

Se meta é:

restaurar serviço rápido,

e não mede risco,

alguém pode reiniciar tudo.

Funciona.

Reward.

Depois vira ritual.

Outcome Bias embutido no incentivo.


📊 Leading versus lagging indicators novamente

Outcome é frequentemente lagging indicator.

Resultado final.

Process indicators podem mostrar qualidade antes:

tests;

margin;

exceptions;

warnings;

decision criteria.

Precisamos ambos.


🧬 Drift Into Failure e indicadores

Se tudo continua funcionando, outcome é verde.

Mas leading indicators pioram.

Outcome Bias diz:

tudo bem.

Drift Into Failure responde:

por enquanto.

Essa conexão é central.


👻 Easter Egg nº 2 — TARDIS e loteria

Companion:

— Apostei todas as economias num número e ganhei!

Doctor:

— Parabéns.

— Então foi uma excelente estratégia?

— Não.

— Mas funcionou.

— Uma vez.

Pausa.

— O universo está tentando lhe ensinar estatística. Não desperdice a oportunidade.


📓 Diário do Doctor

Se guardar algumas ideias desta viagem, guarde estas:

Outcome Bias é julgar a qualidade de uma decisão principalmente pelo resultado.

Bom resultado não prova boa decisão.

Resultado ruim não prova decisão ruim.

Sorte e incerteza fazem parte de sistemas complexos.

Processo ruim com resultado bom pode ser um near miss.

Normalization of Deviance cresce quando práticas ruins são legitimadas por sucesso.

Hindsight Bias transforma outcome ruim em “era óbvio”.

Avalie informações disponíveis no momento da decisão.

Decision journals e result-blind reviews ajudam.

Recompense prevenção, não apenas heroísmo.

E principalmente:

Uma decisão deve ser julgada pelo que sabíamos quando a tomamos — não apenas pelo que o universo decidiu fazer depois.


🕰️ De volta à primeira mudança

A TARDIS retorna à semana anterior.

02:13.

Rollback não testado.

Validação incompleta.

Gerente:

— Podemos seguir.

Agora nosso programador sabe que, no futuro, essa mudança funcionará.

Mas não pode usar esse conhecimento.

Ele olha para o Doctor.

— Mas nós sabemos que vai dar certo.

O Doctor responde:

— Nós sabemos.

Aponta para a equipe.

— Eles não.

— Então?

— Avalie a decisão deles.

Nosso jovem observa.

Sem rollback.

Sem reconciliação.

Janela curta.

Ele diz:

— NO-GO.

Gerente:

— Mas talvez funcione.

— Talvez.

— Então por que parar?

— Porque “talvez funcione” não é critério suficiente.

A mudança é adiada.

Na manhã seguinte, encontram uma condição de dados que poderia ter causado problema.

Corrigem.

Próxima janela.

Tudo funciona.

O gerente pergunta:

— Então ontem teria falhado?

O programador responde:

— Não sabemos.

— Então talvez tivéssemos perdido tempo.

— Talvez.

O Doctor sorri.

— Excelente.

O gerente parece confuso.

— Excelente o quê?

— Finalmente vocês estão confortáveis com uma frase que sistemas complexos exigem bastante.

— Qual?

“Não sabemos.”

Porque admitir incerteza é muito mais seguro que inventar certeza baseada no resultado.


🥚 Easter Egg final

No dia seguinte aparece:

BELLACOSA.BIAS(OUTCOME)

Dentro:

       IF RESULT = 'GOOD'
          AND PROCESS = 'BAD'
           MOVE 'LUCK'
             TO POSSIBLE-EXPLANATION
       END-IF.

       IF RESULT = 'BAD'
          AND PROCESS = 'GOOD'
           PERFORM INVESTIGATE-RISK
       END-IF.

       PERFORM EVALUATE-DECISION
          BEFORE EVALUATE-OUTCOME.

Comentário:

* LUCK IS NOT A CONTROL.

Outro:

* SUCCESS CAN HIDE A BAD DECISION.

E naturalmente:

* BAD WOLF GOT LUCKY.

Nosso programador fecha o membro.

Horas depois alguém diz:

— Fizemos deploy sem teste e funcionou.

Ele sorri.

— Ótimo.

— Então podemos simplificar o processo?

— Talvez.

— Mas deu certo.

— Eu sei.

Abre o change record.

— Agora vamos descobrir se deu certo por causa do processo ou apesar dele.

Em algum lugar do universo:

VWORP.

VWORP.

VWORP.

A TARDIS desaparece.

No quadro da War Room fica escrita uma frase:

Não confunda sorte com competência, nem azar com incompetência. Primeiro julgue a decisão. Depois estude o resultado.

☕🌀

Next stop: Overconfidence Bias — quando conhecimento, senioridade e alguns sucessos começam a convencer alguém de que sua margem de erro é muito menor do que realmente é.

sexta-feira, 6 de maio de 2011

Solomon Kane : Quando um Programador Descobre que o Maior Caçador de Sombras da Literatura Também Era um Mestre em Auditoria, Investigação e Segurança de Sistemas

 

Bellacosa Mainframe apresenta Solomon Kane

☕ Um Café no Bellacosa Mainframe

Solomon Kane sem Mistérios para Programadores COBOL

Quando um Programador Descobre que o Maior Caçador de Sombras da Literatura Também Era um Mestre em Auditoria, Investigação e Segurança de Sistemas

"Nem todo inimigo chega empunhando uma espada. Alguns chegam disfarçados de rotina, exceção não tratada ou privilégio concedido sem revisão."


Introdução – Antes dos Analistas de Segurança Existia Solomon Kane

Existe uma pergunta curiosa.

Se Conan representa o programador que enfrenta desafios de frente...

E Kull representa o arquiteto que governa sistemas complexos...

Quem representaria o profissional que vive investigando incidentes, procurando vulnerabilidades e eliminando ameaças antes que elas destruam o ambiente?

A resposta foi escrita quase um século atrás por Robert E. Howard.

Seu nome era Solomon Kane.

Curiosamente, Kane nunca foi o mais forte.

Nunca foi o mais rico.

Nunca foi rei.

Nunca liderou exércitos.

Seu verdadeiro poder era outro.

Ele nunca desistia enquanto existisse uma injustiça sem explicação.

Se Conan lembra um excelente desenvolvedor COBOL...

Solomon Kane lembra imediatamente:

  • o analista de produção;

  • o especialista em RACF;

  • o auditor;

  • o profissional de segurança;

  • o investigador de ABENDs;

  • o caçador de bugs impossíveis.

Ele não luta por glória.

Luta porque alguém precisa impedir que o mal continue funcionando.

No mundo do mainframe...

isso soa incrivelmente familiar.


Quem foi Solomon Kane?

Robert E. Howard criou Solomon Kane em 1928.

Ou seja...

antes de Conan.

Antes de Kull alcançar fama.

Antes mesmo da fantasia heroica tornar-se um gênero consolidado.

Kane vive no século XVI.

É inglês.

Puritano.

Viaja sozinho pelo mundo.

Cruza:

  • Inglaterra

  • França

  • Alemanha

  • África

  • Espanha

  • florestas

  • desertos

  • castelos

  • ruínas

Não procura aventuras.

As aventuras o encontram.


Kane Nunca Procura Problemas

Existe algo muito interessante.

Conan normalmente procura tesouros.

Kull procura estabilidade para seu reino.

Kane...

procura respostas.

Ele vê uma aldeia destruída.

Investiga.

Encontra rastros.

Analisa testemunhas.

Reconstrói acontecimentos.

Somente depois enfrenta o inimigo.

Isso lembra alguma rotina?

Claro.

É exatamente um processo de investigação de incidente.


Imagine um ambiente CICS.

Usuários reclamam.

O sistema trava.

Nenhum erro evidente.

Nenhum dump.

Nenhum ABEND.

Apenas lentidão.

O profissional comum tenta reiniciar tudo.

Solomon Kane faria diferente.

Primeiro perguntaria:

Quem foi o primeiro afetado?

Quando começou?

O que mudou?

Qual região foi impactada?

Existe padrão?

Há quanto tempo?

Essa forma de pensar diferencia um verdadeiro especialista.


A Espada e a Bíblia

Kane carrega duas coisas.

Uma espada.

Uma Bíblia.

Parece contraditório.

Mas não é.

A espada representa ação.

A Bíblia representa princípios.

Um bom profissional de tecnologia também vive esse equilíbrio.

Ferramentas sem ética são perigosas.

Conhecimento sem responsabilidade também.


O Diário do Investigador

Em praticamente todas as aventuras Kane observa detalhes.

Pegadas.

Objetos.

Expressões.

Mentiras.

Silêncios.

O profissional COBOL faz exatamente isso.

Lê:

SYSOUT.

JESMSGLG.

JESJCL.

SQLCA.

SMF.

RMF.

LOGREC.

SYSLOG.

Cada arquivo conta uma parte da história.

Nenhum sozinho revela toda a verdade.


Easter Egg nº 1

Muito antes de CSI existir na televisão...

Howard já escrevia histórias baseadas em investigação lógica.

A diferença é que o laboratório forense era uma floresta medieval.


O Primeiro Analista de Segurança?

Pense em Kane durante alguns minutos.

Ele atravessa fronteiras.

Investiga crimes.

Descobre conspirações.

Enfrenta cultos secretos.

Impede organizações ocultas.

Isso lembra muito um profissional moderno de Cyber Security.

Não por acaso muitos fãs o consideram um precursor desse arquétipo.


Os Monstros São Vulnerabilidades

Howard nunca escreveu monstros apenas para assustar.

Cada criatura simboliza algo.

Ganância.

Medo.

Fanatismo.

Corrupção.

Mentira.

No ambiente corporativo também existem monstros.

Nem sempre possuem dentes.

Às vezes aparecem como:

  • senha compartilhada;

  • privilégio excessivo;

  • backup inexistente;

  • documentação perdida;

  • acesso genérico;

  • ambiente sem segregação.

Parecem pequenos.

Até produzirem um desastre.


Easter Egg nº 2

Howard era fascinado por História.

Grande parte dos lugares visitados por Kane realmente existe.

Ele misturava geografia real com horror sobrenatural.

Da mesma forma que um ambiente z/OS mistura tecnologia moderna com decisões tomadas quarenta anos atrás.


RACF Também Tem Caçadores

Existe um momento na carreira em que o profissional deixa de criar funcionalidades.

Passa a proteger aquilo que já existe.

É exatamente a missão de Kane.

No mundo IBM Z isso lembra especialistas em:

RACF.

SAF.

ACF2.

Top Secret.

Auditoria.

Compliance.

Governança.

São pessoas que raramente aparecem.

Mas quando falham...

toda organização sofre.


O Castelo Assombrado é Produção

Quase toda história de Kane possui um castelo.

Escuro.

Silencioso.

Cheio de passagens ocultas.

Segredos.

Portas escondidas.

Parece um ambiente legado.

Documentação incompleta.

COPYBOOK desaparecido.

JCL criado em 1987.

Parâmetros desconhecidos.

Ninguém sabe por que funciona.

Mas funciona.

Até deixar de funcionar.


Kane Nunca Assume

Essa talvez seja sua maior qualidade.

Ele nunca conclui antes de investigar.

No mundo moderno chamamos isso de:

evidência.

observabilidade.

telemetria.

diagnóstico.

Um excelente programador COBOL também trabalha assim.

Nunca altera código baseado em suposição.

Primeiro encontra fatos.

Depois toma decisões.


Easter Egg nº 3

Howard criou Kane numa época em que Sherlock Holmes já era famoso.

Mesmo assim Kane investiga de forma completamente diferente.

Holmes usa ciência.

Kane usa experiência.

No mainframe precisamos das duas.


Os Demônios Invisíveis

Os inimigos de Kane raramente aparecem imediatamente.

Primeiro existem sintomas.

Depois pistas.

Depois desaparecimentos.

Somente muito depois surge o verdadeiro responsável.

Não lembra um bug intermitente?

Você recebe apenas relatos.

Nunca consegue reproduzir.

O erro acontece uma vez por mês.

Sempre em produção.

Jamais em homologação.

Esse é o verdadeiro demônio.


A África de Kane

Diversas histórias acontecem na África.

Howard não a descreve apenas como cenário.

Ela representa território desconhecido.

Exploração.

Adaptação.

Aprendizado.

Todo profissional passa por isso.

Primeiro cliente.

Primeiro banco.

Primeira seguradora.

Primeiro governo.

Primeiro ambiente CICS.

Primeiro Db2.

Primeiro MQ.

Cada projeto é um continente novo.


A Lanterna do Investigador

Existe um símbolo recorrente.

Kane frequentemente utiliza luz para revelar o escondido.

No desenvolvimento essa lanterna possui vários nomes.

TRACE.

DISPLAY.

LOG.

MONITOR.

SMF.

RMF.

DEBUG.

Todos servem para iluminar aquilo que antes era invisível.


Curiosidades Pouco Conhecidas

Solomon Kane influenciou personagens modernos

Diversos estudiosos enxergam ecos de Kane em:

  • Van Helsing;

  • The Witcher (Geralt);

  • Hellboy;

  • Blade;

  • diversos caçadores sobrenaturais dos quadrinhos.


Howard escreveu poucas histórias

Apesar da fama crescente, Kane possui relativamente poucos contos comparado a Conan.

Mesmo assim seu impacto foi enorme.


Kane envelhece emocionalmente

Cada aventura deixa marcas.

Howard descreve um personagem cada vez mais experiente.

Muito parecido com profissionais veteranos.


Não existe humor gratuito

As histórias de Kane são sérias.

Atmosfera pesada.

Investigação constante.

Silêncio.

Suspense.

É praticamente um thriller sobrenatural.


Kane e o Dump

Receber um dump lembra encontrar um cadáver.

Ele não responde perguntas.

Mas guarda todas as respostas.

O investigador precisa saber interpretar.

Um iniciante vê milhares de bytes.

Um veterano vê uma narrativa completa.

Foi exatamente assim que Kane trabalhava.


O Maior Vilão

É curioso observar que Kane raramente luta apenas contra criaturas sobrenaturais.

Seu verdadeiro inimigo quase sempre é o ser humano.

Ganância.

Traição.

Ambição.

Fanatismo.

Mentira.

No desenvolvimento de software acontece exatamente igual.

Pouquíssimos incidentes acontecem porque COBOL falhou.

Grande parte nasce de:

especificação errada.

mudança sem teste.

deploy incompleto.

documentação ausente.

configuração incorreta.

permissão excessiva.

A tecnologia normalmente apenas revela erros humanos.


O Chapéu Preto

Visualmente Kane possui um dos desenhos mais marcantes da literatura.

Chapéu largo.

Roupas negras.

Espada.

Pistolas.

Olhar cansado.

É impossível não imaginar um administrador de produção entrando às duas da manhã para resolver um incidente crítico.

Não existe glamour.

Existe responsabilidade.


O Mainframe Também Possui Caçadores

Todo grande ambiente IBM Z possui alguém conhecido por uma característica curiosa.

Quando ninguém consegue descobrir a origem de um problema...

essa pessoa é chamada.

Ela olha cinco minutos.

Faz três perguntas.

Abre dois logs.

Consulta um SMF.

Lê um dump.

E encontra o problema.

Não porque tenha poderes.

Mas porque aprendeu a investigar.

Solomon Kane faria exatamente igual.


A Filosofia de Solomon Kane para um Programador COBOL

Existe uma frase implícita em praticamente todas as aventuras de Kane:

"A verdade sempre deixa rastros."

Essa talvez seja a maior lição para quem trabalha com sistemas críticos.

Incidentes deixam evidências.

Fraudes deixam evidências.

ABENDs deixam evidências.

Deadlocks deixam evidências.

SQLCODEs deixam evidências.

Mesmo quando parecem desaparecer.

O verdadeiro especialista não adivinha.

Ele reconstrói os fatos.

Pergunta.

Confirma.

Valida.

Somente depois modifica o sistema.

Essa mentalidade transforma um simples programador em um profissional capaz de proteger operações que movimentam bilhões de reais diariamente.


Conclusão – O Guardião Invisível do Mainframe

Conan ensina coragem.

Kull ensina liderança.

Solomon Kane ensina investigação.

Ele nos mostra que o conhecimento mais valioso não é escrever rapidamente uma solução, mas compreender profundamente a origem de um problema antes de agir. Em um ambiente COBOL, onde sistemas processam contas bancárias, aposentadorias, seguros, impostos e milhões de transações todos os dias, essa postura faz toda a diferença.

Howard criou Solomon Kane quase cem anos atrás, mas sua filosofia continua surpreendentemente atual. O profissional que mais agrega valor em um ambiente crítico não é necessariamente quem produz mais linhas de código, e sim quem consegue manter a confiabilidade do sistema, descobrir a causa raiz de um incidente, proteger os dados e impedir que o mesmo erro volte a acontecer.

Todo programador COBOL começa sua jornada como Conan, enfrentando desafios com coragem. Alguns evoluem para Kull, assumindo responsabilidades de arquitetura e governança. Mas os verdadeiros guardiões da produção acabam adquirindo algo de Solomon Kane: a disciplina de investigar antes de concluir, a paciência de seguir cada pista e a convicção de que toda falha possui uma história esperando para ser decifrada.

Porque, no universo do mainframe, os maiores monstros raramente aparecem empunhando espadas.

Eles preferem esconder-se em um JCL esquecido, em um privilégio RACF concedido anos atrás, em uma rotina que ninguém revisa desde a década de 1990 ou em um dump que todos ignoraram.

E é justamente nesse momento que surge o verdadeiro caçador de sombras do IBM Z: o profissional que acende a lanterna da investigação, segue os rastros até a origem do problema e devolve a estabilidade ao reino digital.

Como Solomon Kane faria.

quinta-feira, 5 de maio de 2011

Kull de Valúsia : Quando um Programador Descobre que Antes de Conan Já Existia um Rei Lutando Contra Sistemas Legados, Burocracias e Mudanças de Produção

 

Bellacosa Mainframe apresenta Kull da Valusia

☕ Um Café no Bellacosa Mainframe

Kull de Valúsia sem Mistérios para Programadores COBOL

Quando um Programador Descobre que Antes de Conan Já Existia um Rei Lutando Contra Sistemas Legados, Burocracias e Mudanças de Produção

"A espada derrota um inimigo. O conhecimento derrota um império inteiro."


Introdução – Antes de Conan Existia Kull

Quando se fala em Robert E. Howard, quase todo mundo imediatamente pensa em Conan, o Bárbaro.

É natural.

Conan tornou-se um fenômeno mundial.

Cinema.

Quadrinhos.

Jogos.

RPG.

Desenhos.

Milhões de livros vendidos.

Mas existe um segredo que muitos fãs desconhecem.

Conan não foi o primeiro.

Antes dele existiu outro bárbaro.

Um personagem ainda mais filosófico.

Mais introspectivo.

Mais político.

Mais complexo.

Seu nome era Kull de Atlântida, conhecido posteriormente como Kull de Valúsia.

Se Conan representa o profissional que aprende sobrevivendo em ambientes hostis...

Kull representa algo diferente.

Ele representa o profissional que finalmente chega ao topo da carreira...

...e descobre que o verdadeiro problema nunca foi escrever código.

O verdadeiro problema é governar sistemas.

Se Conan é o excelente programador COBOL...

Kull é o arquiteto.

É o líder técnico.

É o gerente de produção.

É o responsável por ambientes críticos.

E acredite...

Essa é uma aventura muito mais difícil.


Quem foi Kull?

Robert E. Howard criou Kull alguns anos antes de Conan.

Enquanto Conan vive na Era Hiboriana...

Kull vive milhares de anos antes, na lendária Atlântida.

Sim.

A mesma Atlântida das antigas lendas.

Howard imaginou um continente extremamente antigo, violento e selvagem.

Foi ali que nasceu Kull.


Ele não nasceu príncipe.

Não nasceu rei.

Não nasceu escolhido.

Nasceu sobrevivente.

Assim como muitos profissionais de tecnologia.

Ninguém começa dominando:

  • COBOL

  • CICS

  • JCL

  • Db2

  • MQ

  • RACF

  • VSAM

  • z/OS

Começamos sobrevivendo.


Da Atlântida para Valúsia

A jornada de Kull é fascinante.

Primeiro escravo.

Depois gladiador.

Mercenário.

Pirata.

Soldado.

Até conquistar o maior reino da época.

Valúsia.

Ele literalmente derrota o rei anterior.

E assume o trono.

Agora imagine.

Você passou vinte anos aprendendo COBOL.

Finalmente virou arquiteto.

Especialista.

Líder.

IBM Champion.

Referência técnica.

Parabéns.

Agora começa o verdadeiro desafio.

Porque programar era fácil.

Difícil é governar.


O Rei Descobre a Burocracia

Essa talvez seja a maior diferença entre Conan e Kull.

Conan odeia burocracia.

Kull é obrigado a enfrentá-la diariamente.

Existe uma cena recorrente nos contos.

Kull deseja mudar algo simples.

Mas ministros.

Sacerdotes.

Nobres.

Generais.

Conselheiros.

Todos dizem:

"Sempre foi assim."

Conhece essa frase?

Ela aparece diariamente em projetos COBOL.

"Não podemos alterar."

"Desde 1989 funciona assim."

"Ninguém sabe por quê."

"O cliente pediu."

"Não mexe."

É exatamente isso.


O Primeiro Sistema Legado

Valúsia funciona como um sistema escrito há séculos.

Possui regras.

Procedimentos.

Normas.

Exceções.

Documentação perdida.

Processos sem sentido.

Todo mundo conhece apenas um pedaço.

Ninguém entende o todo.

Isso lembra algum ambiente corporativo?


Imagine um sistema bancário.

Milhares de programas.

Décadas de evolução.

Centenas de pessoas passaram por ele.

Cada geração deixou uma pequena alteração.

Resultado?

Um verdadeiro castelo medieval.

É exatamente assim que Howard descreve Valúsia.


A Serpente Invisível

Talvez o conto mais famoso seja:

The Shadow Kingdom.

Nele aparecem os famosos Homens-Serpente.

Durante décadas muitos acreditaram tratar-se apenas de monstros.

Não.

Eles representam algo muito mais profundo.

São infiltrados.

Substituem pessoas.

Assumem identidades.

Manipulam decisões.

Mudam governos sem ninguém perceber.

Agora pense no mundo corporativo.

Quantas decisões técnicas parecem lógicas...

...mas escondem interesses políticos?

Nem sempre o problema é técnico.

Às vezes é humano.


Easter Egg nº 1

"The Shadow Kingdom" (1929) é considerado por muitos historiadores como a primeira história moderna de fantasia heroica.

Sem Kull...

provavelmente Conan jamais existiria.


O Castelo é um Data Center

Kull governa de dentro de um enorme palácio.

Corredores.

Salas.

Guardas.

Portões.

Arquivos.

Tesouros.

Pessoas.

É impossível não imaginar um Data Center.

Existem áreas onde poucos entram.

Salas altamente protegidas.

Pessoas autorizadas.

Procedimentos rígidos.

Mudanças controladas.

Toda arquitetura possui camadas.

Assim como um ambiente z/OS.


O Trono é Produção

Enquanto era aventureiro...

Kull resolvia apenas seus problemas.

Depois que virou rei...

Cada decisão afeta milhares de pessoas.

É exatamente o que acontece quando um programador passa para Produção.

Agora um erro pode impactar:

milhões de contas.

folhas de pagamento.

cartões.

PIX.

aposentadorias.

seguros.

A responsabilidade muda completamente.


A Solidão do Arquiteto

Existe um aspecto extremamente moderno em Kull.

Ele sente solidão.

Quanto mais sobe...

menos pessoas conseguem compreender seus problemas.

O mesmo ocorre com arquitetos de software.

No início existe uma equipe.

Depois...

Todos perguntam.

Poucos respondem.

Todos cobram.

Poucos ajudam.

Howard descreveu isso quase cem anos atrás.


Easter Egg nº 2

Robert E. Howard escreveu Kull antes da Grande Depressão.

Mesmo assim seus contos discutem corrupção institucional, burocracia e decadência política.

São incrivelmente atuais.


Atlântida Nunca Morreu

Na obra de Howard, Atlântida desapareceu.

Mas sua influência continua.

Curioso.

Os sistemas também funcionam assim.

Você talvez nunca tenha visto:

OS/VS COBOL.

IMS/DC original.

DOS/VSE dos anos 70.

IBM 360.

Mas suas decisões continuam presentes dentro dos sistemas modernos.

Toda arquitetura carrega fósseis.


Os Homens-Serpente são Bugs?

Seria fácil dizer isso.

Mas não.

Eles lembram muito mais:

bugs invisíveis.

problemas intermitentes.

race conditions.

dados corrompidos.

configurações erradas.

Tudo parece funcionar.

Até que...

Algo estranho acontece.

Ninguém entende.

Ninguém encontra.

Todos juram que nunca ocorreu.

Até aparecer novamente.


Kull e o Debug Filosófico

Conan pergunta:

"Como derrotar?"

Kull pergunta:

"Como saber se estou certo?"

Essa diferença é enorme.

Programadores iniciantes querem apenas corrigir o erro.

Veteranos perguntam:

Por que aconteceu?

Como evitar?

Quem será impactado?

Quais efeitos colaterais existem?

Esse pensamento transforma um desenvolvedor em arquiteto.


O Maior Inimigo Não Está Fora

Nos contos de Kull...

o maior conflito raramente é uma batalha.

É dúvida.

Confiança.

Traição.

Identidade.

Realidade.

Esses temas aparecem constantemente.

No desenvolvimento de software acontece o mesmo.

O maior risco nem sempre é um ABEND.

É uma decisão equivocada tomada meses antes.


Easter Egg nº 3

Muitos elementos de Kull inspirariam posteriormente:

Game of Thrones.

Conan.

Elric.

Dungeons & Dragons.

Warhammer.

The Elder Scrolls.

Muito do que chamamos hoje de fantasia moderna nasceu ali.


O Conselho Real é um CAB

Toda empresa possui um CAB.

Change Advisory Board.

Mudanças passam por aprovação.

Avaliação.

Planejamento.

Janelas.

Riscos.

Kull também.

Ele nunca governa sozinho.

Sempre existe um conselho.

Nem sempre inteligente.

Nem sempre eficiente.

Mas necessário.


A Espada Não Resolve Tudo

Conan frequentemente vence pela força.

Kull raramente.

Ele precisa negociar.

Convencer.

Administrar.

Planejar.

Isso lembra muito o profissional sênior.

Quanto maior o cargo...

menos código escreve.

Mais decisões toma.


Curiosidades Pouco Conhecidas

Kull quase foi esquecido

Durante décadas poucas histórias estavam disponíveis.

Conan acabou eclipsando completamente seu predecessor.

Somente anos depois editoras voltaram a publicar seus contos.


Howard reutilizou ideias

Vários conceitos criados para Kull migraram posteriormente para Conan.

É possível encontrar paralelos entre personagens, reinos e conflitos.


O universo de Kull é mais sombrio

Enquanto Conan vive aventuras grandiosas, Kull frequentemente enfrenta dilemas existenciais.

É uma fantasia muito mais filosófica.


Lovecraft admirava Howard

Howard e H. P. Lovecraft trocaram cartas durante anos.

Muitas ideias circularam entre ambos.

Daí surgiram diversas influências que mais tarde apareceriam em universos compartilhados de fantasia e horror.


O Mainframe Também Possui Reis

Existe uma curiosidade interessante.

Em quase todo ambiente z/OS há pessoas que conhecem praticamente tudo.

Elas sabem:

por que determinado JOB existe;

quem criou um PROC há trinta anos;

qual COPYBOOK nunca deve ser alterado;

por que determinado SQL possui um OPTIMIZE FOR 1 ROW;

qual JCL só roda depois das 22h.

Esses profissionais lembram Kull.

Não porque sejam reis.

Mas porque carregam a responsabilidade de preservar um reino inteiro funcionando.


A Filosofia de Kull para um Programador COBOL

Kull ensina que vencer uma batalha é apenas o começo. O verdadeiro desafio surge depois da vitória, quando chega a hora de manter um reino funcionando todos os dias. No universo do mainframe acontece exatamente a mesma coisa. Escrever um programa é uma conquista; mantê-lo confiável durante décadas é uma missão muito maior.

O profissional que evolui na carreira descobre que seu trabalho deixa de ser apenas produzir código. Ele passa a tomar decisões que afetam pessoas, processos, auditorias, segurança, desempenho e continuidade dos negócios. Nesse momento, a espada é substituída pela experiência, e a coragem passa a significar assumir responsabilidade pelas consequências de cada mudança.

Kull também nos lembra que nem todos os inimigos são visíveis. Alguns aparecem como burocracias desnecessárias, documentação perdida, conhecimento concentrado em poucas pessoas, regras criadas décadas atrás e decisões que ninguém mais sabe explicar. Esses são os verdadeiros "Homens-Serpente" dos sistemas legados: problemas silenciosos que permanecem escondidos até o dia em que colocam toda a produção em risco.

No final, talvez essa seja a maior lição de Robert E. Howard.

Conan ensina como conquistar.

Kull ensina como governar.

Conan representa a coragem de enfrentar o desconhecido.

Kull representa a sabedoria de manter um império funcionando sem deixá-lo desmoronar.

E todo programador COBOL, cedo ou tarde, percorre exatamente esse caminho. Primeiro aprende a sobreviver como Conan. Depois, quando a responsabilidade aumenta, percebe que se tornou Kull: guardião de um reino construído ao longo de décadas, onde cada linha de código preservada com inteligência vale mais do que cem espadas desembainhadas.

Porque, no fim, a maior aventura do profissional de mainframe não é conquistar novos territórios tecnológicos.

É garantir que o reino continue funcionando quando todos os demais já esqueceram como ele foi construído.

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...