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

Translate

Mostrar mensagens com a etiqueta métricas. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta métricas. Mostrar todas as mensagens

sexta-feira, 10 de maio de 2024

Logging, Tracing & Metrics — O Caso dos Sinais Ocultos no Sistema

 

Bellacosa Mainframe e o caso dos sinais ocultos do sistema logging tracing e metrics

☕ Um Café no Bellacosa Mainframe

Logging, Tracing & Metrics — O Caso dos Sinais Ocultos no Sistema

A chuva caía sobre o CPD como se alguém tivesse submetido um JOB com TYPRUN=HOLD para o próprio céu.

Na sala de operações, monitores exibiam gráficos, mensagens, filas, tempos de resposta e alguns alertas vermelhos que ninguém queria encarar por muito tempo. O relógio marcava 02h17 da manhã quando o telefone tocou.

— Bellacosa, temos um problema.

Do outro lado da linha, um programador COBOL iniciante tentava controlar a ansiedade.

— Qual é o erro?

— Ainda não sabemos.

— O sistema caiu?

— Não exatamente.

— O CICS está fora?

— Não.

— O Db2 parou?

— Também não.

— Então qual é o problema?

Houve alguns segundos de silêncio.

— Os clientes estão reclamando que o sistema está lento.

Essa é uma das frases mais perigosas de qualquer ambiente de produção.

“Está lento” não é diagnóstico.

“Está lento” é uma pista.

Pode ser CPU, memória, rede, fila, programa COBOL, consulta SQL, contenção de recurso, timeout, deadlock, chamada externa, API, excesso de logging, problema em disco, indisponibilidade parcial ou até uma combinação de vários elementos.

Foi então que uma figura surgiu na porta do CPD usando um sobretudo escuro, segurando uma lupa em uma mão e uma caneca de café na outra.

— Elementar, meu caro Padawan — disse o investigador. — O sistema já contou o que aconteceu. O problema é que vocês ainda não aprenderam a ouvi-lo.

Assim começa nossa investigação sobre Logging, Tracing, Metrics e Observabilidade.

Para um programador COBOL iniciante, esses conceitos podem parecer assuntos exclusivos de Cloud, DevOps, Kubernetes ou microsserviços. Mas isso é um engano digno de um suspeito tentando desviar a atenção do detetive.

Observabilidade também pertence ao mundo do mainframe.

Ela está no DISPLAY do COBOL, nas mensagens do CICS, nos registros SMF, no SYSLOG, no JES, nas estatísticas do Db2, nas filas MQ, nos tempos de resposta e nos caminhos percorridos por uma transação.

O mainframe sempre produziu evidências.

Agora precisamos aprender a investigá-las.


O mistério central: o sistema está tentando falar

A frase que inspira esta investigação é:

What if the hidden signals in your system are screaming for attention?

Em português:

E se os sinais ocultos do seu sistema estiverem gritando por atenção?

Sistemas raramente falham sem aviso.

Antes de um incidente, normalmente surgem pequenos sintomas:

  • aumento de tempo de resposta;

  • crescimento de filas;

  • elevação da CPU;

  • redução do throughput;

  • aumento de erros intermitentes;

  • mensagens de timeout;

  • conexões abertas por tempo excessivo;

  • SQLCODEs incomuns;

  • maior consumo de memória;

  • crescimento anormal de logs;

  • transações aguardando recursos;

  • chamadas externas cada vez mais lentas.

Separadamente, esses sinais podem parecer irrelevantes.

Juntos, eles formam uma cena do crime.

O grande objetivo da observabilidade é transformar sinais isolados em uma narrativa compreensível.

Em outras palavras, observabilidade é a capacidade de olhar para o comportamento externo de um sistema e deduzir o que está acontecendo dentro dele.

É exatamente o que Sherlock Holmes faria.

Ele não precisava ter visto o crime acontecer. Analisava pegadas, cinzas de cigarro, marcas no chão, horários, testemunhos e objetos fora de lugar.

Na engenharia de software, fazemos algo parecido com:

  • logs;

  • métricas;

  • traces;

  • alertas;

  • eventos;

  • identificadores de correlação.

Cada um desses elementos revela uma parte da história.



Capítulo 1 — Logging: o diário secreto do sistema

Logs são registros de acontecimentos.

Eles respondem perguntas como:

  • O que aconteceu?

  • Quando aconteceu?

  • Onde aconteceu?

  • Qual módulo estava sendo executado?

  • Qual usuário iniciou a operação?

  • Qual foi o código de retorno?

  • Qual dado estava sendo processado?

  • Qual transação estava ativa?

Imagine um programa COBOL responsável por consultar o saldo de um cliente.

Um log simples poderia ser:

CONSULTA DE SALDO INICIADA

Isso é melhor do que nada, mas ajuda pouco.

Qual cliente?

Qual horário?

Qual transação?

Qual programa?

Qual resultado?

Um log mais útil seria:

2026-08-03 02:17:54
PROGRAMA=BCSALDO
TRANSACAO=BS01
CLIENTE=000123456
EVENTO=INICIO-CONSULTA

Depois:

2026-08-03 02:17:55
PROGRAMA=BCSALDO
TRANSACAO=BS01
CLIENTE=000123456
SQLCODE=0
TEMPO-DB2=245MS
EVENTO=CONSULTA-CONCLUIDA

Agora existe uma narrativa.

Sabemos quando começou, quando terminou, qual cliente foi consultado e quanto tempo o Db2 levou.

Se ocorrer um erro:

2026-08-03 02:17:56
PROGRAMA=BCSALDO
TRANSACAO=BS01
CLIENTE=000123456
SQLCODE=-911
EVENTO=ROLLBACK
MENSAGEM=DEADLOCK-OU-TIMEOUT

Esse registro se transforma em evidência.

O erro clássico: escrever logs inúteis

Programadores iniciantes frequentemente usam mensagens assim:

DISPLAY 'DEU ERRO'.

O problema é que “deu erro” não diz absolutamente nada.

Seria como Sherlock Holmes encontrar uma testemunha que afirma:

— Aconteceu alguma coisa.

E se recusa a explicar o quê.

Um log de qualidade precisa fornecer contexto.

Exemplo:

DISPLAY 'ERRO NO PROGRAMA BCPAGTO'
DISPLAY 'CLIENTE: ' WS-CLIENTE
DISPLAY 'CONTA: ' WS-CONTA
DISPLAY 'SQLCODE: ' SQLCODE
DISPLAY 'ETAPA: CONSULTA-SALDO'

Melhor ainda seria construir uma mensagem estruturada:

LEVEL=ERROR
PROGRAM=BCPAGTO
STEP=CONSULTA-SALDO
CLIENT=000123456
SQLCODE=-911
TRACE-ID=ABC987654

Esse formato é fácil de pesquisar e processar automaticamente.


Logs estruturados

Sistemas modernos preferem logs estruturados, frequentemente no formato JSON:

{
  "timestamp": "2026-08-03T02:17:56",
  "level": "ERROR",
  "program": "BCPAGTO",
  "transaction": "PG01",
  "customer": "000123456",
  "sqlcode": -911,
  "traceId": "ABC987654",
  "message": "Rollback após deadlock"
}

Um programa COBOL tradicional pode não gerar JSON diretamente, mas isso não impede o uso do conceito.

O importante é manter um padrão previsível.

Por exemplo:

TIMESTAMP=20260803021756|LEVEL=ERROR|PGM=BCPAGTO|SQLCODE=-911

Depois, ferramentas de integração podem transformar esse conteúdo em formatos modernos.


Logging no mundo mainframe

No ecossistema IBM Z, os logs estão espalhados por vários lugares:

  • SYSOUT do JES;

  • spool;

  • mensagens do programa COBOL;

  • registros SMF;

  • CICS transient data queues;

  • CICS logs;

  • mensagens de Db2;

  • logs do MQ;

  • SYSLOG;

  • arquivos sequenciais;

  • datasets de auditoria;

  • mensagens RACF;

  • registros de middleware;

  • logs do z/OS Connect;

  • relatórios de ferramentas de monitoramento.

Para um iniciante, isso pode parecer fragmentado.

Mas o mainframe trabalha assim porque cada subsistema tem responsabilidades específicas.

O desafio moderno é correlacionar essas fontes.



Capítulo 2 — Metrics: os números que denunciam o comportamento

Se logs contam histórias, métricas contam números.

Uma métrica é uma medida quantitativa coletada ao longo do tempo.

Exemplos:

CPU = 78%
MEMORIA = 64%
TPS = 1.250
LATENCIA-MEDIA = 220MS
ERROS-POR-MINUTO = 35
FILA-MQ = 4.820

Métricas respondem perguntas como:

  • O sistema está mais lento que ontem?

  • A quantidade de erros está crescendo?

  • A CPU está próxima do limite?

  • A fila está acumulando mensagens?

  • O número de transações aumentou?

  • Qual é o tempo médio de resposta?

  • O comportamento atual é normal?

A grande vantagem das métricas é a capacidade de agregação.

Você não precisa guardar todos os detalhes de cada requisição para saber que a média de latência aumentou de 200 milissegundos para 3 segundos.


Média pode enganar

Vamos investigar dois cenários.

Cenário A

Cinco requisições:

100ms
110ms
120ms
130ms
140ms

Média:

120ms

Tudo parece normal.

Cenário B

Cinco requisições:

50ms
50ms
50ms
50ms
4000ms

Média:

840ms

A média revela um problema, mas não explica que apenas uma requisição foi extremamente lenta.

Agora imagine mil requisições.

A média pode esconder comportamentos importantes.

Por isso usamos percentis.


Percentis: P50, P95 e P99

O percentil indica o valor abaixo do qual determinada porcentagem das observações se encontra.

P50

Metade das requisições foi mais rápida que esse valor.

Também é conhecido como mediana.

P95

95% das requisições foram concluídas abaixo desse tempo.

Os 5% restantes foram mais lentos.

P99

99% das requisições ficaram abaixo desse valor.

O 1% restante representa os casos extremos.

Exemplo:

P50 = 180ms
P95 = 950ms
P99 = 4200ms

A média poderia ser 300 milissegundos, dando a impressão de que tudo está saudável.

Mas o P99 mostra que alguns usuários estão esperando mais de quatro segundos.

Para o negócio, esse detalhe pode ser crítico.


Métricas importantes para COBOL e mainframe

Um programador COBOL deveria começar a conhecer:

  • quantidade de registros processados;

  • tempo de execução do JOB;

  • quantidade de commits;

  • quantidade de rollbacks;

  • leituras de arquivos;

  • gravações;

  • registros rejeitados;

  • SQLCODEs diferentes de zero;

  • tempo gasto em Db2;

  • tempo gasto em VSAM;

  • número de transações CICS;

  • tempo médio de resposta;

  • uso de CPU;

  • consumo de zIIP;

  • filas MQ;

  • abends;

  • quantidade de retries;

  • taxa de sucesso;

  • taxa de erro.

Em um programa batch, métricas podem ser exibidas no final:

REGISTROS-LIDOS......: 001000000
REGISTROS-VALIDOS....: 000998500
REGISTROS-REJEITADOS.: 000001500
COMMITS..............: 000001000
TEMPO-TOTAL..........: 00:08:32

Isso é observabilidade.

Talvez não esteja em um dashboard sofisticado, mas o princípio é o mesmo.



Capítulo 3 — Tracing: seguindo as pegadas da requisição

Tracing é o acompanhamento completo de uma solicitação através de vários componentes.

Imagine uma compra realizada por aplicativo:

Usuário
↓
Aplicativo Mobile
↓
API Gateway
↓
Serviço de Pedido
↓
Serviço de Pagamento
↓
z/OS Connect
↓
CICS
↓
Programa COBOL
↓
Db2
↓
MQ
↓
Resposta

O usuário reclama:

— Minha compra levou oito segundos.

Onde o tempo foi consumido?

Sem tracing, cada equipe olha apenas para sua parte.

A equipe do aplicativo diz:

— O mobile enviou a requisição corretamente.

A equipe da API diz:

— Recebemos e encaminhamos.

A equipe do CICS diz:

— A transação terminou.

A equipe do Db2 diz:

— A consulta executou.

Todos parecem inocentes.

Mas o usuário esperou oito segundos.

O tracing conecta as etapas.


Trace e Span

Um trace representa toda a jornada de uma requisição.

Um span representa uma etapa dessa jornada.

Exemplo:

TRACE ABC123
├── SPAN 01: Mobile App............. 50ms
├── SPAN 02: API Gateway............ 40ms
├── SPAN 03: Serviço Pagamento...... 90ms
├── SPAN 04: z/OS Connect........... 45ms
├── SPAN 05: CICS................... 80ms
├── SPAN 06: Programa COBOL......... 70ms
├── SPAN 07: Db2.................. 7200ms
└── SPAN 08: Resposta............... 60ms

Pronto.

O culpado apareceu.

O Db2 consumiu 7,2 segundos.

Mas o caso ainda não terminou.

Por que o Db2 demorou?

Pode ter sido:

  • lock;

  • deadlock;

  • índice ausente;

  • estatísticas desatualizadas;

  • plano de acesso ruim;

  • tabela muito grande;

  • contenção;

  • excesso de concorrência;

  • I/O;

  • consulta mal construída.

O trace localiza a região do problema.

Os logs fornecem detalhes.

As métricas mostram se é um caso isolado ou uma tendência.

É por isso que os três pilares precisam trabalhar juntos.


Capítulo 4 — A grande correlação

O segredo mais importante da observabilidade moderna é a correlação.

Sem correlação, você possui milhares de logs, métricas e traces desconectados.

Com correlação, cada evidência aponta para o mesmo caso.

Para isso usamos identificadores como:

  • Trace ID;

  • Span ID;

  • Request ID;

  • Correlation ID;

  • Transaction ID;

  • Session ID.

Exemplo:

TRACE-ID=ABC123

Esse mesmo valor aparece:

No API Gateway
No serviço Java
No z/OS Connect
No CICS
No programa COBOL
No log do Db2
Na resposta ao cliente

Agora o investigador pode pesquisar ABC123 e reconstruir toda a operação.


Como levar um Correlation ID até o COBOL

Um possível fluxo seria:

Aplicativo cria Request ID
↓
API Gateway recebe o ID
↓
Cabeçalho HTTP transporta o valor
↓
z/OS Connect encaminha
↓
CICS recebe
↓
COMMAREA ou Channel/Container armazena
↓
Programa COBOL lê
↓
Programa grava o ID nos logs

Exemplo conceitual de campo COBOL:

01  WS-CORRELATION-ID     PIC X(36).

Durante o processamento:

DISPLAY 'TRACE-ID=' WS-CORRELATION-ID
        ' PROGRAMA=BCPAGTO'
        ' ETAPA=VALIDACAO'.

Assim, o programa COBOL deixa de ser uma caixa isolada dentro da arquitetura.

Ele passa a participar da observabilidade ponta a ponta.


Capítulo 5 — OpenTelemetry: o tradutor universal

Na imagem aparece o OpenTelemetry, frequentemente abreviado como OTel.

O OpenTelemetry é um conjunto de padrões, bibliotecas, APIs, SDKs e componentes para coletar telemetria.

Telemetria é o conjunto de sinais produzidos pelo sistema:

  • métricas;

  • traces;

  • logs.

Uma das grandes vantagens do OpenTelemetry é evitar dependência excessiva de um único fornecedor.

A aplicação gera dados em um padrão conhecido.

Depois, esses dados podem ser enviados para diferentes plataformas.



Auto instrumentation

A imagem mostra:

OTel auto instrumentation
OTel API
OTel SDK

Auto instrumentation

Instrumentação automática.

A ferramenta observa bibliotecas, frameworks e chamadas comuns sem exigir muitas alterações no código.

É útil em Java, .NET, Python, Node.js e outras plataformas.

OTel API

A API define como a aplicação cria spans, métricas e eventos.

OTel SDK

O SDK implementa a coleta, processamento e exportação dos dados.

No mundo COBOL, a instrumentação pode depender mais da arquitetura, do middleware e das ferramentas disponíveis.

Mesmo assim, a aplicação COBOL pode participar fornecendo:

  • IDs de correlação;

  • timestamps;

  • códigos de retorno;

  • métricas do processamento;

  • eventos relevantes;

  • contexto de negócio.



OpenTelemetry Collector

O Collector funciona como uma central de triagem.

Imagine a Scotland Yard da telemetria.

Ele recebe sinais de vários serviços, processa, filtra e encaminha.

Fluxo:

Aplicação
↓
OpenTelemetry Collector
↓
Grafana / Jaeger / Elastic / Backend APM

O Collector pode:

  • receber dados;

  • remover informações sensíveis;

  • adicionar metadados;

  • agrupar registros;

  • aplicar filtros;

  • controlar volume;

  • encaminhar para vários destinos;

  • reduzir dependência de agentes proprietários.



Capítulo 6 — Prometheus, Grafana, Elasticsearch, Kibana e Jaeger

A imagem apresenta várias ferramentas.

Vamos colocar cada suspeito na sala de interrogatório.


Prometheus

Prometheus é amplamente utilizado para coletar e armazenar métricas em séries temporais.

Uma série temporal é um conjunto de valores registrados ao longo do tempo.

Exemplo:

10:00 CPU=45%
10:01 CPU=48%
10:02 CPU=60%
10:03 CPU=82%
10:04 CPU=94%

O valor isolado de 94% é importante.

Mas a evolução também é importante.

Se a CPU subiu continuamente durante quatro minutos, existe uma tendência.

Prometheus trabalha muito bem com esse tipo de dado.


Grafana

Grafana é uma plataforma de visualização.

Ele transforma números em dashboards.

Um dashboard pode exibir:

  • TPS;

  • erros por minuto;

  • latência;

  • uso de CPU;

  • consumo de memória;

  • volume de transações;

  • filas;

  • disponibilidade;

  • P95;

  • P99;

  • status de serviços.

Uma curiosidade importante:

Grafana não é necessariamente o local onde os dados são coletados.

Ele normalmente consulta outras fontes.

É o painel do detetive, não o local do crime.


Alertmanager

Alertmanager gerencia alertas.

Exemplo:

Se erro > 5% durante 10 minutos:
    enviar mensagem para equipe
    abrir incidente
    registrar severidade

Um bom alerta precisa evitar dois extremos:

Silêncio excessivo

O problema acontece e ninguém é avisado.

Tempestade de alertas

A equipe recebe centenas de mensagens e deixa de prestar atenção.

Esse fenômeno é chamado de alert fatigue, ou fadiga de alertas.

Um alerta útil deve ser:

  • acionável;

  • contextualizado;

  • relevante;

  • direcionado à equipe correta;

  • baseado em condição persistente;

  • vinculado a um procedimento.


Elasticsearch

Elasticsearch é usado para indexação e pesquisa de grandes volumes de dados, especialmente logs.

Com ele, podemos pesquisar:

SQLCODE=-911

ou:

PROGRAM=BCPAGTO AND LEVEL=ERROR

ou:

TRACE-ID=ABC123

Ele permite encontrar rapidamente eventos em enormes conjuntos de registros.


Kibana

Kibana é muito usado para visualizar e explorar dados armazenados no Elasticsearch.

Com ele, podemos criar:

  • dashboards;

  • filtros;

  • gráficos;

  • pesquisas;

  • análises;

  • painéis de erros.

A dupla Elasticsearch e Kibana tornou-se famosa em arquiteturas de logging centralizado.


Jaeger

Jaeger é uma plataforma voltada para tracing distribuído.

Ela mostra visualmente o caminho de uma requisição.

Em vez de apenas saber que o sistema demorou quatro segundos, você enxerga onde cada milissegundo foi consumido.

Para um ambiente híbrido envolvendo Cloud e IBM Z, essa visão é extremamente valiosa.


Capítulo 7 — Observabilidade não é apenas monitoramento

Monitoramento e observabilidade são relacionados, mas não são idênticos.

Monitoramento

Pergunta:

O sistema está funcionando?

Exemplos:

  • servidor disponível;

  • CPU abaixo de 80%;

  • serviço respondendo;

  • disco com espaço;

  • CICS ativo.

Observabilidade

Pergunta:

Por que o sistema está se comportando dessa maneira?

A observabilidade permite investigar situações desconhecidas.

O monitoramento costuma trabalhar com problemas previamente imaginados.

Exemplo:

Se CPU > 90%, alertar.

Mas e se a CPU estiver em 40% e o sistema estiver lento?

O alerta não dispara.

A observabilidade permite explorar os dados e descobrir que:

  • uma API externa está demorando;

  • uma fila está crescendo;

  • um lock está bloqueando transações;

  • um plano SQL mudou;

  • o logging síncrono está atrasando o processamento.

A observabilidade não elimina o monitoramento.

Ela o amplia.


Capítulo 8 — Caso prático: o PIX fantasma

Vamos investigar um cenário completo.

Um cliente tenta realizar um PIX.

Arquitetura:

Aplicativo
↓
API Gateway
↓
Serviço de Autenticação
↓
Serviço Antifraude
↓
z/OS Connect
↓
CICS
↓
COBOL
↓
Db2
↓
MQ
↓
Resposta

O cliente recebe timeout.

Primeira pista: métrica

O dashboard mostra:

Latência P95:
Antes: 800ms
Agora: 6.500ms

A taxa de erro aumentou para 8%.

A métrica confirma que não é um caso isolado.

Segunda pista: trace

O trace mostra:

API Gateway.............. 30ms
Autenticação............. 70ms
Antifraude............... 90ms
z/OS Connect............. 40ms
CICS..................... 60ms
COBOL.................... 50ms
MQ..................... 5800ms

O gargalo está no MQ.

Terceira pista: logs

Os logs mostram:

MQRC=2053
REASON=QUEUE-FULL
QUEUE=PIX.OUTBOUND

Agora temos a causa provável.

A fila atingiu sua capacidade.

Quarta pista: investigação operacional

Por que a fila encheu?

Outro log mostra que o consumidor externo estava indisponível.

Conclusão:

Consumidor externo indisponível
↓
Mensagens acumuladas
↓
Fila MQ cheia
↓
Programa COBOL aguardando ou falhando
↓
Transações mais lentas
↓
Timeout no aplicativo

Sem observabilidade, cada equipe poderia culpar a outra.

Com métricas, traces e logs correlacionados, a investigação torna-se objetiva.



Capítulo 9 — Passo a passo para começar

Um programador COBOL iniciante não precisa implementar uma plataforma inteira no primeiro dia.

O caminho deve ser gradual.


Passo 1 — Identifique operações importantes

Liste as etapas críticas do programa.

Exemplo:

INICIO
VALIDACAO
LEITURA-ARQUIVO
CONSULTA-DB2
ATUALIZACAO
COMMIT
FIM

Esses pontos serão usados como marcos.


Passo 2 — Padronize os logs

Evite mensagens aleatórias.

Use um formato consistente:

DATA-HORA
PROGRAMA
ETAPA
NIVEL
CORRELATION-ID
CODIGO-RETORNO
MENSAGEM

Exemplo:

20260803-021754|INFO|BCPAGTO|INICIO|TRACE=ABC123|RC=0000

Passo 3 — Registre apenas o necessário

Não transforme o programa em uma metralhadora de DISPLAY.

Logging excessivo pode:

  • consumir CPU;

  • aumentar I/O;

  • encher spool;

  • dificultar pesquisa;

  • expor dados sensíveis;

  • aumentar custos;

  • esconder mensagens importantes.

Registre eventos relevantes.


Passo 4 — Crie métricas de negócio

Não monitore apenas infraestrutura.

Inclua indicadores do processo.

Exemplos:

  • pagamentos processados;

  • pagamentos recusados;

  • clientes validados;

  • registros rejeitados;

  • transações concluídas;

  • fraudes detectadas.

Uma CPU saudável não significa que o negócio está funcionando.

O sistema pode estar disponível e, ainda assim, rejeitar todos os pagamentos.


Passo 5 — Meça duração

Registre horário de início e fim.

Exemplo conceitual:

INICIO=02:17:54.100
FIM=02:17:54.850
DURACAO=750MS

Faça isso para etapas críticas.

Assim você poderá descobrir onde o tempo está sendo consumido.


Passo 6 — Adote um identificador de correlação

Cada requisição deve possuir um identificador único.

Exemplo:

TRACE-ID=PX202608030000123456

Propague esse valor entre as camadas.


Passo 7 — Defina alertas úteis

Exemplo ruim:

Alertar quando ocorrer um erro.

Isso pode gerar milhares de alertas.

Exemplo melhor:

Alertar quando a taxa de erro ultrapassar 5%
durante 10 minutos.

Outro exemplo:

Alertar quando o P95 superar 2 segundos
por 5 minutos consecutivos.

Passo 8 — Crie um runbook

Um runbook é um roteiro operacional.

Exemplo:

ALERTA: FILA MQ ACIMA DE 80%

1. Verificar profundidade da fila.
2. Verificar consumidor.
3. Verificar mensagens presas.
4. Confirmar conectividade.
5. Avaliar expansão temporária.
6. Acionar equipe responsável.

Um alerta sem orientação apenas transfere o problema para outra pessoa.


Passo 9 — Revise depois do incidente

Após resolver, pergunte:

  • O alerta chegou cedo?

  • Os logs eram suficientes?

  • O Trace ID estava disponível?

  • A métrica correta existia?

  • Houve excesso de ruído?

  • O runbook ajudou?

  • Poderíamos detectar antes?

Observabilidade é melhoria contínua.



Capítulo 10 — Boas práticas fundamentais

Nunca registre senhas

Nem em testes.

Nem temporariamente.

Nem “só para depurar”.

Também evite registrar:

  • CPF completo;

  • cartão;

  • CVV;

  • tokens;

  • segredos;

  • chaves;

  • dados médicos;

  • informações bancárias sensíveis.

Use mascaramento:

CPF=***.***.***-45
CARTAO=****-****-****-1234

Use níveis de log

Um modelo comum:

DEBUG

Detalhes para investigação técnica.

INFO

Eventos normais importantes.

WARN

Situação incomum, mas não fatal.

ERROR

Falha que afetou uma operação.

FATAL

Problema grave que impede continuidade.

Nem todo evento deve ser ERROR.

Caso contrário, ninguém saberá diferenciar uma falha crítica de uma condição comum.


Evite mensagens ambíguas

Ruim:

ERRO NA TABELA

Bom:

ERRO AO ATUALIZAR TABELA CLIENTE
SQLCODE=-803
CHAVE=000123456
TRACE-ID=ABC123

Inclua contexto de negócio

Um log puramente técnico pode ser insuficiente.

Exemplo técnico:

SQLCODE=-803

Exemplo enriquecido:

OPERACAO=CADASTRO-CLIENTE
RESULTADO=DUPLICIDADE
SQLCODE=-803
CLIENTE=000123456

Agora a equipe de negócio também entende o impacto.


Curiosidades do arquivo secreto

Curiosidade 1 — O mainframe já praticava observabilidade antes do termo ficar famoso

Muito antes de OpenTelemetry e microsserviços, ambientes mainframe já utilizavam:

  • SMF;

  • RMF;

  • SYSLOG;

  • dumps;

  • traces;

  • estatísticas de subsistemas;

  • relatórios de performance;

  • mensagens JES;

  • monitoramento CICS;

  • auditoria RACF.

O nome moderno mudou, mas a necessidade sempre existiu.


Curiosidade 2 — Um log pode causar o problema que tenta investigar

Logging excessivo pode aumentar:

  • I/O;

  • CPU;

  • armazenamento;

  • latência;

  • contenção.

Em alguns incidentes, ativar logging detalhado em produção piora o desempenho.

É como acender tantas luzes na cena do crime que o gerador elétrico entra em colapso.


Curiosidade 3 — Tracing completo pode ser caro

Registrar cada requisição em sistemas de altíssimo volume produz enormes quantidades de dados.

Por isso usamos sampling.

Sampling significa coletar apenas uma amostra.

Exemplo:

Coletar 1% dos traces normais.
Coletar 100% dos traces com erro.
Coletar 100% dos traces acima de 2 segundos.

Essa estratégia reduz custo sem perder sinais importantes.


Curiosidade 4 — O usuário percebe o P99

A equipe técnica pode comemorar uma média de 200 milissegundos.

Mas o cliente que recebeu uma resposta em oito segundos não se importa com a média.

Para ele, o sistema foi lento.

É por isso que percentis são tão importantes.


Easter eggs para o Padawan

Primeiro easter egg:

Quando um sistema apresenta erros intermitentes, lembre-se do cão que não latiu.

Em uma famosa investigação de Sherlock Holmes, a ausência de uma reação foi a pista principal.

Na observabilidade também precisamos analisar o que não aconteceu.

Exemplo:

  • o programa iniciou, mas não registrou o fim;

  • a mensagem entrou na fila, mas não saiu;

  • houve chamada ao Db2, mas não houve commit;

  • o serviço recebeu a requisição, mas não retornou resposta.

A ausência de um evento esperado pode ser mais importante do que um erro explícito.

Segundo easter egg:

Se encontrar a identificação 221B em algum exemplo de Trace ID, não é coincidência.

TRACE-ID=221B-BAKER-STREET

Terceiro easter egg:

Todo investigador de sistemas deveria desconfiar da frase:

“Não mudamos nada.”

Quase sempre alguma coisa mudou:

  • volume;

  • configuração;

  • dependência;

  • certificado;

  • plano SQL;

  • estatística;

  • carga;

  • rede;

  • comportamento do usuário;

  • versão externa;

  • horário de processamento.

Mesmo quando o código não mudou, o ambiente pode ter mudado.


O método Sherlock Holmes aplicado à produção

Podemos adaptar o método investigativo em sete etapas.

1. Observar

Colete evidências sem tirar conclusões prematuras.

2. Estabelecer a linha do tempo

Descubra quando o comportamento começou.

3. Correlacionar

Relacione logs, métricas, traces e mudanças recentes.

4. Formular hipóteses

Exemplo:

A lentidão pode estar sendo causada pela fila MQ.

5. Testar

Verifique profundidade da fila, consumidor e tempo de espera.

6. Eliminar hipóteses impossíveis

Se o Db2 respondeu em 20 milissegundos, provavelmente não é o gargalo principal.

7. Confirmar causa raiz

Não pare no primeiro sintoma.

Fila cheia é sintoma.

Consumidor indisponível pode ser a causa.

Certificado expirado no consumidor pode ser a causa raiz.


Conclusão — O sistema sempre deixa pegadas

Quando entramos no CPD, tínhamos apenas uma reclamação:

“O sistema está lento.”

Depois da investigação, descobrimos que essa frase escondia uma cadeia de evidências.

As métricas mostraram que a latência aumentava.

Os traces revelaram em qual componente o tempo era consumido.

Os logs explicaram o erro.

O identificador de correlação conectou todas as etapas.

O alerta chamou a equipe.

O runbook orientou a resposta.

E a revisão posterior transformou o incidente em aprendizado.

Esse é o verdadeiro valor da observabilidade.

Logging, tracing e metrics não são três tecnologias isoladas.

São três testemunhas.

Cada uma viu uma parte do caso.

O log afirma:

“Eu sei o que aconteceu.”

A métrica declara:

“Eu sei com que frequência e intensidade aconteceu.”

O trace completa:

“Eu sei por onde a requisição passou.”

Quando as três testemunhas são interrogadas juntas, o sistema deixa de ser uma caixa-preta.

Para o programador COBOL iniciante, a grande lição é simples: não escreva programas que apenas processem dados. Escreva programas capazes de explicar o próprio comportamento.

Registre o início.

Registre o fim.

Registre a etapa.

Registre o código de retorno.

Meça o tempo.

Conte os registros.

Propague um identificador.

Proteja dados sensíveis.

Produza evidências úteis.

Porque, quando o incidente acontecer às 02h17 da manhã — e algum dia ele acontecerá — você não desejará encontrar apenas um DISPLAY 'DEU ERRO' abandonado no spool.

Você desejará encontrar uma trilha completa de pegadas digitais.

Sherlock Holmes fechou o relatório, tomou o último gole de café e olhou para o jovem programador COBOL.

— Agora entende?

— Acho que sim. Observabilidade é descobrir o que o sistema está tentando nos contar.

O investigador sorriu.

— Não exatamente.

— Então o que é?

— É garantir que, quando o sistema falar, ele tenha algo útil a dizer.

No monitor principal, a transação voltou ao tempo normal.

O alerta vermelho desapareceu.

E, em algum lugar entre o CICS, o Db2 e uma fila MQ, um pequeno Trace ID chamado 221B-BAKER-STREET continuou seguindo silenciosamente as pegadas da próxima requisição.

sábado, 24 de outubro de 2015

Algorithm Appreciation: Doctor Who, COBOL e o Dia em que o Algoritmo Ganhou a Reunião Antes Mesmo de Alguém Perguntar se Ele Estava Certo

 

Bellacosa Mainframe e o algorithm appreciation

☕ Um Café no Bellacosa Mainframe

Algorithm Appreciation: Doctor Who, COBOL e o Dia em que o Algoritmo Ganhou a Reunião Antes Mesmo de Alguém Perguntar se Ele Estava Certo

Uma viagem pela TARDIS dos projetos, decisões e incidentes para entender por que números, modelos, dashboards, scores, recomendações automáticas e aquela aura matemática de “objetividade” podem receber crédito extra simplesmente porque vieram de um algoritmo — mesmo quando o velho sysprog no canto da sala está vendo alguma coisa que o modelo não consegue enxergar

Terça-feira.

10:03.

Sala de arquitetura.

Na tela:

AI CAPACITY RECOMMENDATION

RECOMMENDED CPU REDUCTION:
17.4%

CONFIDENCE SCORE:
94.6%

PROJECTED ANNUAL SAVINGS:
R$ 3.820.000

Silêncio.

Mas não aquele silêncio:

de preocupação.

É aquele silêncio corporativo especial:

que aparece quando um número vem:

com uma casa decimal.

O diretor ajeita os óculos.

— Noventa e quatro vírgula seis por cento?

Analista:

— Sim.

— Excelente.

Nosso jovem programador COBOL olha para o slide.

Depois:

para o sysprog veterano.

O veterano não parece:

excelente.

Está fazendo aquela expressão típica de quem:

viu alguma coisa estranha

mas sabe que haverá PowerPoint antes de alguém querer ouvir.

Nosso jovem pergunta:

— O que você acha?

O veterano:

— Não reduziria 17%.

Diretor:

— Por quê?

— Porque estamos entrando no fechamento trimestral.

— O modelo sabe disso?

Silêncio.

Analista:

— Ele usa histórico de utilização.

— De quanto tempo?

— Doze meses.

— E o novo processamento antifraude?

— Entrou há três semanas.

— Está no modelo?

Outro silêncio.

Diretor aponta para:

94,6%.

— Mas a confiança está alta.

O veterano olha para:

o número.

Depois:

para o jovem.

— Um número pode estar muito confiante sobre um mundo incompleto.

Pronto.

A máquina de café:

já sabe o que vai acontecer.

VWORP.

VWORP.

VWORP.

A TARDIS aparece ao lado da tela de videoconferência.

A porta abre.

O Doctor sai.

Olha:

para o slide.

94.6%

Ele sorri.

— Ah.

— Ah o quê?

— Colocaram decimal.

Diretor:

— É um modelo estatístico sofisticado.

Doctor:

— Tenho certeza.

— Então você concorda?

Doctor:

— Não faço ideia.

— Mas está com 94,6%.

— Sim.

— Isso não significa alguma coisa?

— Significa.

— O quê?

— Excelente pergunta.

Ele pega um marcador.

Escreve:



ALGORITHM APPRECIATION

Ou:

Apreciação Algorítmica.

E logo abaixo:

“Quando uma recomendação ganha credibilidade adicional porque veio de um algoritmo, modelo ou sistema computacional.”

Nosso jovem:

— Então é o contrário de Algorithm Aversion?

Doctor:

— Às vezes.

— E de Automation Bias?

— Parentes. Não gêmeos.

Ah.

Agora temos:

café.


🧠 Primeiro: o que é Algorithm Appreciation?

Algorithm Appreciation descreve uma tendência interessante:

em certas situações,

pessoas podem:

preferir;

valorizar;

ou atribuir maior credibilidade

a recomendações produzidas por:

algoritmos;

modelos estatísticos;

sistemas automatizados;

IA;

mecanismos quantitativos,

quando comparadas:

a julgamentos humanos.

Não porque:

tenham necessariamente analisado:

a qualidade do algoritmo.

Mas porque:

o fato de ser algorítmico

pode carregar uma aura de:

objetividade;

precisão;

racionalidade;

matemática;

imparcialidade;

escala.


☕ Definição Bellacosa

Algorithm Appreciation é quando o Excel ganha a discussão porque trouxe três casas decimais e o sysprog trouxe apenas trinta anos de produção.

Cuidado.

Isso não significa:

que o sysprog está certo.

Também não significa:

que o algoritmo está errado.

Significa:

que a origem da recomendação

pode estar alterando:

o peso psicológico

que damos a ela.


💻 COBOL cognitivo

Imagine:

       IF RECOMMENDATION-SOURCE = 'HUMAN'
           MOVE 70 TO PERCEIVED-CREDIBILITY
       END-IF.

       IF RECOMMENDATION-SOURCE = 'ALGORITHM'
           MOVE 92 TO PERCEIVED-CREDIBILITY
       END-IF.

Mesmo antes de:

validar dados.

Isso é:

o problema.


🧠 O número vem vestido de jaleco

Quando alguém diz:

— Acho que devemos reduzir capacidade em 17%.

Você pergunta:

— Por quê?

Mas quando a tela diz:

OPTIMAL REDUCTION: 17.4%
CONFIDENCE: 94.6%

o cérebro pode pensar:

— Alguma matemática séria aconteceu aqui.

Talvez tenha acontecido.

Talvez:

não.


☕ Número preciso

não é:

sinônimo de:

conhecimento preciso.


🎯 Pergunta Bellacosa nº 1

“Se exatamente a mesma recomendação viesse de uma pessoa sem mostrar o algoritmo, eu daria o mesmo peso a ela?”

Se a resposta for:

não,

investigue por quê.


🧠 Algorithm Appreciation versus Automation Bias

Esses dois conceitos:

se encostam.

Mas não são:

exatamente iguais.

Algorithm Appreciation:

“Dou mais valor à recomendação porque veio de algoritmo.”

Automation Bias:

“Passo a confiar demais e reduzo minha própria verificação.”

Um pode:

alimentar:

o outro.


☕ Algorithm Appreciation coloca:

o algoritmo no pedestal.

Automation Bias:

tira:

a escada.


🧠 E Algorithm Aversion?

No capítulo anterior:

algoritmo erra.

Todo mundo:

desliga.

Agora temos:

o outro movimento.

Algoritmo aparece:

novo,

brilhante,

quantitativo,

e recebe:

credibilidade antes de:

provar valor.


🧠 A gangorra

ALGORITHM APPRECIATION
        ↓
"MODELO SABE"
        ↓
AUTOMATION BIAS
        ↓
ERRO VISÍVEL
        ↓
ALGORITHM AVERSION
        ↓
"IA NÃO PRESTA"

O objetivo:

não é ficar:

pulando de um lado para outro.

É:

confiança calibrada.


🎯 Pergunta Bellacosa nº 2

“Estamos admirando o algoritmo antes de medir o algoritmo?”


👻 Easter Egg nº 1 — Dalek Data Science

Dalek entra na reunião.

Slide:

PLANET DESTRUCTION OPTIMIZATION

MODEL CONFIDENCE:
99.72%

Doctor:

— Qual é a hipótese?

Dalek:

— DESTROY EARTH.

— Por quê?

— MODEL OUTPUT.

— Quais features?

— CLASSIFIED.

— Training data?

— CLASSIFIED.

— False positive rate?

— CLASSIFIED.

— E o 99,72?

Dalek:

— HIGH CONFIDENCE.

Doctor:

— Então temos uma caixa preta com decimal.

Dalek:

— CORRECT.

Doctor:

— Impressionante como isso sobrevive a procurement.


🧠 Algorithm Appreciation e Precision Bias

Existe um fenômeno cognitivo relacionado:

números mais precisos

podem parecer:

mais confiáveis.

Compare:

aproximadamente 95%

com:

94,67%

O segundo:

soa:

calculado.

Mesmo se:

a qualidade da estimativa

não justificar:

centésimos.


☕ Em PowerPoint executivo,

uma casa decimal:

é gravata.

Duas:

é terno.

Três:

é PhD.


🎯 Pergunta Bellacosa nº 3

“A quantidade de casas decimais é suportada pela qualidade dos dados?”


🧠 Falsa precisão

Imagine:

modelo estima:

economia anual

como:

R$ 3.823.417,28

Você pergunta:

— Qual incerteza?

Resposta:

— Pode variar entre 2,5 e 5 milhões.

Então:

os centavos são:

comédia.


☕ Falsa precisão

é quando:

matemática visualmente elegante

esconde:

incerteza material.


🧠 Algorithm Appreciation e Framing Effect

Uma recomendação pode:

parecer muito mais científica

dependendo de:

como é apresentada.

Compare:

“O time de operações acredita que podemos reduzir 15%.”

com:

“O modelo de otimização identificou redução ótima de 15%.”

Mesma porcentagem.

Segunda:

tem:

aura.


🎯 Pergunta Bellacosa nº 4

“A linguagem técnica acrescenta evidência ou apenas autoridade estética?”


🧠 Authority Bias tecnológico

Antes:

“o diretor disse.”

Depois:

“o algoritmo disse.”

Curiosamente:

o comportamento pode:

ser parecido.


☕ Mudamos:

a fonte da autoridade.

Não necessariamente:

o hábito de obedecer.


🧠 Algorithm Appreciation e Authority Bias

Algoritmos podem funcionar como:

autoridades impersonais.

Isso é:

particularmente poderoso

porque parecem:

não ter:

ego;

interesse;

cansaço;

política;

preferência.

Mas:

quem escolheu:

dados;

objetivo;

features;

threshold;

loss function;

training set;

arquitetura;

métrica?

Humanos.


🎯 Pergunta Bellacosa nº 5

“Estamos confundindo ausência de rosto com ausência de julgamento humano?”


🧠 Todo algoritmo carrega escolhas

Mesmo:

um algoritmo simples.

Exemplo:

score = 0.5 * cost
      + 0.3 * latency
      + 0.2 * risk

Quem decidiu:

0,5?

0,3?

0,2?

Algoritmo?

Não.


☕ O computador executa:

a política.

Mas:

a política nasceu:

em algum lugar.


🧠 Algorithm Appreciation e McNamara Fallacy

Esse casamento:

é perigosíssimo.

O algoritmo prefere:

o que pode:

medir.

A organização admira:

o resultado algorítmico.

Logo:

aquilo que não foi medido

perde:

peso.


🧠 Nosso sysprog veterano sabe:

fechamento trimestral.

Novo antifraude.

Mudança recente.

Dependência de lote.

O modelo sabe?

Talvez:

não.

Mas o modelo tem:

94,6%.


☕ Conhecimento tácito

não costuma:

vir:

com barra de progresso.


🎯 Pergunta Bellacosa nº 6

“Que informação importante não entrou no modelo?”


🧠 Metric Fixation

Se o modelo otimiza:

CPU,

pode recomendar:

reduzir CPU.

Ótimo.

Mas:

e:

headroom?

Recovery?

Flash workload?

Failover capacity?

Batch peak?


☕ Otimizar uma métrica

pode:

degradar:

o sistema.


🎯 Pergunta Bellacosa nº 7

“Qual é a diferença entre o que o algoritmo otimiza e o que o negócio realmente deseja?”


🧠 Goal Substitution

Objetivo:

operar com:

resiliência e custo adequado.

Proxy:

utilização média de CPU.

Algoritmo otimiza:

proxy.

Pronto.

Objetivo:

foi substituído.


🎯 Pergunta Bellacosa nº 8

“O modelo está resolvendo o problema ou resolvendo a função objetivo que escrevemos?”

Essa é:

profunda.


🧠 Goodhart’s Law

Quando métrica:

vira objetivo,

pode:

deixar de ser:

boa métrica.

Se algoritmo:

é premiado por:

reduzir custo,

ele pode:

reduzir:

margem de segurança.


☕ O algoritmo não:

é ganancioso.

Ele apenas:

leva sua função objetivo

mais a sério

do que você imaginava.


🧠 Campbell’s Law

Se score algorítmico:

decide:

bonus;

performance;

aprovação,

as pessoas:

se adaptam.

Então:

modelo passa a medir:

um mundo modificado

pela própria existência dele.


🎯 Pergunta Bellacosa nº 9

“O algoritmo ainda está medindo comportamento natural ou comportamento otimizado para agradá-lo?”


🧠 Algorithm Appreciation e Goodhart

Agora o score ganha:

aura científica.

“Performance Score: 91.”

Parece:

real.

Mas:

talvez:

pessoas estejam:

jogando com:

as métricas.


☕ Score com IA

continua:

podendo ser:

um KPI mal desenhado.

Só fica:

mais bonito.


🧠 Algorithm Appreciation e Default Effect

Interface:

AI RECOMMENDATION
✓ Recommended

Usuário:

segue.

Por quê?

Porque:

já está:

selecionado;

destacado;

endossado.

Algorithm Appreciation:

“algoritmo é inteligente.”

Default Effect:

“já está marcado.”

Automation Bias:

“não preciso verificar.”

Trinca:

perfeita.


🎯 Pergunta Bellacosa nº 10

“Quanto da confiança vem da qualidade da recomendação e quanto vem do design da interface?”


🧠 Algorithm Appreciation e números

Um número:

é poderoso.

Um número:

com gráfico

é mais.

Um número:

com IA

é mais ainda.


☕ A mesma opinião pode passar por:

"acho que é Db2"

e ninguém:

se impressiona.

Mas:

ROOT CAUSE PROBABILITY
DB2: 86.4%

Pronto.

Agora:

temos:

um crime organizado contra:

o ceticismo.


🎯 Pergunta Bellacosa nº 11

“De onde vieram os 86,4%?”


🧠 Confidence Score novamente

Muita gente interpreta:

score de confiança

como:

probabilidade de estar correto.

Pode não ser.


🧠 Score pode significar:

similaridade;

distância;

ranking;

calibração;

heurística;

combinação.

Sem semântica:

é:

decoração quantitativa.


☕ Um número que ninguém sabe explicar

é:

um adjetivo fantasiado de matemática.


🎯 Pergunta Bellacosa nº 12

“O score tem interpretação operacional clara?”


🧠 Algorithm Appreciation e AI Copilots

Agora chegamos:

ao mundo contemporâneo.

Copiloto diz:

— Provável causa: Db2.

Humano:

respeita.

Por quê?

Talvez:

porque sabe que:

modelo analisou:

milhares de sinais.

Talvez.

Ou:

porque:

a interface parece:

muito inteligente.


🧠 Language fluency

LLMs produzem:

texto:

coerente;

seguro;

estruturado.

Essa fluência:

pode ser confundida com:

competência.


☕ Falar bonito

é:

feature de linguagem.

Não:

certificação técnica.


🎯 Pergunta Bellacosa nº 13

“A resposta parece correta porque está bem escrita?”


🧠 Narrative Bias + Algorithm Appreciation

IA diz:

“Observamos aumento de lock contention após deployment X, sugerindo relação causal...”

Ótimo.

Parece:

postmortem.

Talvez:

a causalidade:

não exista.


☕ Uma história automática:

continua:

sendo uma história

até:

vir evidência.


🧠 Algorithm Appreciation e Explainability Theater

O sistema:

fornece explicação.

Usuário:

confia mais.

Mas:

a explicação pode:

não refletir:

o mecanismo real do modelo.

Ou:

pode ser:

uma justificativa plausível.


🎯 Pergunta Bellacosa nº 14

“A explicação é evidência do processo real ou apenas uma narrativa de apoio?”


🧠 Provenance

Melhor que:

“porque.”

Mostre:

fontes.

Timestamp.

Dados.


☕ Proveniência vence:

eloquência.


🧠 Algorithm Appreciation e correlated evidence

Lembra?

Dashboard.

Algoritmo.

Copiloto.

Todos:

mesma fonte.

Mas:

parecem:

três sistemas.

Isso aumenta:

apreciação.


🎯 Pergunta Bellacosa nº 15

“Quantas fontes independentes existem de verdade?”


🧠 Se todos compartilham:

mesmo data lake,

mesmo sensor,

mesma taxonomia,

mesmo histórico,

há:

common mode.


☕ Três logotipos

não:

produzem:

três epistemologias.


🧠 Algorithm Appreciation e AI ensemble

Mesmo dois modelos:

podem:

compartilhar:

training data;

retrieval;

assumptions.

Concordância:

não é:

prova.


🎯 Pergunta Bellacosa nº 16

“A concordância adiciona informação ou repete a mesma informação?”


🧠 Algorithm Appreciation e social proof

Se:

ChatGPT,

copiloto,

dashboard

e:

vendor advisor

concordam,

parece:

consenso.

Mas:

talvez:

um repita:

o outro.


☕ Consenso automatizado

pode:

ser:

eco.


🧠 Algorithm Appreciation e Anchoring

Primeira recomendação:

vem da IA.

Agora:

humano pensa:

a partir dela.

Mesmo:

se tentar:

ser crítico.


🎯 Pergunta Bellacosa nº 17

“Conseguiríamos produzir uma hipótese independente antes de ver a saída do algoritmo?”


🧠 Isso é uma ótima técnica

Blind first opinion.

Antes de mostrar:

AI recommendation,

peça:

avaliação humana.

Depois:

compare.

Isso reduz:

ancoragem.


☕ Às vezes:

não mostrar o robô primeiro

é:

bom design experimental.


🧠 Algorithm Appreciation e junior programmers

Aqui mora:

uma armadilha enorme.

Iniciante:

pouca experiência.

IA:

resposta fluente.

Quem parece:

mais competente?

IA.

Então:

Algorithm Appreciation pode:

ser maior.


☕ O novato pensa:

“Ela sabe.”

Talvez:

saiba.

Mas ele ainda precisa:

aprender:

como saber:

se ela sabe.


🎯 Pergunta Bellacosa nº 18

“Eu consigo validar essa resposta sem depender da mesma ferramenta que a produziu?”


🧠 Exemplo COBOL

IA diz:

MOVE WS-AMOUNT TO DB-AMOUNT

Compila?

Maybe.

Mas:

PIC?

Scale?

COMP-3?

Truncation?

Sign?


☕ A IA vê:

linha.

O programador precisa:

ver:

representação de dados.


🧠 Algorithm Appreciation e compiler authority

Curiosamente:

até compilador.

Compile successful.

Junior:

“está correto.”

Não.

Significa:

sintaxe/semântica compilável.

Business logic:

pode:

estar:

errada.


🎯 Pergunta Bellacosa nº 19

“Qual camada de correção essa ferramenta realmente valida?”


🧠 RC=0 novamente

Job:

green.

Business:

wrong.

Scheduler:

happy.


☕ Máquina pode:

dizer:

“executei perfeitamente”

um processo:

perfeitamente errado.


🧠 Algorithm Appreciation e Optimization Advisors

Db2 advisor sugere:

index.

WLM advisor sugere:

mudança.

Cloud optimizer sugere:

rightsizing.

Tudo:

útil.

Mas:

cada advisor:

vê:

um pedaço.


🎯 Pergunta Bellacosa nº 20

“A recomendação local está otimizada para o sistema global?”


🧠 Um index melhora:

SELECT.

Pode piorar:

INSERT.

CPU tuning melhora:

um workload.

Pode piorar:

outro.


☕ Advisor não:

leva bronca

do outro time.

Arquiteto:

leva.


🧠 Algorithm Appreciation e black boxes

Quanto menos entendemos:

um sistema,

mais paradoxalmente:

podemos:

ficar impressionados

com:

a saída.


🧠 Techno-mystique

“Machine learning found pattern.”

Okay.

Qual?


☕ “A IA encontrou”

é:

nova versão de:

“o sistema calculou.”

Ambas:

pedem:

segunda pergunta.


🎯 Pergunta Bellacosa nº 21

“O mistério do mecanismo está aumentando nossa confiança em vez de diminuí-la?”


🧠 Essa é deliciosa.


🧠 Algorithm Appreciation e human disagreement

Imagine:

modelo diz A.

Expert diz B.

Gestão prefere:

A.

Por quê?

“Data-driven.”

Mas:

expert pode ter:

dados não formalizados.


☕ “Data-driven”

não deveria:

significar:

“human-blind.”


🎯 Pergunta Bellacosa nº 22

“Qual evidência o especialista está usando que não está no modelo?”


🧠 Tacit Knowledge

Veterano:

reconhece:

padrão.

Não consegue:

explicar imediatamente.

Isso não:

prova que está certo.

Mas:

também não:

é inútil.


🧠 Expertise can be:

compressed pattern recognition.

Need:

extract.

Test.


☕ “Tenho um mau pressentimento”

não é:

RCA.

Mas:

de um veterano,

pode ser:

boa razão para:

não apertar Enter ainda.


🎯 Pergunta Bellacosa nº 23

“Conseguimos transformar a intuição do especialista em hipótese testável?”


🧠 Isso evita:

dois erros:

idolatrar veterano

ou:

idolatrar algoritmo.


🧠 Algorithm Appreciation e Scale

Um algoritmo processa:

milhões.

Isso impressiona.

Com razão.

Humano não:

faz.

Mas:

capacidade de processar volume

não garante:

qualidade de objetivo.


☕ Um algoritmo pode:

errar:

muito rapidamente

em:

escala mundial.

Performance é:

outra pergunta.


🎯 Pergunta Bellacosa nº 24

“Estamos confundindo escala de processamento com qualidade de decisão?”


🧠 Speed

Mesma coisa.

Resposta em:

300 ms.

Humano:

20 minutos.

Ótimo.

Mas:

a decisão precisa:

ser:

certa?


🎯 Pergunta Bellacosa nº 25

“A velocidade importa mais que a precisão nesta tarefa?”


🧠 Dependendo do domínio:

sim.

Fraud detection real-time:

velocidade crucial.

Strategic investment:

talvez:

menos.


🧠 Algorithm Appreciation e Cost

Automação barata:

parece:

atrativa.

Mas:

downstream errors?

Need:

total cost.


☕ Barato por decisão

pode:

ser caro por:

erro.


🎯 Pergunta Bellacosa nº 26

“Estamos comparando custo de execução ou custo total do sistema de decisão?”


🧠 Algorithm Appreciation e risk scores

Um score:

Decision:

deny.

Mas:

threshold 75.

Quem escolheu:

75?

Maybe:

policy.


🧠 Score receives authority

Threshold:

even more.


🎯 Pergunta Bellacosa nº 27

“Quem escolheu o threshold que transforma score em decisão?”


🧠 This is fundamental in:

fraud,

security,

credit,

alerts,

capacity.


☕ O algoritmo produz:

um número.

A organização decide:

o que o número:

faz.


🧠 Algorithm Appreciation e thresholds

People may:

treat threshold:

as natural law.

“Above 80 = high risk.”

Why?

Maybe:

vendor default.

Default Effect again.


🎯 Pergunta Bellacosa nº 28

“Esse limite veio de evidência local ou do manual?”


🧠 Algorithm Appreciation e model names

“AI Risk Engine.”

Sounds:

serious.

What if:

“weighted scoring script”?

Could be:

same.


☕ Branding é:

Framing Effect

com:

budget de marketing.


🎯 Pergunta Bellacosa nº 29

“Nossa confiança mudaria se víssemos a fórmula em vez do nome do produto?”


🧠 Excellent.


🧠 Algorithm Appreciation e complexity bias

Complex:

can seem:

better.

Deep learning.

Neural network.

Multi-agent.

Vector.

Transformer.

Maybe:

appropriate.

Maybe:

unnecessary.


☕ Às vezes:

um IF

vence:

um transformer.

E tudo bem.


🎯 Pergunta Bellacosa nº 30

“A complexidade adiciona performance ou apenas prestígio tecnológico?”


🧠 Occam operational

Simpler:

easier audit.

But:

maybe lower accuracy.

Trade-off.


🧠 Algorithm Appreciation e novelty

Novo:

algoritmo.

AI.

Model.

Novelty Bias.

Now:

glow.


🎯 Pergunta Bellacosa nº 31

“Estamos valorizando a recomendação porque é algorítmica ou porque é nova?”


🧠 Status Quo opposite

Organizations oscillate:

old familiar

vs:

new shiny.


☕ O mesmo gerente

pode:

ter Status Quo Bias

na segunda-feira

e:

Algorithm Appreciation

na terça,

dependendo:

do fornecedor.


🧠 Algorithm Appreciation e vendor authority

Vendor says:

“AI optimized.”

Potential:

sales.

Need:

local validation.


🎯 Pergunta Bellacosa nº 32

“A performance foi demonstrada no nosso ambiente?”


🧠 Benchmark

Vendor benchmark:

maybe:

different workload.


☕ Benchmark de laboratório

não paga:

o P1 da produção.


🧠 Algorithm Appreciation e base rates

Model predicts:

rare failure.

High score.

Human:

panics.

But:

base rate:

tiny.

Need:

Bayesian reasoning.


🎯 Pergunta Bellacosa nº 33

“A previsão considera o quão raro o evento é?”


🧠 Base Rate Neglect

Important.


🧠 Example:

99% sensitivity.

False positives.

Rare event.

Could:

many false.

Need:

precision.


☕ “Modelo detecta 99%”

não diz:

quantos alertas:

serão falsos.


🎯 Pergunta Bellacosa nº 34

“Qual é o valor preditivo real quando aplicamos a taxa base?”


🧠 Algorithm Appreciation e probabilistic thinking

Numbers:

feel:

certain.

But:

probability:

is uncertainty quantified.

Funny.


☕ 94% não significa:

certeza.

Significa:

que ainda existe:

mundo nos:

6%.


🎯 Pergunta Bellacosa nº 35

“Estamos usando probabilidade para representar incerteza ou para escondê-la?”


🧠 Excellent.


🧠 Algorithm Appreciation e severity

High confidence:

low impact.

Maybe:

auto.

Low confidence:

catastrophic impact.

Maybe:

still act?

Risk management.


🧠 Confidence alone:

not enough.

Need:

impact.


🎯 Pergunta Bellacosa nº 36

“O score está sendo combinado com severidade e reversibilidade?”


🧠 Algorithm Appreciation e Action Bias

AI says:

“Recommended Action.”

High confidence.

Now:

action.

Algorithm Appreciation:

gives authority.

Action Bias:

gives urgency.


☕ O robô escolhe.

A ansiedade executa.


🎯 Pergunta Bellacosa nº 37

“A ferramenta está recomendando uma hipótese ou uma intervenção?”


🧠 Important separation

Prediction:

one thing.

Action policy:

another.


🧠 Example

Probability incident:

70%.

Should we failover?

Depends:

cost;

risk;

rollback.


🎯 Pergunta Bellacosa nº 38

“Estamos confundindo previsão com decisão?”

Essa talvez:

uma das maiores.


🧠 Algorithm predicts

“30% chance.”

Management:

must:

decide.

Values:

matter.


☕ Algoritmo pode:

estimar chuva.

Não decide:

se sua avó deve:

casar ao ar livre.


🧠 Algorithm Appreciation e ethics

In high-stakes:

model can:

inform.

But:

decision has:

values.


🎯 Pergunta Bellacosa nº 39

“A escolha envolve valores que não cabem na função objetivo?”


🧠 Human legitimacy

Important.


🧠 Algorithm Appreciation e fairness

Mathematical model:

can:

look neutral.

But:

data:

may encode history.


☕ Matemática pode:

executar:

viés

sem:

sentir:

preconceito.


🎯 Pergunta Bellacosa nº 40

“Objetividade computacional garante neutralidade dos dados?”

Não.


🧠 Algorithm Appreciation e security

Automated risk score:

high.

Analyst:

blocks.

Could:

be good.

But attacker may:

manipulate features.


🎯 Pergunta Bellacosa nº 41

“O algoritmo opera num ambiente adversarial?”


🧠 In adversarial systems

fraud,

security,

people adapt.

Model:

becomes target.


☕ Score virou:

muro.

Atacante:

começa:

a estudar:

o muro.


🧠 Algorithm Appreciation e model poisoning

If:

input compromised,

algorithm:

confident wrong.

Human:

appreciates.

Danger.


🎯 Pergunta Bellacosa nº 42

“Podemos confiar nos dados de entrada?”


🧠 Garbage in

still.


🧠 Algorithm Appreciation e SRE

AIOps predicts:

memory incident.

Great.

But:

operator needs:

verify.

Could use:

predictive.


🧠 Positive side

Let's be fair.

Algorithm Appreciation isn't:

always bad.

People may:

appropriately appreciate:

algorithms

because:

they genuinely outperform humans

in many structured tasks.


☕ O objetivo não é:

ensinar:

“desconfie de matemática.”

Seria:

idiota.

É:

dê crédito na medida em que o desempenho merece.


🧠 Algorithm Appreciation can be rational

If:

validated;

calibrated;

audited;

well-scoped;

high-performing.

Then:

prefer model:

may be right.


🎯 Pergunta Bellacosa nº 43

“Temos motivo empírico para apreciar este algoritmo?”


🧠 Excellent.


🧠 Appreciation vs worship

Appreciation:

recognizes:

comparative advantage.

Worship:

assumes:

authority.


☕ Admire:

the tool.

Don't:

build altar.


🧠 Algorithm Appreciation e human biases

Sometimes algorithm:

reduces:

human bias.

Consistency.

Same criteria.

Useful.


🧠 But...

If rule:

biased,

consistent bias.


🎯 Pergunta Bellacosa nº 44

“O algoritmo reduz variabilidade humana ou apenas automatiza um viés antigo?”


🧠 Great.


🧠 Algorithm Appreciation e reproducibility

Algorithm:

repeatable.

Human:

less.

Big advantage.

Auditability:

maybe.


☕ Determinismo:

em muitas tarefas

é:

virtude.


🧠 LLMs:

probabilistic,

but can:

log.


🎯 Pergunta Bellacosa nº 45

“A decisão algorítmica é mais auditável do que a humana?”


🧠 If yes:

benefit.

If black box:

maybe not.


🧠 Algorithm Appreciation e consistency

Humans:

fatigue.

Shift.

Mood.

Algorithm:

same.

Again:

real benefit.


🎯 Pergunta Bellacosa nº 46

“Qual variabilidade humana o sistema elimina?”


🧠 But edge cases:

human valuable.

Hybrid.


🧠 Algorithm Appreciation e human-algorithm complementarity

This is where:

series converges.

Automation Bias:

trust too much.

Algorithm Aversion:

trust too little.

Algorithm Appreciation:

grant algorithm extra initial credibility.

Ideal:

human-algorithm complementarity.


☕ Quem é melhor

em qual parte?

Essa:

é:

a pergunta adulta.


🧠 Example incident copilot

AI:

searches:

10 million logs.

Human:

recognizes:

business context.

Combine.


🎯 Pergunta Bellacosa nº 47

“Qual parte da tarefa é estruturalmente melhor para máquina e qual exige contexto humano?”


🧠 Great.


🧠 Algorithm Appreciation e Confidence Calibration

Don't ask:

“AI confident?”

Ask:

“Historically, when it says 90%, how often correct?”


🎯 Pergunta Bellacosa nº 48

“A confiança declarada é calibrada empiricamente?”


🧠 If yes:

good.

If no:

don't worship.


🧠 Algorithm Appreciation e human confidence

Compare:

expert confidence.

Could:

also be miscalibrated.


☕ Veterano também:

pode estar:

99% confiante

e:

errado.

Só não:

mostra:

barra azul.


🎯 Pergunta Bellacosa nº 49

“Estamos exigindo calibração do algoritmo e aceitando autoconfiança humana sem métrica?”


🧠 Symmetry again.


🧠 Algorithm Appreciation e blind evaluation

Technique:

strip source.

Show recommendation:

without telling:

AI or human.

Ask:

evaluate.

Then:

reveal.

If opinion:

changes,

source bias.


🎯 Pergunta Bellacosa nº 50

“A recomendação sobrevive quando escondemos quem a produziu?”


🧠 This is excellent experiment.


🧠 Bellacosa Blind Recommendation Test

RECOMMENDATION A:
Reduce capacity 17%

RECOMMENDATION B:
Reduce capacity 8%

No labels.

Evaluate.

Then reveal:

A = AI.

B = veteran.

Interesting.


☕ Primeiro:

argumento.

Depois:

autor.


🧠 Algorithm Appreciation e dashboards

Dashboard:

summarizes.

Great.

But:

compression loses:

details.

Need:

drill-down.


🎯 Pergunta Bellacosa nº 51

“Conseguimos chegar do score ao dado bruto?”


🧠 Excellent.


🧠 If no:

authority without traceability.


🧠 Algorithm Appreciation e provenance chain

For AI:

recommendation →

source →

data →

timestamp →

owner.


🧠 Bellacosa Provenance Rule

Toda recomendação importante deveria conseguir responder: “de onde você tirou isso?”


🎯 Pergunta Bellacosa nº 52

“A ferramenta consegue mostrar origem e recência da evidência?”


🧠 Stale data

Model beautiful.

Data old.

Output:

wrong.


☕ Um algoritmo inteligente

com:

dados de ontem

pode:

ser:

um excelente historiador

e:

péssimo operador.


🧠 Algorithm Appreciation e freshness

Critical.


🎯 Pergunta Bellacosa nº 53

“O dado está correto e fresco?”


🧠 Algorithm Appreciation e blind spots

Already.


🧠 Algorithm Appreciation e model monitoring

A model with:

great launch performance

can drift.

But aura persists.


☕ Reputação algorítmica:

também:

fica velha.


🎯 Pergunta Bellacosa nº 54

“Estamos confiando na performance atual ou na reputação passada?”


🧠 Diagnosis Momentum, algorithm edition

“Model X is great.”

Years.

No revisit.


🧠 Algorithm Appreciation e vendor lock-in

Trusted model.

No challenger.

Status quo.


🎯 Pergunta Bellacosa nº 55

“Existe challenger independente?”


🧠 Champion-challenger.

Useful.


🧠 Algorithm Appreciation e policy automation

Model outputs:

score.

Policy:

auto acts.

Se trust high:

no review.

Need:

threshold.


🧠 Safe autonomy tiers

Same as previous.


🎯 Pergunta Bellacosa nº 56

“Quanto poder estamos dando ao algoritmo por causa de sua reputação?”


🧠 This is governance.


🧠 Algorithm Appreciation e agentic AI

Agents:

not just recommend.

Act.

Then:

appreciation becomes:

authority.


☕ Um chatbot que parece:

competente

é uma coisa.

Um chatbot competente com:

DELETE

é:

outra.


🎯 Pergunta Bellacosa nº 57

“O nível de autonomia foi baseado em benchmark real ou na impressão de inteligência?”


🧠 Great.


🧠 Anthropomorphism

Polite AI.

Confident AI.

Human-like.

People:

may trust.


☕ Dar nome:

avatar

e:

voz calma

não melhora:

ROC curve.


🎯 Pergunta Bellacosa nº 58

“A personalidade da interface está aumentando confiança além da performance?”


🧠 Important for copilots.


🧠 Algorithm Appreciation e human-like language

“Eu analisei...”

“Eu recomendo...”

This can:

increase:

sense of agency/expertise.


🎯 Pergunta Bellacosa nº 59

“A interface faz o sistema parecer compreender mais do que realmente compreende?”


🧠 Strong AI literacy.


🧠 Algorithm Appreciation e Explainability

Humans like:

reason.

AI provides:

bullets.

Feels:

thought.

But:

could:

be post-hoc.


☕ Bullet points:

não:

são:

sinapses.


🧠 Algorithm Appreciation e RAG citations

Citations:

increase trust.

Good.

But:

citation may:

not support conclusion.

Need:

read.


🎯 Pergunta Bellacosa nº 60

“A fonte citada sustenta realmente a afirmação?”


🧠 Huge.


🧠 Algorithm Appreciation e prompt wording

Prompt:

“Analyze why Db2 is cause.”

Model:

produces:

Db2.

User:

“AI confirmed.”

No.

Prompt:

framed.


☕ Às vezes o algoritmo:

não descobriu:

sua hipótese.

Você:

entregou:

a hipótese

no prompt.


🎯 Pergunta Bellacosa nº 61

“A pergunta foi neutra ou empurrou a conclusão?”


🧠 Framing again.


🧠 Algorithm Appreciation e confirmation loops

Manager believes:

Db2.

Prompts AI:

“Check Db2.”

AI returns:

Db2 signals.

Manager:

“AI confirms.”

Beautiful.

Bad.


🎯 Pergunta Bellacosa nº 62

“A automação está validando nossa hipótese ou explorando o espaço de hipóteses?”


🧠 Good prompt

“Compare Db2, network, application, MQ and unknown causes; list supporting and contradictory evidence.”

Better.


🧠 Algorithm Appreciation e synthetic authority

If output:

has:

table;

scores;

ranking,

looks:

strong.

But:

still:

dependent on:

inputs.


☕ Uma tabela

não cura:

dados ruins.

Só:

alinha:

as colunas.


🧠 Algorithm Appreciation e COBOL modernization

AI tool says:

“85% suitable for Java migration.”

Manager:

wow.

What does:

suitable mean?

LOC?

Complexity?

Business criticality?

Copybook dependencies?

Batch coupling?


🎯 Pergunta Bellacosa nº 63

“O score representa aquilo que achamos que representa?”


🧠 Semantic trap

“Modernization score.”

“Risk score.”

“Health score.”

Labels:

compress.


☕ O nome do score

já:

faz argumento.


🧠 Algorithm Appreciation e Mainframe

Mainframe veterans:

sometimes suspicious of:

AI.

Algorithm Aversion.

But management:

may love:

AI dashboards.

Algorithm Appreciation.

The interesting challenge:

meet in middle.


🧠 Use AI for:

inventory;

dependency mapping;

code explanation;

search;

pattern detection.

But:

validate:

business context.


☕ IA encontra:

COPYBOOK.

Veterano lembra:

que aquele campo existe

porque:

um banco espanhol

mudou uma regra

em 2004.

Os dois:

podem:

ser necessários.


🎯 Pergunta Bellacosa nº 64

“Qual contexto histórico não está codificado no sistema?”


🧠 Algorithm Appreciation e documentation gaps

AI trained/retrieves docs.

Docs:

incomplete.

Expert:

tacit.

So:

model:

limited.


🎯 Pergunta Bellacosa nº 65

“A documentação representa o sistema real ou apenas o sistema documentado?”


🧠 Huge.


🧠 Algorithm Appreciation e cultural debt

Old process:

not documented.

AI recommends:

based on formal docs.

Could:

miss:

reality.


☕ RAG é:

tão bom quanto:

o acervo

e:

a distância entre:

o manual

e:

a produção.


🧠 Algorithm Appreciation e incident response

AI says:

likely root cause.

Useful.

But:

treat as:

hypothesis.


🧠 Bellacosa AI Incident Rule

AI OUTPUT:
HYPOTHESIS

EVIDENCE:
REQUIRED

ACTION:
SEPARATE DECISION

🎯 Pergunta Bellacosa nº 66

“Estamos deixando um sistema de inferência virar automaticamente sistema de controle?”


🧠 That's critical.


🧠 Recommendation != execution

Architecture:

separate.


🧠 Algorithm Appreciation e safety case

For critical:

need:

evidence.

Not just score.


🎯 Pergunta Bellacosa nº 67

“Qual evidência independente precisamos antes de executar uma ação de alto impacto?”


🧠 Good.


🧠 Algorithm Appreciation e model agreement

If AI and human agree:

confidence up?

Maybe.

Only if:

independent.

If human saw AI first:

not.


🎯 Pergunta Bellacosa nº 68

“A concordância humana foi independente ou ancorada pela recomendação?”


🧠 Great.


🧠 Algorithm Appreciation e groupthink

AI can:

become:

extra participant.

Everyone:

aligns.

Model output:

authority.


☕ War Room de seis pessoas

pode virar:

cinco humanos

e:

um algoritmo

com:

direito informal de veto.


🎯 Pergunta Bellacosa nº 69

“A presença da recomendação automatizada está reduzindo diversidade de hipóteses?”


🧠 Important.


🧠 Algorithm Appreciation e brainstorming

Maybe show AI:

after humans generate:

options.

Good.


🧠 Two-stage reasoning

Human first.

AI second.

Compare.


🎯 Pergunta Bellacosa nº 70

“Podemos separar geração independente de hipóteses da fase de comparação?”


🧠 Excellent anti-anchoring.


🧠 Algorithm Appreciation e Action Bias

Again:

Algorithm says:

92%.

Act.

Need:

stop.


🧠 Bellacosa Three Gates

Before high impact:

  1. Evidence gate

  2. Risk gate

  3. Reversibility gate

Algorithm confidence:

is:

input.

Not:

gate key.


☕ 99%

não:

abre:

a porta sozinho.


🎯 Pergunta Bellacosa nº 71

“Qual controle existe entre recomendação e execução?”


🧠 Algorithm Appreciation e omission

Opposite too.

System says:

low risk.

Human:

does nothing.

No alert.

Trust.

Omission Bias.


🎯 Pergunta Bellacosa nº 72

“O score baixo está sendo tratado como prova de segurança?”


🧠 No.


🧠 Negative predictions

“No anomaly.”

Could:

miss.


☕ O algoritmo não achar:

não significa:

não existir.


🧠 Algorithm Appreciation e security scanners

“No vulnerabilities.”

Manager:

happy.

But:

scanner coverage?


🎯 Pergunta Bellacosa nº 73

“O que a ferramenta não é capaz de detectar?”


🧠 Same principle.


🧠 Algorithm Appreciation e dashboards

Green:

trusted.

But:

data freshness.


🎯 Pergunta Bellacosa nº 74

“O sistema está saudável ou apenas os sinais que medimos estão normais?”


🧠 Excellent.


🧠 Algorithm Appreciation e confidence calibration with domain

Model:

great at:

routine.

Weak:

rare.

So:

score should:

incorporate:

OOD.


🎯 Pergunta Bellacosa nº 75

“O caso atual parece com o universo em que o algoritmo foi validado?”


🧠 Out-of-distribution.


🧠 Algorithm Appreciation e AI “reasoning”

Model may:

produce:

step-by-step explanation.

Humans:

interpret:

deep reasoning.

Need:

still validate.


☕ Ver raciocínio escrito

não:

é:

prova de raciocínio correto.


🧠 Algorithm Appreciation e model sophistication

Bigger model:

more trust.

But:

task-specific benchmark:

maybe smaller better.


🎯 Pergunta Bellacosa nº 76

“Estamos escolhendo o modelo pelo nome ou pelo desempenho na tarefa?”


🧠 Great.


🧠 Algorithm Appreciation e cost-benefit

Expensive model:

prestige.

Could:

be overkill.


🧠 “AI” itself:

branding.

Maybe:

rules.

No problem.

Just:

know.


☕ O usuário compra:

“inteligência.”

Às vezes recebe:

IF score > 80.

O IF não:

tem culpa.


🎯 Pergunta Bellacosa nº 77

“Sabemos o que existe por trás do rótulo ‘IA’?”


🧠 Algorithm Appreciation e regulatory risk

Automated decision:

may require:

explainability/audit.

Need:

governance.


🧠 Appreciation should not:

bypass:

controls.


🎯 Pergunta Bellacosa nº 78

“A aura tecnológica está fazendo a organização reduzir controles que aplicaria a uma decisão humana?”


🧠 Important.

Sometimes opposite:

AI gets more control.

Both.


🧠 Symmetrical governance

Decision risk:

not:

decision origin

should drive:

control.


☕ Controle deveria seguir:

o blast radius.

Não:

o marketing.


🎯 Pergunta Bellacosa nº 79

“Aplicamos controle proporcional ao risco ou proporcional à confiança na tecnologia?”


🧠 Good.


🧠 Algorithm Appreciation e postmortem

If AI suggested wrong:

don't say:

“algorithm fooled us.”

Ask:

why output:

had so much authority.

UI?

Score?

Culture?

Lack independent evidence?


🎯 Pergunta Bellacosa nº 80

“O que fez a recomendação parecer mais confiável do que realmente era?”


🧠 That is core.


🧠 Bellacosa Algorithm Appreciation Detector

Frases:

  • “A IA calculou.”

  • “O modelo deu 94%.”

  • “O algoritmo é data-driven.”

  • “É mais objetivo.”

  • “Está recomendado.”

  • “O dashboard confirmou.”

  • “O score é alto.”

  • “O sistema cruzou milhões de dados.”

  • “A máquina não tem viés.”

  • “É matemático.”

  • “É científico.”

  • “Foi otimizado.”

Nenhuma:

é suficiente sozinha.


☕ Toda vez que ouvir:

“é matemático”

pergunte:

“qual matemática, com quais dados e para qual objetivo?”


🧠 Bellacosa Algorithm Appreciation Protocol

Passo 1 — Retire o rótulo

Imagine:

recomendação sem:

“IA”.

Ela ainda parece boa?

Passo 2 — Pergunte o objetivo

O que o modelo otimiza?

Passo 3 — Veja os dados

Cobertura.

Qualidade.

Recência.

Passo 4 — Entenda o score

O que ele significa?

Passo 5 — Liste blind spots

O que ficou fora?

Passo 6 — Procure evidência contraditória

Não só suporte.

Passo 7 — Verifique independência

Múltiplos sinais?

Passo 8 — Compare baseline humano

Quem é melhor e onde?

Passo 9 — Separe previsão de ação

Score não executa sozinho.

Passo 10 — Reavalie performance

Trust must be earned continuously.


📋 Checklist Bellacosa anti-Algorithm Appreciation

[ ] Eu confiaria na recomendação se não soubesse que veio de IA?

[ ] O modelo foi validado no nosso ambiente?

[ ] Qual problema ele realmente otimiza?

[ ] O score significa o quê?

[ ] As casas decimais são justificadas?

[ ] Quais dados entraram?

[ ] Quais dados ficaram fora?

[ ] Os dados são atuais?

[ ] Há evidência contraditória?

[ ] As fontes são independentes?

[ ] A recomendação está dentro do domínio validado?

[ ] Há baseline humano?

[ ] A interface está exagerando autoridade?

[ ] A ação é reversível?

[ ] O modelo pode se abster?

🧠 Bellacosa Algorithm Appreciation Card

ALGORITHM:
________________________

RECOMMENDATION:
________________________

TARGET:
________________________

OPTIMIZATION OBJECTIVE:
________________________

DATA SOURCES:
________________________

MISSING CONTEXT:
________________________

SCORE MEANING:
________________________

HUMAN BASELINE:
________________________

INDEPENDENT EVIDENCE:
________________________

DECISION AUTHORITY:
________________________

👻 Easter Egg nº 2 — BELLACOSA.BIAS(ALGORITHM-APPRECIATION)

       IF SOURCE = 'AI'
           PERFORM REMOVE-HALO
           PERFORM CHECK-EVIDENCE
       END-IF.

       IF CONFIDENCE = 94.67
          AND DATA-UNCERTAINTY = 'HIGH'
           DISPLAY
           'WARNING: FALSE PRECISION'
       END-IF.

       IF MODEL-OUTPUT = RECOMMENDATION
          AND ACTION = 'HIGH-IMPACT'
           PERFORM INDEPENDENT-VALIDATION
       END-IF.

       IF THREE-TOOLS-AGREE = 'Y'
           PERFORM CHECK-COMMON-DATA-SOURCE
       END-IF.

Comentários:

* ALGORITHMIC
* DOES NOT MEAN
* INFALLIBLE.

Outro:

* DECIMALS
* DO NOT CREATE
* CERTAINTY.

Outro:

* DATA DRIVEN
* STILL REQUIRES
* THE RIGHT DATA.

Outro:

* PREDICTION
* IS NOT
* A DECISION.

E naturalmente:

* DALEK MODEL:
* 99.92% CONFIDENT.
*
* DATA:
* WRONG PLANET.
*
* DOCTOR:
* "IMPRESSIVE DECIMAL."

🕰️ Voltando à reunião

Temos:

AI RECOMMENDATION:
REDUCE CPU 17.4%

CONFIDENCE:
94.6%

Doctor olha:

para nosso jovem.

— O que perguntamos primeiro?

Nosso jovem:

— Qual é o objetivo?

Analista:

— Reduzir custo mantendo SLA.

— Quais dados?

— Últimos doze meses.

— O antifraude novo está representado?

— Parcialmente.

— Fechamento trimestral?

— Só um ciclo comparável.

— Failover?

Silêncio.

Sysprog:

— Precisamos de 20% de headroom para cenário de contingência.

Nosso jovem:

— O modelo conhece esse requisito?

Analista:

— Não.


☕ Pronto.

O modelo não:

“errou.”

Ele respondeu:

uma pergunta incompleta.


🧠 Isso é importante

Algoritmo:

não tem obrigação:

de saber

aquilo que:

não foi:

dado,

modelado

ou:

definido.


🎯 Pergunta Bellacosa nº 81

“O problema está no algoritmo ou na pergunta que fizemos ao algoritmo?”


🧠 Talvez:

a mais importante.


🧠 A equipe recalcula

Agora:

objetivo:

MINIMIZE COST
SUBJECT TO:
- SLA
- 20% failover headroom
- quarter-end peak
- new fraud workload growth

Novo resultado:

RECOMMENDED REDUCTION:
6.2%

O diretor:

— O modelo mudou de opinião?

Doctor:

— Não.

— Não?

— Vocês melhoraram a pergunta.


☕ Um algoritmo pode:

parecer muito inteligente

e:

ainda assim depender:

da inteligência de:

quem formulou o problema.


🧠 Essa é uma das maiores lições de IA

Garbage in,

garbage out.

Mas existe:

uma versão mais sofisticada:

wrong objective in, beautifully optimized wrong objective out.


🧠 Programador iniciante deve entender isso

Em COBOL:

você escreve:

regra errada.

Programa executa:

perfeitamente.

Isso não:

torna:

regra correta.


☕ Computadores têm:

uma virtude perigosa:

levam especificação ruim:

muito a sério.


🎯 Pergunta Bellacosa nº 82

“Estamos validando o algoritmo ou validando a especificação do problema?”


🧠 Both needed.


🧠 Algorithm Appreciation e Requirements

Model quality starts:

before model.

Define:

objective.

Constraints.

Costs.

Errors.


🧠 Business knowledge matters.


☕ O Data Scientist pode:

otimizar.

O negócio precisa:

saber:

o que não pode:

ser sacrificado.


🎯 Pergunta Bellacosa nº 83

“Qual restrição não pode ser trocada por performance?”


🧠 Great governance.


🧠 Algorithm Appreciation e decision responsibility

At end:

who decides?

Algorithm:

recommend.

Organization:

decides.


☕ Score:

não assina:

change.


🎯 Pergunta Bellacosa nº 84

“Quem continua responsável pela decisão?”


🧠 This must remain explicit.


🧠 Algorithm Appreciation e attribution

If recommendation works:

“AI success.”

If fails:

“operator error.”

Maybe:

unfair.

Need:

system view.


🎯 Pergunta Bellacosa nº 85

“Estamos atribuindo sucesso e falha de forma simétrica?”


🧠 Interesting.


🧠 Algorithm Appreciation e learning loops

When human overrides model:

capture.

When model beats human:

capture.

Then:

learn:

division.


🎯 Pergunta Bellacosa nº 86

“Estamos usando discordâncias para descobrir onde cada lado é melhor?”


🧠 This is maturity.


🧠 Algorithm Appreciation e model humility

Good system:

show:

“I may be wrong.”

But:

users may:

trust less.

Yet:

calibrated.


☕ Humildade algorítmica

é:

feature de segurança.


🎯 Pergunta Bellacosa nº 87

“A ferramenta mostra limites ou apenas confiança?”


🧠 Strong.


🧠 Algorithm Appreciation e uncertainty visualization

Ranges.

Not:

single point.

Example:

6–12%.

Better.


🎯 Pergunta Bellacosa nº 88

“Estamos vendo intervalo ou só ponto?”


🧠 Point estimate:

seductive.


17.4%

parece:

destino.

10–20%

parece:

o que realmente é:

incerteza.


🧠 Algorithm Appreciation e Bellacosa Sysprog Bayesiano

Veteran hears:

AI says:

Db2 70%.

Doesn't:

reject.

Doesn't:

obey.

Updates:

prior.


☕ É isso.

AI output:

vira:

evidência.

Não:

sentença.


🎯 Pergunta Bellacosa nº 89

“Quanto essa recomendação deveria atualizar minha crença?”


🧠 Bayesian framing:

perfect antidote.


🧠 Algorithm Appreciation e training

For juniors:

before asking AI:

write:

own hypothesis.

Then:

compare.


🧠 Teaching routine

  1. Diagnose.

  2. Ask AI.

  3. Compare.

  4. Investigate divergence.


☕ Isso transforma:

copiloto

em:

mentor.

Não:

muleta.


🎯 Pergunta Bellacosa nº 90

“Qual era minha hipótese antes de ver a resposta?”


🧠 Great practice.


🧠 Algorithm Appreciation e RCA

AI proposes:

root cause.

Require:

causal evidence.

Timeline.

Mechanism.

Reproduction.


🎯 Pergunta Bellacosa nº 91

“A hipótese explica todos os sintomas principais?”


🧠 If not:

maybe partial.


🧠 Algorithm Appreciation e contradictions

Good model output should:

list:

what doesn't fit.


☕ Uma hipótese que:

só explica:

as evidências favoráveis

é:

fanfic técnica.


🎯 Pergunta Bellacosa nº 92

“O que essa hipótese não explica?”


🧠 Excellent universal.


🧠 Algorithm Appreciation e counterfactual

If cause X,

what should happen if:

X removed?

Test.


🎯 Pergunta Bellacosa nº 93

“Que previsão verificável essa recomendação produz?”


🧠 This turns:

story into:

science.


🧠 Algorithm Appreciation e causal inference

Correlation:

model finds.

Causation:

hard.


☕ Machine learning adora:

correlação.

Produção cobra:

causalidade.


🎯 Pergunta Bellacosa nº 94

“O modelo prevê ou realmente identifica mecanismo causal?”


🧠 Important.


🧠 Algorithm Appreciation e predictive maintenance

Prediction sufficient maybe.

Don't always need cause.

If action safe.


🧠 Again:

task.


🎯 Pergunta Bellacosa nº 95

“Precisamos saber a causa para tomar esta decisão, ou boa previsão já basta?”


🧠 Nuance.


🧠 Algorithm Appreciation e reversibility

If recommendation:

cheap/reversible,

can:

act with less certainty.


🎯 Pergunta Bellacosa nº 96

“Podemos experimentar em vez de acreditar?”


🧠 Fantastic.

Run canary.

Measure.


☕ A melhor maneira

de resolver:

“humano ou algoritmo?”

às vezes é:

“vamos testar.”


🧠 Algorithm Appreciation e experiment design

Shadow.

A/B.

Backtest.

Canary.


🎯 Pergunta Bellacosa nº 97

“Podemos medir a recomendação antes de escalá-la?”


🧠 Good.


🧠 Algorithm Appreciation e historical backtest

Careful:

past not future.

But:

useful.


🧠 Model overfitting

Great backtest.

Bad prod.

Need:

out-of-sample.


🎯 Pergunta Bellacosa nº 98

“O modelo foi testado em dados que não usou para aprender?”


🧠 Technical depth.


🧠 Algorithm Appreciation e overfitting metaphor

Model:

memorized past.

Looks genius.

Future:

meh.


☕ Aluno que decorou:

gabarito

parece:

gênio

até:

prova mudar.


🎯 Pergunta Bellacosa nº 99

“Estamos admirando generalização ou memória?”


🧠 Great.


🧠 Algorithm Appreciation e drift

Production shifts.

Need:

retrain/revalidate.


🎯 Pergunta Bellacosa nº 100

“O mundo que o modelo aprendeu ainda existe?”

Essa é:

magnífica.


🧠 Bellacosa Appreciation Ladder

Pense em:

níveis.

LEVEL 0
"É IA, deve estar certo."

Ruim.

LEVEL 1
"É IA, vamos ouvir."

Melhor.

LEVEL 2
"Qual a evidência?"

Boa.

LEVEL 3
"Como performa versus baseline?"

Excelente.

LEVEL 4
"Em quais domínios podemos delegar e em quais devemos manter julgamento?"

Maturidade.


☕ Appreciation madura:

não é:

fé.

É:

mérito medido.


🧠 Bellacosa Anti-Algorithm-Appreciation Checklist

[ ] O fato de ser algoritmo está aumentando minha confiança?

[ ] A performance foi medida localmente?

[ ] O modelo está no domínio validado?

[ ] O score tem significado claro?

[ ] A precisão mostrada é real ou decorativa?

[ ] O objetivo otimizado é o objetivo correto?

[ ] Há constraints ausentes?

[ ] Existe contexto humano que não entrou?

[ ] As fontes são independentes?

[ ] A saída é previsão, hipótese ou decisão?

[ ] Há evidência contraditória?

[ ] O modelo pode se abster?

[ ] A ação é reversível?

[ ] Existe comparação com baseline humano?

[ ] A confiança é periodicamente recalibrada?

🧠 Bellacosa Algorithm Review Card

SYSTEM:
____________________________

MODEL:
____________________________

VERSION:
____________________________

OUTPUT:
____________________________

OUTPUT TYPE:
PREDICTION / SCORE / HYPOTHESIS / ACTION

OBJECTIVE:
____________________________

DATA:
____________________________

MISSING CONTEXT:
____________________________

VALIDATION:
____________________________

HUMAN BASELINE:
____________________________

BLAST RADIUS:
____________________________

DECISION OWNER:
____________________________

👻 Easter Egg nº 3 — BELLACOSA.APPRECIATION.COBOL

       IF SOURCE = 'ALGORITHM'
           ADD 0
             TO TRUTH-VALUE
       END-IF.

       IF MODEL-VALIDATED = 'Y'
           ADD MODEL-EVIDENCE
             TO DECISION-CONFIDENCE
       END-IF.

       IF MODEL-CONFIDENCE > 90
          AND DATA-COVERAGE < 50
           DISPLAY
           'WARNING: CONFIDENTLY PARTIAL'
       END-IF.

       IF ALGORITHM = 'SMART'
          AND OBJECTIVE = 'WRONG'
           DISPLAY
           'RESULT: OPTIMALLY WRONG'
       END-IF.

Comentários:

* SOURCE
* DOES NOT CHANGE
* THE TRUTH VALUE.

Outro:

* PRECISE
* DOES NOT MEAN
* ACCURATE.

Outro:

* SMART MODEL
* PLUS WRONG OBJECTIVE
* EQUALS
* SMART FAILURE.

Outro:

* APPRECIATE
* THE TOOL.
* VERIFY
* THE DECISION.

E naturalmente:

* DALEK DATA SCIENCE:
* CONFIDENCE = 99.999%.
*
* INPUT PLANET:
* NULL.
*
* DOCTOR:
* "THAT EXPLAINS A LOT."

🕰️ De volta à reunião — parte final

O diretor agora vê:

duas recomendações.

AI MODEL:
REDUCE 6.2%

E:

SYSprog:
REDUCE 5–7%

Diretor:

— Então o sysprog estava certo.

Doctor:

— Talvez.

Nosso jovem:

— Na verdade eles convergiram quando adicionamos contexto.

— Então quem venceu?

O Doctor olha:

como quem acaba de ouvir:

a pergunta errada.

— Ninguém.

— Como assim?

— O objetivo era decidir capacidade, não organizar campeonato entre humano e máquina.

Silêncio.


☕ Essa talvez seja:

a maior lição da série inteira.

Nós gostamos:

de:

vencedores.

IA contra humano.

Legacy contra cloud.

COBOL contra Java.

Automação contra operador.

Mas:

sistemas críticos

não precisam:

de:

vencedor ideológico.

Precisam:

de:

boa decisão.


🧠 Algorithm Appreciation madura

Significa:

reconhecer:

onde algoritmos:

são excelentes.

Volume.

Consistência.

Cálculo.

Ranking.

Busca.

Correlação.

Mas também:

reconhecer:

o que não possuem automaticamente.

Contexto integral.

Objetivo correto.

Valores.

História tácita.

Causalidade.

Dados ausentes.


🧠 E reconhecer:

humanos

também:

não são:

mágicos.

São:

cansados;

enviesados;

inconsistentes;

limitados.


☕ Por isso:

o objetivo não é:

confiar no humano.

Nem:

confiar na máquina.

É:

construir um sistema de decisão em que cada um seja usado onde acrescenta mais valor e onde os erros de um possam ser detectados pelo outro.


🧬 Regeneração organizacional

Uma organização madura vê:

um novo algoritmo

e não diz:

“isso vai revolucionar tudo.”

Também não diz:

“robô nunca vai entender nosso negócio.”

Ela pergunta:

Qual tarefa?

Qual baseline?

Qual custo?

Qual erro?

Qual blast radius?

Qual contexto?

Qual domínio?

Qual nível de autonomia?

Ela testa.

Compara.

Segmenta.

Monitora.

Mantém:

challenger.

Registra:

override.

E aprende.

Quando o algoritmo é:

melhor,

usa.

Quando humano é:

melhor,

usa.

Quando combinação:

é melhor,

combina.


📓 Diário do Doctor

Se guardar algumas ideias desta viagem, guarde estas:

Algorithm Appreciation é a tendência de dar valor adicional a uma recomendação por ela ter origem algorítmica.

Isso não é necessariamente irracional: algoritmos podem realmente superar humanos em tarefas estruturadas, consistentes e de grande escala.

O problema aparece quando a origem algorítmica substitui a avaliação do desempenho real.

Algorithm Appreciation pode evoluir para Automation Bias quando o humano passa a verificar menos a recomendação.

Algorithm Aversion é o extremo oposto: rejeitar algoritmos desproporcionalmente depois de observar seus erros.

O objetivo é confiança calibrada, não adoração nem rejeição.

Números precisos e casas decimais podem criar falsa sensação de rigor.

Framing Effect pode aumentar a autoridade percebida quando recomendações recebem rótulos como “AI Recommended”, “Optimal” ou “Confidence 94%”.

Authority Bias pode migrar do especialista humano para a autoridade matemática do algoritmo.

Metric Fixation, McNamara Fallacy, Goodhart e Campbell lembram que modelos podem otimizar perfeitamente uma métrica que não representa adequadamente o objetivo real.

Goal Substitution pode acontecer quando a função objetivo do algoritmo substitui silenciosamente o verdadeiro resultado de negócio.

Default Effect aumenta a influência do algoritmo quando sua recomendação já aparece pré-selecionada.

Anchoring Bias pode começar quando a saída algorítmica é a primeira hipótese apresentada.

Múltiplas ferramentas que compartilham os mesmos dados não constituem necessariamente evidência independente.

Scores de confiança precisam ter significado operacional claro.

Prediction, inference, recommendation e decision são coisas diferentes.

Uma previsão correta não define automaticamente qual ação deve ser tomada.

Modelos podem estar corretos sobre aquilo que veem e errados porque não veem partes importantes do contexto.

Conhecimento tácito de especialistas pode conter informação ausente dos dados estruturados, mas também precisa ser transformado em hipótese verificável.

Algoritmos carregam escolhas humanas na definição de objetivos, dados, features, pesos, thresholds e políticas.

Interfaces, branding e linguagem humanizada podem aumentar confiança sem aumentar desempenho.

Sistemas de IA deveriam mostrar limites, fontes, evidências contraditórias e capacidade de abstenção sempre que apropriado.

Uma boa prática para iniciantes é formular uma hipótese antes de consultar a IA e depois investigar divergências.

Um modelo sofisticado com objetivo errado pode produzir uma resposta elegantemente otimizada e operacionalmente péssima.

A melhor comparação é entre humano real, algoritmo real e sistema híbrido real.

O sucesso não é provar que IA é melhor que pessoas ou que pessoas são melhores que IA; é desenhar uma arquitetura de decisão melhor que qualquer uma das partes isoladamente.

E principalmente:

não confunda “o algoritmo calculou” com “a realidade decidiu”. O algoritmo é uma ferramenta para transformar dados e objetivos em uma recomendação. A responsabilidade de verificar se os dados, os objetivos e a recomendação fazem sentido ainda pertence ao sistema humano que colocou aquela máquina para trabalhar.


🥚 Easter Egg final

Antes de entrar na TARDIS, o Doctor encontra:

um terminal.

Na tela:

QUESTION:

WHO SHOULD WE TRUST?

A) HUMAN
B) ALGORITHM

Nosso jovem:

— Qual escolho?

Doctor:

— Esse formulário está mal desenhado.

— Por quê?

— False dichotomy.

Ele digita:

C) EVIDENCE

O sistema responde:

INVALID OPTION.

Doctor suspira.

— Sistemas adoram menus.

Nosso jovem:

— Então evidência vence?

Doctor:

— Também não sozinha.

— Como não?

— Evidência precisa de interpretação. Interpretação precisa de contexto. Contexto precisa de revisão. E todo mundo precisa lembrar que pode estar errado.

Nosso jovem:

— Isso cabe num dashboard?

Doctor abre:

a porta.

“Provavelmente não. E essa talvez seja uma das razões pelas quais ainda precisamos de gente na sala.”

VWORP.

VWORP.

VWORP.

A TARDIS começa:

a desaparecer.

No monitor fica:

ALGORITHM CONFIDENCE:
94.6%

Nosso jovem olha.

Apaga.

Escreve:

ALGORITHM EVIDENCE:
STRONG

MISSING CONTEXT:
KNOWN

HUMAN REVIEW:
REQUIRED

DECISION:
6.2% REDUCTION

Agora:

não parece:

tão mágico.

Mas parece:

muito mais:

engenharia.

No quadro sobra:

APPRECIATE ≠ OBEY

E abaixo:

“A matemática merece respeito. A evidência merece prioridade. E nenhuma das duas merece ser transformada em religião.”

E talvez essa seja toda a essência do Algorithm Appreciation no Bellacosa Mainframe:

o algoritmo merece crédito quando demonstra valor — não porque é algoritmo, não porque tem IA no nome, não porque mostra 94,6%, mas porque seus dados, premissas, desempenho e limites sobreviveram ao tipo de pergunta inconveniente que qualquer veterano deveria aprender a fazer antes de apertar Enter.

☕🌀

Próxima parada: Algorithmic Authority — o dia em que a recomendação deixou de ser apenas uma sugestão técnica e começou a ganhar poder institucional, até as pessoas passarem a organizar decisões, políticas e responsabilidades ao redor daquilo que o sistema dizia.

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