☕ 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, 11 de dezembro de 2010

Diffusion of Responsibility: Doctor Who, COBOL e o Dia em que Todo Mundo Viu o Alerta — Mas Ninguém Era o Responsável

Bellacosa Mainframe e a diffusion of responsibility

☕ Um Café no Bellacosa Mainframe

Diffusion of Responsibility: Doctor Who, COBOL e o Dia em que Todo Mundo Viu o Alerta — Mas Ninguém Era o Responsável

Uma viagem pela TARDIS dos incidentes para entender por que quanto mais pessoas recebem um problema, mais fácil pode ser acreditar que outra pessoa já está cuidando dele

08:57.

Segunda-feira.

Café quente.

Produção funcionando.

O Teams tranquilo.

Uma manhã suspeitosamente agradável.

Até que surge:

09:01:17

WARNING
PAYMENT QUEUE DEPTH > THRESHOLD

O monitoramento envia automaticamente a mensagem para:

Operações.

Aplicação.

Middleware.

CICS.

DBA.

Infraestrutura.

Gestão.

Suporte.

Vinte e três pessoas recebem.

Excelente.

Um sistema moderno.

Comunicação perfeita.

Visibilidade ampla.

09:04.

A fila continua crescendo.

QUEUE DEPTH: 4.312

João, da aplicação, vê.

Pensa:

“Operação certamente está olhando.”

Maria, de operações, vê.

Pensa:

“Isso parece problema da aplicação.”

Carlos, de middleware, recebe.

Pensa:

“Se for MQ de verdade, alguém vai me chamar.”

O gerente recebe no celular.

Pensa:

“A equipe técnica já está atuando.”

Nosso jovem programador COBOL vê a mensagem.

Olha a quantidade de pessoas no canal.

Vinte e três.

Pensa:

“Não vou atrapalhar. Certamente alguém mais experiente está cuidando.”

09:12.

QUEUE DEPTH: 12.891

Ninguém está cuidando.

09:17.

TIMEOUT RATE: +320%

09:19.

Usuários começam a reclamar.

09:22.

Alguém pergunta no Teams:

“Pessoal, alguém olhando isso?”

Silêncio.

Então...

VWORP.

VWORP.

VWORP.

A TARDIS materializa-se no corredor.

A porta abre.

O Doctor sai.

Olha para o painel.

Olha para o Teams.

Conta os participantes.

— Vinte e três pessoas receberam o alerta?

— Sim.

— Quantas estão investigando?

Silêncio.

— Interessante.

Nosso programador responde:

— Achei que alguém estivesse.

O Doctor aponta para os demais.

— Eles também.

Pausa.

— Vocês construíram uma equipe tão grande que conseguiram criar uma pessoa imaginária chamada “alguém”.

Bem-vindo ao:



Diffusion of Responsibility

Ou:

Difusão de Responsabilidade

O fenômeno pelo qual a presença de várias pessoas pode reduzir a sensação individual de responsabilidade para agir.

Quanto mais fácil pensar:

“Outra pessoa fará”

mais perigoso fica descobrir que todas as outras pessoas pensaram exatamente a mesma coisa.


🌀 A TARDIS já colecionou muitos monstros

Nossa jornada está ficando perigosamente parecida com um bestiário de sistemas complexos.

Começamos pelo Swiss Cheese Model.

Aprendemos que barreiras imperfeitas podem falhar simultaneamente.

Depois:

Normalization of Deviance — aquilo que estava errado vai ficando familiar.

Hindsight Bias — depois do desastre todo mundo acredita que deveria ter percebido.

Confirmation Bias — encontramos aquilo que procuramos.

Anchoring Bias — a primeira explicação prende nossa atenção.

Groupthink — pessoas concordam porque as outras concordam.

Authority Gradient — alguém percebe, mas não consegue confrontar autoridade.

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

Alarm Fatigue — recebemos tantos alertas que deixamos de ouvi-los.

Automation Bias — acreditamos demais na máquina.

Drift Into Failure — pequenas adaptações empurram todo o sistema lentamente para condições perigosas.

Agora encontramos outra peça.

O alerta funciona.

Não existe necessariamente fadiga.

A máquina detectou corretamente.

As pessoas viram.

O problema foi distribuído para tanta gente que a responsabilidade ficou...

distribuída também.


🧠 O que é Diffusion of Responsibility?

A ideia é bastante simples.

Imagine que você esteja sozinho numa sala.

Um alarme começa.

Você pensa:

“Preciso fazer alguma coisa.”

Agora imagine vinte pessoas.

O mesmo alarme aparece.

Você pode pensar:

“Alguém mais qualificado vai cuidar.”

Cada pessoa individualmente sente uma fração menor da responsabilidade.

Não precisamos literalmente calcular:

RESPONSABILIDADE / NÚMERO DE PESSOAS

A psicologia não funciona como COBOL.

Mas a sensação pode se comportar aproximadamente dessa maneira.

Uma responsabilidade claramente individual:

“Vagner, investigue este alerta.”

é muito diferente de:

“Pessoal, alguém consegue olhar?”

A segunda frase acabou de criar um funcionário imaginário chamado:

Alguém.


👥 O famoso Bystander Effect

Diffusion of Responsibility é fortemente relacionada ao chamado Bystander Effect, ou efeito espectador.

Estudos clássicos da psicologia social associados a John Darley e Bibb Latané investigaram por que indivíduos podem ter menor probabilidade de ajudar em certas situações quando outras pessoas também estão presentes.

A lógica psicológica inclui elementos como:

“Outra pessoa deve agir.”

ou:

“Se ninguém está reagindo, talvez não seja grave.”

Isso é fascinante porque se conecta imediatamente aos incidentes.

Uma War Room possui muitos espectadores.

Todos tecnicamente capazes.

Todos informados.

Mas capacidade coletiva não garante ação individual.


🚨 O alerta para “todos”

Existe uma frase operacional que deveria causar desconforto:

“Mandamos para todo mundo.”

Parece robusto.

Mas quem é o responsável?

Resposta:

“Todo mundo.”

Então talvez tenhamos um problema.

Porque:

Responsabilidade de todos pode virar responsabilidade de ninguém.


☕ Bellacosa Mainframe: o job que ninguém assumiu

Imagine:

JOB ABC123 ABENDED S0C7

Scheduler envia:

Aplicação.

Produção.

Suporte.

DBA.

Operador.

Email de distribuição.

Teams.

Telefone automático.

Fantástico.

Agora:

Operação pensa:

aplicação está vendo.

Aplicação pensa:

operador deve ter iniciado restart.

DBA pensa:

não parece Db2.

Gestão pensa:

equipes técnicas receberam.

Resultado:

35 minutos.

Nenhuma ação.

O problema não foi falta de notificação.

Foi falta de:

ownership.


🏷️ Ownership muda tudo

Compare:

ALERT:
ABC123 S0C7

RECIPIENTS:
OPERATIONS@EMPRESA

com:

ALERT:
ABC123 S0C7

OWNER:
BATCH PAYMENTS TEAM

ON-CALL:
MARIA

ACK REQUIRED: 5 MIN

ESCALATE AFTER: 10 MIN

A segunda versão responde à pergunta:

Quem precisa agir agora?

Isso vale ouro.


🧠 Informação e responsabilidade são coisas diferentes

Enviar informação não significa atribuir responsabilidade.

Você pode informar 200 pessoas.

Ainda precisa existir alguém dizendo:

“Eu tenho este incidente.”

Isso é uma distinção maravilhosa para quem começa em TI.

Broadcast

“Todos precisam saber.”

Assignment

“Você precisa agir.”

Não confunda.


👻 Easter Egg nº 1 — O companion imaginário

O Doctor pergunta:

— Quem deveria apertar o botão?

Companion A:

— Achei que fosse B.

Companion B:

— Eu achei que fosse o Doctor.

Doctor:

— E eu estava ocupado impedindo a destruição do espaço-tempo.

Pausa.

— Talvez devêssemos começar a colocar nomes nos botões.

TI aprendeu a mesma lição.

Ou deveria.


📣 “Alguém pode verificar?”

Essa frase aparece muito em chats operacionais:

“Alguém consegue verificar CICS?”

Cinco pessoas leem.

Ninguém responde.

Melhor:

“Carlos, consegue verificar CICS e retornar em 10 minutos?”

Agora temos:

responsável;

atividade;

expectativa.

Se Carlos não puder:

— Não consigo. Maria assume?

Responsabilidade transferida explicitamente.


🏃 O bastão precisa ser entregue

Imagine corrida de revezamento.

Não basta:

“Acho que o próximo corredor sabe que deve correr.”

Existe entrega do bastão.

Em incidentes deveria ser semelhante:

OWNER: CARLOS
        ↓
HANDOFF
        ↓
OWNER: MARIA

Nunca:

CARLOS
   ↓
“PESSOAL”
   ↓
???

O ??? é onde incidentes moram.


🔁 Handoff é uma transação

Para um programador COBOL, pense como uma transação.

Transferência de responsabilidade deveria possuir confirmação.

CARLOS:
“Maria, transfiro análise de MQ para você.”

MARIA:
“Recebido. Assumo MQ.”

Commit.

Sem confirmação:

rollback psicológico.

Ninguém sabe quem possui.


🧠 Two Generals Problem corporativo

Em sistemas distribuídos existe toda uma discussão sobre confirmação e coordenação.

Na organização temos versão humana:

Pessoa A:

“Mandei mensagem.”

Pessoa B:

“Não vi.”

Pessoa A:

“Mas mandei.”

Tecnicamente:

mensagem transmitida.

Operacionalmente:

responsabilidade não assumida.

Por isso acknowledgement importa.


✅ ACK novamente

No capítulo de Alarm Fatigue aprendemos:

ACK ≠ RESOLVED

Agora adicionamos:

DELIVERED ≠ OWNED

E:

READ ≠ ACTION

Essas três inequações deveriam estar na parede da War Room.


🧀 Diffusion of Responsibility encontra o Swiss Cheese

Uma fatia importante de segurança é:

resposta humana.

Monitor detecta.

Equipe recebe.

Parece barreira robusta.

Mas:

ninguém possui ownership.

Temos um buraco.

Pior.

Todos acreditam que a barreira existe.

Isso produz falsa confiança.


🚨 Alarm Fatigue + Diffusion of Responsibility

Agora os dois monstros se encontram.

Quatro mil alertas.

Todos enviados para vinte pessoas.

Cada pessoa pensa:

alguém pegará os importantes.

Perfeito.

Temos ruído distribuído para responsabilidade distribuída.

O verdadeiro alerta entra.

E desaparece.


🤖 Automation Bias + Diffusion of Responsibility

Sistema automático cria ticket.

Ótimo.

Ticket entra numa fila geral.

Todos confiam:

sistema direcionará corretamente.

Mas regra de roteamento está errada.

Ticket permanece sem owner.

Como foi criado automaticamente, todos assumem que o processo automático também garantiu tratamento.

Não garantiu.

Automação aumentou sensação de segurança.

Ownership continuou vazio.


👥 Groupthink também aparece

Equipe inteira vê ninguém reagindo.

Cada pessoa interpreta silêncio como:

provavelmente não é grave.

Esse mecanismo é próximo daquilo que psicólogos chamam de pluralistic ignorance.

Cada pessoa observa a ausência de reação das outras e usa isso como informação.

Internamente:

“Estou preocupado.”

Externamente:

ninguém age.

Então todos concluem:

“Talvez eu esteja exagerando.”

Agora o silêncio se autoalimenta.


😐 Pluralistic Ignorance

Imagine oito pessoas numa sala.

Todas sentem cheiro estranho.

Cada uma olha para as outras.

Ninguém reage.

Cada uma pensa:

“Se fosse perigoso, alguém estaria preocupado.”

Mas todos estão preocupados.

Fantástico.

Agora troque cheiro por:

QUEUE DEPTH +400%

War Room:

ninguém fala.

Mesmo mecanismo.


⚓ Anchoring Bias pode definir o dono errado

Primeiro chamado diz:

“Problema de rede.”

Todos:

— Network team cuidará.

A rede pensa:

— Não é nossa.

Mas ninguém realoca formalmente.

Agora incidente fica órfão.

O título inicial ancorou não apenas diagnóstico.

Ancorou ownership.


🪜 Authority Gradient e responsabilidade

Júnior percebe:

— Ninguém está olhando isso.

Mas pensa:

“O gerente certamente sabe.”

Ou:

“O Incident Commander já deve ter atribuído.”

Não pergunta.

Authority Gradient transforma dúvida em silêncio.


▶️ Plan Continuation Bias

Mudança em andamento.

Alerta surge.

Todos assumem que “alguém da validação” está analisando.

Ninguém interrompe plano.

Continua.

Mais um exemplo de como nossos monstros cooperam.


🌀 Drift Into Failure

Difusão de responsabilidade também pode se tornar estrutural ao longo do tempo.

Equipe pequena:

ownership claro.

Empresa cresce.

Mais times.

Mais fornecedores.

Mais camadas.

Agora:

Aplicação.

Plataforma.

Infra.

Cloud.

Mainframe.

Middleware.

Rede.

Segurança.

Fornecedor A.

Fornecedor B.

Quem é dono do fluxo ponta a ponta?

Resposta:

depende.

Essa resposta merece investigação.


🕸️ Complexidade organizacional cria fronteiras

Muitos incidentes vivem nas interfaces.

Time A:

meu componente está verde.

Time B:

o meu também.

Time C:

idem.

Usuário:

não funciona.

Cada equipe possui parte.

Ninguém possui jornada completa.

Isso é perigoso.


🗺️ Component Ownership versus Service Ownership

Você pode possuir:

CICS.

Db2.

MQ.

API.

Mas quem possui:

Pagamento do cliente?

Isso é diferente.

Serviços ponta a ponta precisam de responsabilidade além de componentes.

Caso contrário:

todos os componentes verdes.

Cliente vermelho.


💻 O COBOL está funcionando!

Programador:

— Meu programa retornou RC=00.

DBA:

— Db2 normal.

MQ:

— Mensagem entregue.

API:

— HTTP 200.

Cliente:

— Dinheiro não chegou.

Cada profissional está correto localmente.

O sistema está errado globalmente.

Drift Into Failure nos ensinou sobre racionalidade local.

Diffusion of Responsibility acrescenta:

ninguém pode estar olhando o todo.


🧠 O problema dos silos

Silos organizacionais não são apenas problema burocrático.

São risco técnico.

Quanto mais fragmentado:

mais handoffs;

mais fronteiras;

mais possibilidade de:

“não é comigo.”

Essa frase deveria ser tratada como evento operacional.


🚪 “Not my problem”

Às vezes realmente não é responsabilidade daquele time.

Tudo bem.

Mas resposta madura não é:

“Não é nosso.”

É:

“Não é nosso componente. Estou transferindo para X e confirmando que assumiram.”

O incidente precisa sair de uma mão e chegar a outra.

Não cair no chão.


🏷️ Incident Commander

É exatamente por isso que o papel de Incident Commander pode ser tão útil.

Não precisa ser o maior especialista técnico.

Sua função é garantir:

quem investiga o quê;

quem possui a próxima ação;

qual prazo;

qual hipótese;

qual decisão;

qual escalonamento.

Ou seja:

o Incident Commander combate difusão de responsabilidade.


🎬 War Room sem direção

Imagine:

15 especialistas falando.

Cada um executa alguma coisa.

Mas ninguém sabe:

quem decide;

quem registra;

quem atualiza;

quem comunica;

quem acompanha ação.

Isso não é equipe.

É multiplayer sem party leader.

E o boss está batendo.


🎮 Easter Egg nº 2 — Raid de RPG

Imagine uma raid.

Tank pensa:

healer vai puxar.

Healer pensa:

tank vai puxar.

DPS já começou.

Boss acorda.

Raid wipe.

No post-mortem:

“Quem puxou?”

Resposta:

“Ninguém.”

TI às vezes consegue reproduzir MMORPG com orçamento corporativo.


🧪 RACI pode ajudar — mas não salvar sozinho

Uma ferramenta conhecida:

RACI

Responsible.

Accountable.

Consulted.

Informed.

Pode ser útil para esclarecer funções.

Exemplo:

INCIDENTE DE PAGAMENTO

Responsible:
Payments Operations

Accountable:
Payments Manager

Consulted:
DB2, MQ, CICS

Informed:
Business, Service Desk

Muito melhor que:

todos envolvidos.

Mas cuidado.

Matriz no SharePoint não resolve automaticamente cultura.

Precisa refletir trabalho real.


🧠 Responsible versus Accountable

Uma distinção útil:

Responsible

faz o trabalho.

Accountable

responde pelo resultado e garante que exista dono.

Em incidentes críticos, alguém precisa possuir accountability.

Não necessariamente executar tudo.


📝 Single Threaded Owner

Outra ideia muito útil:

uma pessoa claramente responsável pela coordenação do problema.

Mesmo com dezenas de especialistas.

Não significa centralizar conhecimento.

Significa centralizar ownership.


🎯 Pergunta Bellacosa nº 1

Quando surgir incidente:

“Quem é o dono?”

Se resposta:

“A equipe.”

Pergunte novamente.

“Qual pessoa está coordenando?”

Nome.


🎯 Pergunta Bellacosa nº 2

Para cada atividade:

“Quem vai fazer e quando retorna?”

Não:

“Precisamos verificar MQ.”

Mas:

“Carlos verifica MQ e retorna às 09:30.”

Agora existe ação.


🎯 Pergunta Bellacosa nº 3

Depois de handoff:

“A outra pessoa confirmou que assumiu?”

Se não:

a responsabilidade ainda é sua.

Essa regra pode evitar muita coisa.


🎯 Pergunta Bellacosa nº 4

Quando dez pessoas recebem alerta:

“Quem precisa acordar por causa dele?”

Se ninguém:

talvez o alerta seja informativo.

Se alguém:

roteie diretamente.


🔔 Notifications devem refletir papéis

Nem todo mundo precisa pager.

Talvez:

Owner:

pager.

Especialistas:

Teams.

Gestão:

status periódico.

Usuários:

comunicação de impacto.

Um sistema que manda a mesma mensagem para todos não está necessariamente comunicando bem.


🧠 Broadcast cria espectadores

Quanto mais amplo o broadcast:

mais pessoas informadas.

Mas também pode criar:

mais espectadores passivos.

Se precisar de ação:

atribua.


🔥 Incêndio corporativo

Imagine prédio pegando fogo.

Mensagem:

“Pessoal, alguém chama os bombeiros?”

Você ficaria tranquilo?

Melhor:

“Maria, ligue para emergência. Carlos, evacue o andar. João, confirme.”

Incidentes precisam dessa clareza.


🛑 Role Assignment nos primeiros minutos

Uma War Room madura deveria rapidamente definir algo como:

INCIDENT COMMANDER: ANA

TECH LEAD: CARLOS

COMMS: JULIANA

SCRIBE: PEDRO

DB2: MARIA

MQ: ROBERTO

APPLICATION: LUCAS

Agora ninguém pergunta:

“Achei que alguém estava anotando.”

Temos Pedro.

Pobre Pedro.

Mas necessário.


✍️ O Scribe é mais importante do que parece

Durante crise:

ações acontecem rápido.

Sem registro:

hipóteses repetidas;

decisões esquecidas;

comandos duplicados;

handoffs confusos.

Scribe preserva memória coletiva.

Isso reduz difusão cognitiva.


📜 Decision Log novamente

09:13
Carlos assume MQ.

09:16
MQ channel healthy.

09:18
Maria verifica DB2 waits.

09:22
DB2 normal.

09:24
Hipótese muda para consumer.

Agora todo mundo sabe.


🚧 Evite investigação duplicada

Difusão de responsabilidade tem um primo estranho:

às vezes ninguém faz.

Outras vezes cinco pessoas fazem a mesma coisa.

Porque ninguém coordenou.

Resultado:

DBA investigado cinco vezes.

MQ ninguém olhou.

Ownership também evita duplicação.


🧮 Paralelismo precisa ser controlado

Mainframeiro entende paralelismo.

Você quer tarefas independentes.

THREAD A → DB2
THREAD B → MQ
THREAD C → APPLICATION

Não:

THREAD A → DB2
THREAD B → DB2
THREAD C → DB2
MQ → NINGUÉM

War Room também precisa scheduling.


📊 Action Board

Uma ferramenta incrivelmente simples:

AÇÃO             OWNER      PRAZO    STATUS
MQ consumer      Carlos     09:30    RUNNING
DB2 wait         Maria      09:28    DONE
App logs         João       09:32    RUNNING
Comms negócio    Ana        09:35    OPEN

Acaba com boa parte da ambiguidade.


🧠 “Eu achei que...”

Uma frase favorita dos post-mortems:

“Eu achei que fulano estava fazendo.”

Alarmes.

Backups.

Validação.

Rollback.

Comunicação.

Esses “achei” são ouro investigativo.

Pergunte:

Por que o sistema permitiu que uma atividade crítica dependesse de suposição?


💾 Backup: o clássico

Todo mundo acredita:

infraestrutura faz backup.

Infra acredita:

aplicação valida restore.

Aplicação acredita:

backup é responsabilidade da infra.

Incidente.

Backup existe.

Restore nunca testado.

Diffusion of Responsibility mora feliz.


🔐 Segurança

Alerta de vulnerabilidade.

Security envia para aplicação.

Aplicação pensa:

plataforma corrigirá.

Plataforma:

código é aplicação.

90 dias depois:

continua aberto.

CVSS não liga para organograma.


🏦 Reconciliação financeira

Operação:

negócio valida valores.

Negócio:

TI valida processamento.

TI:

reconciliação é automática.

Automação:

erro.

Quem percebe?

Talvez o cliente.

Nunca faça do cliente seu mecanismo de observabilidade.


🧠 Customer as Monitor

Existe um anti-pattern terrível:

“Se der problema, usuário reclama.”

Isso significa:

cliente virou sistema de alerta.

Alarm Fatigue agradece.

Automation Bias agradece.

Diffusion of Responsibility também.


🤖 Agentes de IA e responsabilidade

Agora fica interessante.

Imagine múltiplos agentes:

Agent A analisa.

Agent B executa.

Agent C valida.

Quem é responsável pelo resultado?

Não diga:

“o agente.”

Responsabilidade organizacional continua humana.

Precisamos saber:

quem configurou;

quem autorizou;

quem monitora;

quem pode interromper;

quem responde por exceção.


🤖 Multi-Agent Diffusion

Agentes também podem criar versão tecnológica:

Agent A:

deleguei para B.

B:

classifiquei como responsabilidade de C.

C:

aguardando entrada de A.

Loop.

Nenhum humano percebe.

Então sistemas multiagentes precisam:

ownership;

state;

timeouts;

escalation;

orchestrator.

Viu como nossa teoria volta aos agentes?


🧭 Orchestrator como Incident Commander

Num sistema agentic:

orquestrador precisa saber:

quem está fazendo;

qual status;

quando expira;

quando escalar.

Exatamente como War Room.

Tecnologia muda.

Coordenação continua sendo coordenação.


⏰ Timeout de responsabilidade

Uma tarefa não deveria ficar eternamente:

STATUS: ASSIGNED

Sem resposta.

Defina timeout.

ACK REQUIRED: 5 MIN
ACTION UPDATE: 15 MIN
ESCALATE: 20 MIN

Responsabilidade precisa de relógio.


🧠 Escalation não é punição

Escalar significa:

a condição exige mais atenção.

Não:

alguém falhou moralmente.

Se escalonamento vira punição, pessoas escondem atraso.

Just Culture novamente.


🧪 Passo a passo para combater Diffusion of Responsibility

Passo 1 — Todo incidente precisa de owner

Uma pessoa.

Nome.

Não “time”.


Passo 2 — Toda ação precisa de owner

“Verificar banco”

não é ação completa.

Use:

“Maria verifica Db2 até 09:30.”

Passo 3 — Exija ACK

Assignment sem confirmação não terminou.


Passo 4 — Defina tempo

Responsabilidade sem deadline pode evaporar.


Passo 5 — Crie escalation path

Se owner não responde:

quem recebe?


Passo 6 — Separe FYI de ACTION REQUIRED

No assunto.

Na ferramenta.

Na cultura.


Passo 7 — Use Incident Commander

Principalmente em incidentes grandes.


Passo 8 — Registre handoffs

Não confie em memória.


Passo 9 — Audite filas sem owner

Tickets.

Alertas.

Vulnerabilidades.

Problemas.

Tudo que não possui dono é dívida operacional.


Passo 10 — Investigue “achei que alguém”

Toda vez que essa frase aparece no post-mortem, existe oportunidade de melhorar processo.


📬 FYI versus ACTION REQUIRED

Uma disciplina simples.

FYI:
Informação.

ACTION:
Pessoa específica precisa fazer algo.

Não misture.

Se tudo pede ação:

Alarm Fatigue.

Se nada especifica ação:

Diffusion of Responsibility.


🎯 O equilíbrio

Boa operação precisa de:

informação suficiente;

responsabilidade específica.

VISIBILIDADE AMPLA
+
OWNERSHIP CLARO
=
COORDENAÇÃO

Não precisamos esconder informação.

Precisamos evitar ambiguidade.


🧠 Dunbar não salva a War Room

Adicionar pessoas não aumenta indefinidamente capacidade.

Às vezes mais gente significa:

mais canais;

mais conversas;

mais suposições;

mais handoffs.

Existe custo de coordenação.

Um incidente com 50 pessoas pode ser mais difícil que com 10 especialistas bem organizados.


🚪 War Room precisa de porta

Nem todo mundo precisa falar.

Alguns podem acompanhar.

Roles:

core responders;

SMEs sob demanda;

stakeholders informados.

Isso reduz ruído.


🧠 Incident Command System

Estruturas de comando em emergência existem por uma razão:

quando tudo fica caótico, funções precisam ficar mais claras, não menos.

Tecnologia às vezes tenta resolver crise colocando cinquenta especialistas numa call.

Não é necessariamente coordenação.

Pode ser apenas Zoom cheio.


👻 Easter Egg nº 3 — 50 pessoas no Teams

War Room:

“Participants: 57”

Doctor:

— Quem está coordenando?

— Não sei.

— Quem está investigando MQ?

— Acho que alguém.

— Quem comunica usuários?

— Deve ter alguém.

Doctor:

— Então por que temos 57 pessoas?

Silêncio.

— Ah.

— O quê?

— Vocês estão usando quantidade como substituto de estrutura.


🧩 Diffusion of Responsibility no code review

PR com 12 reviewers.

Cada um pensa:

alguém fará review profundo.

Resultado:

12 approvals superficiais.

Compare com:

PRIMARY REVIEWER: Maria
SECURITY REVIEWER: Carlos
DB REVIEWER: Ana

Funções claras.


🧪 Testes

“Equipe é responsável pelos testes.”

Quem escreve?

Quem valida?

Quem dá sign-off?

Se ninguém sabe:

todo mundo pode acreditar que outra pessoa cobriu determinado cenário.


📚 Documentação

“Precisamos documentar.”

Todo mundo concorda.

Seis meses depois:

nenhum documento.

Por quê?

Porque tarefas coletivas abstratas não executam a si mesmas.

OWNER: João
DUE: sexta

A mágica administrativa.


🧠 Shared Responsibility precisa de fronteiras claras

Cloud popularizou expressão:

shared responsibility.

Importante.

Mas responsabilidade compartilhada não significa responsabilidade ambígua.

Precisamos saber:

provedor faz X.

cliente faz Y.

integração faz Z.

Toda fronteira precisa estar explícita.


☁️ “Achei que a cloud fazia backup”

Clássico.

Serviço fornece mecanismo.

Cliente precisa configurar.

Cliente pensa:

provider faz.

Incidente.

Surpresa.

Shared Responsibility mal compreendida vira Diffusion of Responsibility contratual.


🧠 Psychological Ownership

Quando alguém diz:

“Esse serviço é meu.”

normalmente presta mais atenção.

Isso é ownership psicológico.

Organizações maduras desenvolvem isso sem criar feudos.

Você quer:

“Eu cuido.”

Não:

“Só eu mexo.”


🚧 Ownership não pode virar silo

Cuidado.

Combater Diffusion of Responsibility não significa criar:

“Esse problema é seu, me deixa fora.”

Owner coordena.

Especialistas colaboram.

Responsabilidade clara + conhecimento distribuído.

Essa é a meta.


👨‍💻 Dica Bellacosa para o COBOL iniciante

Você encontra problema.

Manda no grupo:

“Pessoal, achei algo estranho.”

Não pare aí.

Se ninguém responder:

follow-up.

“Maria, você é owner dessa rotina? Posso abrir incidente e acompanhar?”

Ou assuma temporariamente:

“Vou iniciar análise e preciso de alguém de Db2.”

Não deixe descoberta importante evaporar em chat.


📢 Speak Up + Take Ownership

No Authority Gradient aprendemos a falar.

Agora precisamos aprender o próximo passo:

“Eu vi.”

não basta.

Talvez seja necessário:

“Eu assumo até transferir formalmente.”

Essa é uma poderosa mentalidade operacional.


🧠 Mas cuidado com heroísmo

Não queremos que uma pessoa assuma tudo.

Isso nos leva ao problema de heróis.

Owner não significa:

executar 27 tarefas.

Significa garantir que 27 tarefas possuam donos.

Essa diferença protege pessoas e sistemas.


🦸 Incident Commander não é Superman

Ele não resolve tudo.

Ele impede:

coisas esquecidas;

duplicação;

contradição;

responsabilidade órfã.

Orquestra.

Como JES para humanos.


😄 JES humano

Agora temos talvez um conceito digno do Bellacosa Mainframe:

Incident Commander é o JES da War Room.

Jobs chegam.

Prioridades.

Owners.

Estados.

Dependências.

O JES não executa o COBOL.

Coordena processamento.

Incident Commander também.

Há um Easter Egg mainframeiro que merecia existir.


🔄 Handoff de turno

Diffusion of Responsibility fica especialmente perigosa em mudança de turno.

Turno A:

turno B continuará.

Turno B:

achei que A tivesse encerrado.

Portanto handover precisa ser formal.


📋 Handover mínimo

INCIDENT:
INC-1234

CURRENT OWNER:
Ana

CURRENT STATE:
Queue stabilized, root cause open.

OPEN ACTIONS:
Carlos → consumer logs
Maria → reconciliation

NEXT DECISION:
10:30

RISKS:
Backlog remains.

Agora turno seguinte entra com contexto.


🕰️ Temporal Diffusion of Responsibility

Existe até uma versão temporal interessante:

“Amanhã resolvemos.”

Quem é amanhã?

Pessoas mudam.

Prioridades mudam.

Se tarefa futura não possui owner e deadline:

pode nunca existir.


🗃️ Backlog é cemitério de responsabilidades?

Pode ser.

Ações de post-mortem:

Improve monitoring.
Review process.
Update documentation.

Quem?

Quando?

Sem owner:

são desejos.

Não ações.


🔁 Melhoria contínua exige owner

Todo action item deveria ter:

ACTION
OWNER
DATE
SUCCESS CRITERIA
EVIDENCE

Caso contrário:

post-mortem produz PowerPoint.

Não melhoria.


🧠 Accountability sem blame

Precisamos distinguir.

Accountability:

responsabilidade clara pelo acompanhamento.

Blame:

busca simplista de culpado.

Você pode ter cultura blameless e ownership forte.

Aliás, deveria.

Blameless não significa:

ninguém é responsável.

Significa:

responsabilidade serve para coordenar e aprender, não para simplificar causas sistêmicas.


🧀 A fatia “ownership”

Vamos adicionar ao Swiss Cheese:

FATIA:
CLEAR OWNERSHIP

Buracos:

responsável desconhecido;

handoff incompleto;

alerta genérico;

on-call desatualizado;

equipe errada;

escalation inexistente.

Agora podemos fortalecer essa barreira.


🔍 Métricas interessantes

Meça:

alertas sem ACK;

tickets sem owner;

tempo até ownership;

handoffs falhos;

ações vencidas;

incidentes sem Incident Commander;

vulnerabilidades órfãs.

São indicadores organizacionais.


⏱️ Time to Ownership

Todo mundo mede:

MTTD — Mean Time to Detect.

MTTR — Mean Time to Restore.

Talvez devêssemos observar:

Time to Ownership

Quanto tempo entre:

problema detectado;

alguém claramente assumir?

Esse intervalo pode ser crítico.


📊 Exemplo

09:01 Alert
09:23 Owner assigned

22 minutos.

Talvez investigação técnica tenha durado apenas 10.

Então metade do incidente foi:

ninguém assumindo.

Descoberta valiosa.


🎯 Pergunta pós-incidente

Não pergunte apenas:

“Quando detectamos?”

Pergunte:

“Quando alguém assumiu responsabilidade explícita?”

Às vezes as respostas são muito diferentes.


🔬 RCA organizacional

Timeline:

09:01 alert generated
09:02 sent to distribution list
09:05 seen by operations
09:07 seen by application
09:12 second alert
09:19 user impact
09:22 someone asks who is checking
09:25 owner assigned

Root cause técnico:

consumer failed.

Contributing factor:

22 minutos sem owner.

Isso produz ação concreta:

melhorar roteamento e ownership.


🧠 Hindsight Bias retorna

Depois:

— Como ninguém fez nada?

Cuidado.

Talvez cada pessoa racionalmente acreditasse que outra era responsável.

Não basta dizer:

“Todos deveriam agir.”

Isso perpetua ambiguidade.

Melhor:

“Nosso design de ownership permitiu que todos acreditassem que outro agiria.”

Agora podemos corrigir.


🌀 Drift Into Failure retorna

Talvez antigamente houvesse um operador claramente responsável.

Depois reorganizações.

Outsourcing.

Novo fornecedor.

Cloud.

Novos times.

Responsabilidade ficou fragmentada.

Não houve decisão:

“Vamos perder ownership.”

A organização derivou.

Lembra?

Nossos monstros estão cada vez mais interligados.


🧬 Regeneração organizacional

Como regenerar após encontrar Diffusion of Responsibility?

Primeiro:

identifique serviços críticos.

Depois:

owner explícito.

On-call.

Escalation.

ACK.

Incident Commander.

Action board.

Handoffs formais.

Post-mortem actions com dono.

E principalmente:

ensine uma regra simples:

uma responsabilidade não foi transferida até que a próxima pessoa tenha aceitado.

Isso muda muita coisa.


📋 Checklist anti-Diffusion

Durante incidente:

[ ] Existe Incident Commander?

[ ] Existe owner técnico?

[ ] Cada ação possui uma pessoa?

[ ] Cada ação possui prazo?

[ ] Handoffs foram confirmados?

[ ] Alertas têm owner definido?

[ ] Existe escalation path?

[ ] FYI está separado de ACTION?

[ ] Alguém está registrando decisões?

[ ] Existe alguma tarefa que “todo mundo” deveria fazer?

[ ] Algum item está sem nome ao lado?

Se aparecer:

OWNER: ALL

talvez devêssemos conversar.


📓 Diário do Doctor

Se guardar apenas algumas ideias desta viagem, guarde estas:

Diffusion of Responsibility acontece quando várias pessoas presentes reduzem a sensação individual de responsabilidade para agir.

Informar não é atribuir responsabilidade.

Entregue não significa assumido.

Lido não significa tratado.

Todo incidente precisa de owner claro.

Toda ação precisa de pessoa e prazo.

Handoffs precisam de confirmação.

Broadcast amplo pode produzir espectadores.

Incident Commander reduz ambiguidade.

Responsabilidade clara é compatível com cultura blameless.

Silos tornam incidentes ponta a ponta especialmente vulneráveis.

E principalmente:

Se a resposta para “quem está cuidando?” é “alguém”, existe uma chance perigosamente grande de que a resposta real seja “ninguém”.


🕰️ De volta às 09:01

A TARDIS retorna.

VWORP.

O alerta acaba de chegar:

PAYMENT QUEUE DEPTH > THRESHOLD

Vinte e três pessoas recebem.

Nosso programador olha.

Desta vez não pensa:

“Alguém vai olhar.”

Escreve:

“Estou assumindo triagem inicial do alerta de PAYMENT QUEUE. Preciso de suporte MQ.”

Carlos responde:

“Assumo MQ.”

Maria:

“Fico com consumer.”

Incident Commander entra:

OWNER: JOÃO

MQ: CARLOS

CONSUMER: MARIA

NEXT UPDATE: 09:10

09:05.

Consumer parado.

09:07.

Causa identificada.

09:09.

Serviço restaurado.

Fila começa a cair.

Nenhum cliente percebe.

O gerente pergunta:

— Foi grave?

Nosso programador responde:

— Poderia ter sido.

— O que mudou?

Ele olha para o quadro.

Cada atividade possui um nome.

— Dessa vez ninguém ficou esperando “alguém”.

O Doctor sorri.

— Excelente.

— Isso foi tudo?

— Quase.

— O que falta?

O Doctor aponta para o post-mortem.

— Descobrir por que vocês precisaram de sorte nas vezes anteriores.

Naturalmente.


🥚 Easter Egg final

Horas depois aparece um dataset:

BELLACOSA.INCIDENTS(WHO)

Dentro:

       IF OWNER = SPACES
           MOVE 'DANGER' TO SYSTEM-STATUS
       END-IF.

       IF OWNER = 'EVERYONE'
           MOVE 'NO-ONE' TO EFFECTIVE-OWNER
       END-IF.

       IF RESPONSIBILITY-TRANSFERRED
           PERFORM WAIT-FOR-ACK
       END-IF.

Comentário:

* SOMEBODY IS NOT A VALID USERID.

Nosso programador ri.

Outra linha:

* ASSIGN THE COMPANION.

Depois:

* BAD WOLF ACKNOWLEDGED.

E finalmente:

* DON'T ASK WHO COULD DO IT.
* ASK WHO WILL.

Ele fecha o membro.

Pouco depois chega um email:

“Pessoal, precisamos atualizar a documentação até sexta. Alguém consegue cuidar?”

Nosso programador olha.

Quarenta destinatários.

Sorri.

Responde:

“Posso assumir. Entrego uma primeira versão quinta às 15h. Carlos, consegue revisar depois?”

Carlos:

“Confirmado.”

Nada explodiu.

Nenhuma fila cresceu.

Nenhum pagamento falhou.

Mas alguma coisa mudou.

A responsabilidade deixou de ser uma nuvem.

Virou nome.

Prazo.

Confirmação.

Em algum lugar do espaço-tempo:

VWORP.

VWORP.

VWORP.

Porque o Doctor talvez tenha finalmente descoberto o maior inimigo de “alguém”:

uma pessoa claramente responsável.

☕🌀

Next stop: Normalcy Bias — quando o desastre já começou, os sinais estão diante de nós, mas nosso cérebro continua insistindo que provavelmente tudo voltará ao normal sozinho.

 

sexta-feira, 10 de dezembro de 2010

O Mapa Virou Itália, os Italianos Ainda Não — o MERGE de 1861 e o século necessário para convencer napolitanos, sicilianos, venezianos e lombardos de que pertenciam ao mesmo sistema

 

Bellacosa Mainframe e o mapa virou italia e os italianos ainda nao

☕ Um Café no Bellacosa Mainframe

O Mapa Virou Itália, os Italianos Ainda Não — o MERGE de 1861 e o século necessário para convencer napolitanos, sicilianos, venezianos e lombardos de que pertenciam ao mesmo sistema

🇮🇹 Garibaldi conquistou reinos, Cavour negociou territórios e Vittorio Emanuele II ganhou uma coroa. A parte fácil estava terminada: desenhar a Itália no mapa. Agora começava o problema realmente complicado — instalar a Itália dentro dos italianos.

Em algum momento de 1861, alguém poderia abrir um mapa político da Europa, apontar para aquela velha bota no Mediterrâneo e anunciar:

“Pronto. Itália.”

Finalmente.

Depois de romanos, ostrogodos, bizantinos, lombardos, francos, normandos, alemães, espanhóis, franceses, austríacos, papas, duques, príncipes, reis, repúblicas, cidades-Estado e uma quantidade obscena de guerras, casamentos dinásticos e tratados...

MERGE INTO EUROPA AS E
USING RISORGIMENTO AS R
ON E.PENINSULA = R.ITALIA
WHEN MATCHED THEN
    UPDATE SET COUNTRY = 'ITALIA';

1 ROW AFFECTED.

Fantástico.

Só havia um pequeno problema.

Aquela ROW continha milhões de pessoas.

E elas não necessariamente haviam recebido o memorando.

Porque é relativamente simples mudar a cor de um território num mapa.

Muito mais complicado é convencer alguém nascido napolitano de que agora é italiano.

Convencer um veneziano.

Um siciliano.

Um piemontês.

Um lombardo.

Um toscano.

Um romano.

E, pior:

convencê-los de que todos pertencem à mesma coisa.

Pegue o café.

O MERGE terminou.

Agora começa a migração de dados.


🇮🇹 “Fizemos a Itália. Agora precisamos fazer os italianos.”

Existe uma frase famosíssima associada ao político e escritor Massimo d'Azeglio, geralmente condensada como:

“Fatta l'Italia, bisogna fare gli italiani.”

“Feita a Itália, é preciso fazer os italianos.”

A formulação exata e sua transmissão histórica merecem cuidado, mas a ideia captura magnificamente o problema.

Em 17 de março de 1861, foi proclamado o Reino da Itália.

Vittorio Emanuele II tornou-se rei.

Excelente.

Mas aquilo não significava que, na manhã de 18 de março, milhões de habitantes acordaram, abriram as janelas e gritaram:

BUONGIORNO! FINALMENTE SOU ITALIANO!

🤣

Identidade não funciona como atualização automática do Windows.

ITALY UPDATE AVAILABLE

[ INSTALL NOW ]

Estimated installation time:
100 years

🗺️ Primeiro erro: imaginar que não existia Itália antes de 1861

Precisamos evitar uma simplificação.

Itália como conceito não nasceu em 1861.

A palavra e a ideia geográfica possuem raízes antiquíssimas.

Durante séculos houve intelectuais pensando a península como alguma forma de unidade cultural ou geográfica.

Dante podia falar da Itália.

Petrarca podia falar da Itália.

Maquiavel podia imaginar problemas políticos italianos.

Muito antes de existir um Estado italiano moderno.

Portanto:

ITALIA_GEOGRAFICA       = OLD
ITALIA_CULTURAL         = OLD
ITALIA_POLITICAL_STATE  = 1861

É justamente essa diferença que torna tudo interessante.

Você podia perfeitamente compreender que vivia na Itália e simultaneamente possuir lealdade política a Veneza, Toscana, Nápoles ou ao papa.

Mais ou menos como alguém pode dizer hoje:

“Sou europeu.”

sem deixar de ser português, espanhol ou italiano.


🧩 A península era um mosaico, não um vazio esperando unificação

Nossa cabeça moderna comete outra pequena fraude.

Pegamos o mapa atual:

🇮🇹

voltamos para 1750 e pensamos:

“Olha a Itália dividida.”

Mas um napolitano de 1750 talvez não pensasse:

“Que pena que meu pedaço da Itália ainda não foi reunificado.”

Ele vivia dentro de uma realidade política própria.

Havia governos.

Leis.

Tribunais.

Exércitos.

Moedas.

Alfândegas.

Elites.

Instituições religiosas.

Identidades locais.

Tradições.

Dialetos e línguas.

Relações econômicas.

Memórias coletivas.

Você não estava olhando para um quebra-cabeça desmontado que obviamente desejava tornar-se Itália.

Estava olhando para sistemas políticos reais.


👑 E um deles era enorme: o Reino das Duas Sicílias

Aqui nosso café começa a ficar particularmente interessante.

Porque quando olhamos o sul antes da unificação, encontramos o Reino das Duas Sicílias.

Nápoles.

Sicília.

Grande parte do Mezzogiorno.

Milhões de habitantes.

Uma corte.

Administração.

Exército.

Marinha.

Burocracia.

Igreja profundamente inserida na sociedade.

Elites locais.

Funcionários públicos.

Proprietários.

Comerciantes.

Camponeses.

Era governado pela dinastia Bourbon.

Hoje sabemos o final.

Garibaldi chega.

O reino cai.

O território entra no processo de unificação.

Mas retire essa informação.

Imagine-se vivendo em 1855.

Você não sabe que faltam poucos anos para tudo aquilo desaparecer.

Seu mundo não possui uma pequena legenda:

WARNING:
THIS KINGDOM WILL BE DEPRECATED IN 1861.

Para você aquilo é simplesmente...

o país.


🧠 E aqui entra a diferença entre história vista de cima e história vista de baixo

A história vista de cima diz:

“Em 1860 Garibaldi realizou a Expedição dos Mil, conquistou a Sicília, avançou pelo sul e entregou seus territórios a Vittorio Emanuele II.”

Correto.

Agora desça para a rua.

Um funcionário da administração Bourbon acorda.

Seu governo desapareceu.

Um militar precisa decidir a quem deve lealdade.

Um padre observa a relação entre o novo Estado e a Igreja.

Um proprietário tenta entender o que acontecerá com seus interesses.

Um camponês pergunta se alguma coisa realmente melhorará.

Uma família ligada ao antigo regime começa a avaliar sua posição.

Um comerciante tenta descobrir quais impostos, moedas, tarifas e regras valerão amanhã.

Esse é o Risorgimento visto do chão.

E provavelmente é muito mais confuso que a pintura heroica.


🔴 Entra Garibaldi — o deploy mais improvável do século XIX

Giuseppe Garibaldi parece personagem criado por alguém que achou a história italiana pouco movimentada.

Marinheiro.

Revolucionário.

Exilado.

Combatente na América do Sul.

Republicano.

Nacionalista.

General.

Camisa vermelha.

Barba cinematográfica.

E em 1860 parte com aproximadamente mil voluntários para atacar um reino com milhões de habitantes.

Qualquer gerente de projetos teria recusado.

PROJECT:
CONQUER SOUTHERN ITALY

RESOURCES:
~1000 GUYS

RISK:
YES

DEADLINE:
ASAP

PROJECT MANAGER:
GARIBALDI

PMO:
WHAT THE HELL?

🤣

E funciona.

Não porque mil homens magicamente derrotaram sozinhos toda a estrutura Bourbon, evidentemente.

Havia revoltas, apoios locais, fragilidades políticas e militares, deserções, interesses internacionais e uma conjuntura extraordinariamente favorável.

Mas a velocidade dos acontecimentos foi impressionante.

Sicília.

Continente.

Nápoles.

Garibaldi avança.


👑 E então o revolucionário encontra o rei

Aqui aparece uma das cenas mais deliciosamente contraditórias do Risorgimento.

Garibaldi possuía fortes convicções republicanas.

Mas compreendeu que a unificação naquele momento passaria pela monarquia piemontesa.

Então o revolucionário entrega politicamente suas conquistas a Vittorio Emanuele II.

É como desenvolver durante anos um projeto open source revolucionário e finalmente executar:

git merge garibaldi/revolution
        into savoy/monarchy

🤣

Conflitos?

Muitos.

Mas o MERGE acontece.


🇮🇹 1861: Itália 1.0

O Reino da Itália nasce.

Só que nem o mapa estava realmente terminado.

Veneza ainda não fazia parte do reino.

Roma ainda estava sob o poder temporal do papa e proteção francesa.

Portanto até:

ITALY = COMPLETE

precisava de um asterisco.

Veneza seria incorporada em 1866.

Roma em 1870.

E ainda permaneceriam disputas territoriais posteriores.

A Itália 1.0 nasceu com patches pendentes.


⛪ E existe um gigantesco problema chamado Papa

Imagine tentar construir uma identidade nacional italiana enquanto no centro geográfico e simbólico da península existe uma instituição dizendo:

“Calma lá.”

Os Estados Pontifícios haviam ocupado território durante séculos.

O papa não era apenas líder espiritual.

Era soberano temporal.

A unificação italiana progressivamente destruiu esse poder territorial.

Quando tropas italianas entraram em Roma em 1870, o problema não desapareceu.

Começou a chamada Questão Romana.

De um lado:

KINGDOM OF ITALY

Do outro:

PAPACY

E entre ambos milhões de pessoas que podiam simultaneamente sentir lealdade à nova nação e profunda fidelidade religiosa ao papa.

Para famílias fortemente ligadas à Igreja, isso não era discussão acadêmica.

Era uma mudança estrutural no mundo.


🏠 E aqui a história da família pode entrar — com etiquetas

É justamente aqui que uma memória familiar como a dos Bellacosa se torna fascinante.

Não como “prova” de uma tese nacional.

Mas como micro-história.

Na tradição familiar, os antepassados não se definiam simplesmente como italianos.

Eram lembrados como:

napolitanos.

Isso é perfeitamente coerente com a importância das identidades regionais no sul — mas a memória familiar, sozinha, não prova exatamente como cada ancestral se identificava politicamente em cada década.

Então colocamos etiquetas:

[D] DOCUMENTO
[T] TRADIÇÃO FAMILIAR
[H] HIPÓTESE
[C] CONTEXTO HISTÓRICO

E seguimos.


📜 [D] O documento

A pesquisa genealógica coloca Bellacosa na Campânia e permite reconstruir pessoas, lugares e relações familiares concretas.

Isso é documento.

Nomes.

Datas.

Casamentos.

Batismos.

Óbitos.

Localidades.

Esses são nossos registros de produção.

Eles dizem:

esta pessoa existiu aqui.

Mas não necessariamente dizem:

esta pessoa pensava isso.

Essa diferença é fundamental.


👪 [T] A tradição familiar

Depois existe aquilo que atravessa gerações oralmente.

“Nós éramos napolitanos.”

Essa frase é historicamente preciosa mesmo quando não conseguimos atribuí-la a um ancestral específico.

Porque famílias transmitem identidade de maneira diferente da burocracia.

O Estado pode registrar:

NATIONALITY = ITALIAN

A mesa de jantar continua dizendo:

WE = NAPOLITAN

Essas duas informações podem coexistir perfeitamente.


⛪ [D + T] A ligação com Igreja e administração

Na investigação familiar também aparecem elementos que sugerem relações dos Bellacosa com ambientes eclesiásticos e administrativos do antigo Reino de Nápoles/Duas Sicílias, embora cada vínculo precise ser demonstrado individualmente antes de construirmos uma narrativa causal ampla.

E aqui temos um exemplo particularmente interessante: Tommaso Bellacosa, que aparece nas fontes eclesiásticas como bispo de Cava e Sarno no século XIX.

Isso não demonstra automaticamente parentesco direto com um ramo brasileiro.

Sobrenome igual não é DNA.

Mas demonstra algo importante:

o nome Bellacosa estava presente em posições eclesiásticas relevantes naquele universo histórico.

É uma peça do cenário.

Não a solução do quebra-cabeça.


🏰 [H] E então surge a hipótese da ruptura

Aqui podemos formular cuidadosamente uma hipótese familiar:

se determinado ramo Bellacosa possuía ligações com instituições, propriedades, Igreja ou administração associadas à ordem anterior, a unificação poderia ter alterado seu ambiente social e político de maneira significativa.

Poderia.

Não:

“Garibaldi expulsou os Bellacosa.”

Isso seria afirmar muito mais do que os documentos permitem.

Mas:

“A transformação institucional do sul italiano fornece um contexto plausível para investigar por que determinados membros da família migraram posteriormente.”

Agora estamos fazendo história corretamente.


🚢 Porque emigrar também precisa de causa

Existe outra tentação genealógica:

ITALY
  ↓
POVERTY
  ↓
SHIP
  ↓
BRAZIL

Essa narrativa explica milhões de casos.

Mas não necessariamente todos.

A grande imigração italiana para o Brasil envolveu pobreza, crise agrária, crescimento demográfico, oportunidades econômicas, redes familiares e políticas de atração de trabalhadores.

Só que famílias emigravam por razões diferentes.

Algumas não eram miseráveis.

Algumas possuíam recursos.

Algumas viajavam por redes próprias.

Algumas tinham parentes esperando.

Algumas mudavam de continente porque possuíam capital suficiente para fazê-lo.


🔎 E às vezes o documento que não existe também fala

Sua pesquisa no Museu da Imigração produziu um daqueles momentos deliciosos da investigação histórica.

Você procurou os Bellacosa nos registros disponíveis de pessoas que passaram pelos mecanismos de acolhimento da imigração paulista.

Nada.

E recebeu de um técnico uma observação importante: famílias com recursos podiam realizar sua migração por outros circuitos e não necessariamente aparecer na documentação assistencial que você estava consultando.

Isso não prova qual rota Antonio Bellacosa utilizou.

Mas muda a pergunta.

Em vez de:

“Por que ele não está no livro?”

passamos para:

“Que outro circuito de entrada ele poderia ter utilizado?”

Rio de Janeiro?

Santos sem passagem pela hospedaria?

Rede familiar?

Hospedagem privada?

Outro porto?

Depois ferrovia?

Agora temos hipóteses testáveis.


🚂 E então aparece São Paulo

Aqui a história deixa de ser apenas italiana.

Antonio Bellacosa aparece no Brasil.

Casamento em 1896.

E há um detalhe que chama atenção:

o casamento na Sé de São Paulo.

Para um imigrante associado ao Brás, escolher uma igreja central e simbolicamente importante pode ser interessante.

Mas novamente:

FACT:
casamento ocorreu ali

HYPOTHESIS:
a escolha refletia status,
religiosidade ou intenção simbólica

Precisamos encontrar documentos complementares antes de executar:

HYPOTHESIS -> FACT

É exatamente aí que genealogia deixa de ser coleção de nomes e vira investigação histórica.


🏘️ Depois aparece propriedade

E a história fica ainda mais interessante quando entra uma notícia antiga que você encontrou mencionando Antonio Bellacosa comprando uma área próxima aos trilhos da Mooca, loteando-a, construindo casas e comercializando os imóveis.

Se o documento for recuperado e contextualizado, temos uma pista extraordinária.

Porque aquele imigrante deixa de ser apenas:

ANTONIO BELLACOSA
BORN: ITALY
MARRIED: BRAZIL

Ele passa a aparecer como agente econômico da expansão urbana paulistana.

A ferrovia.

Mooca.

Imigração.

Urbanização.

Loteamento.

Construção.

Capital.

Agora o homem começa a sair do formulário.


🤯 E veja o que aconteceu em apenas algumas gerações

É aqui que micro-história fica deliciosa.

Imagine uma linha hipotética que precisa ser preenchida documentalmente:

REINO DE NÁPOLES / DUAS SICÍLIAS
        ↓
UNIFICAÇÃO ITALIANA
        ↓
CAMPÂNIA
        ↓
MIGRAÇÃO
        ↓
SÃO PAULO
        ↓
BRÁS / MOOCA
        ↓
PROPRIEDADE
        ↓
IGREJA
        ↓
VIDA PÚBLICA

A família muda de Estado.

Depois de continente.

Depois participa da construção de outra sociedade.

E as identidades não são apagadas.

Elas acumulam camadas.


🧬 Identidade não é UPDATE. É APPEND.

Talvez esse seja o erro fundamental da nossa maneira escolar de contar nacionalidades.

Imaginamos:

UPDATE PERSON
SET identity='ITALIAN'
WHERE year >= 1861;

Na realidade provavelmente ocorre:

NAPOLITANO
   +
ITALIANO
   +
IMIGRANTE
   +
PAULISTANO
   +
BRASILEIRO

Uma camada não necessariamente apaga a anterior.

E isso ajuda a explicar por que identidades regionais italianas permaneceram tão fortes.


🗣️ Nem sequer falávamos todos “italiano”

Outro problema gigantesco do novo Estado era linguístico.

A península possuía enorme diversidade de línguas e variedades regionais.

Aquilo que se tornaria o italiano padrão tinha forte base toscana e extraordinário prestígio literário.

Mas a população cotidiana frequentemente utilizava variedades locais.

Imagine construir um Estado nacional em que cidadãos de regiões diferentes podiam ter dificuldades reais de comunicação entre si.

O governo precisava criar:

escola.

administração.

Exército.

imprensa.

infraestrutura.

símbolos nacionais.

E, progressivamente:

uma língua nacional compartilhada.


🎒 A escola virou instalador da Itália

É aqui que a educação pública ganha papel gigantesco.

A criança entra:

LOCAL IDENTITY
LOCAL SPEECH
LOCAL HISTORY

E encontra:

ITALIAN LANGUAGE
ITALIAN HISTORY
ITALIAN FLAG
ITALIAN KING
ITALIAN GEOGRAPHY

A escola não apenas ensinava matemática.

Ela ajudava a produzir cidadãos do novo Estado.

Era quase:

INSTALL ITALY.EXE

[████████░░░░░░░░░░] 42%

🪖 E o Exército fazia outra parte

O serviço militar possui uma característica extraordinária para Estados nacionais.

Ele pega jovens de lugares diferentes e mistura todos.

O rapaz que nunca saiu da Sicília encontra um piemontês.

O napolitano encontra um lombardo.

O veneziano encontra um calabrês.

Todos vestem o mesmo uniforme.

Recebem ordens do mesmo Estado.

Carregam a mesma bandeira.

Isso também fabrica identidade.

De maneira muito menos delicada que a escola.


🚂 E então entra a ferrovia

Talvez nenhuma tecnologia represente melhor a unificação material da Itália.

Antes:

NAPLES
FLORENCE
MILAN
TURIN
VENICE
ROME

eram centros de mundos políticos diferentes.

Agora trilhos começam a costurar o território.

Mercadorias circulam.

Pessoas circulam.

Jornais circulam.

Soldados circulam.

Funcionários circulam.

Ideias circulam.

A Itália deixa lentamente de existir apenas no mapa e começa a existir na experiência cotidiana.


💰 Mas o MERGE produziu conflitos

Unificação não significou prosperidade instantânea.

Especialmente no sul, o novo Estado enfrentou enormes tensões.

Tributação.

Conscrição.

Mudanças administrativas.

Conflitos sobre propriedade.

Desigualdades.

Resistência armada.

O fenômeno conhecido como brigantaggio no Mezzogiorno assumiu dimensões enormes após a unificação.

E aqui as interpretações históricas divergem profundamente.

Banditismo?

Revolta social?

Resistência política Bourbon?

Conflito camponês?

Mistura de tudo isso?

Provavelmente precisamos abandonar respostas simples.

Mas uma coisa fica clara:

nem todo mundo recebeu a unificação com bandeirinhas tricolores.


🇮🇹 O Risorgimento possui vencedores — e possui derrotados

Toda narrativa nacional gosta de contar seu nascimento como inevitável.

Os heróis estavam certos.

Os adversários estavam errados.

O futuro venceu o passado.

Fim.

Só que alguém sempre perde quando um Estado desaparece.

Funcionários perdem cargos.

Militares perdem exércitos.

Dinastias perdem tronos.

Instituições perdem influência.

Elites perdem privilégios.

Outras elites ganham.

Alguns pobres melhoram.

Outros pioram.

Alguns acreditam no novo país.

Outros querem o antigo de volta.

Outros simplesmente querem plantar, comer e sobreviver.

A Itália nasceu dessa bagunça.

Como quase todos os países.


🌎 E então milhões foram embora

Nas décadas seguintes, a Itália produziria uma das maiores diásporas da história moderna.

Estados Unidos.

Argentina.

Brasil.

Uruguai.

Outros destinos europeus.

Milhões de italianos atravessaram fronteiras e oceanos.

E acontece uma ironia histórica maravilhosa:

algumas pessoas talvez tenham aprendido a ser “italianas” justamente depois de deixar a Itália.

Na aldeia eram:

napolitanos.

calabreses.

vênetos.

sicilianos.

No Brasil, o vizinho dizia:

“italiano.”

E pronto.

🤣

O país de destino ajudava a produzir uma identidade coletiva que dentro da própria península ainda estava sendo consolidada.


🇧🇷 O Brasil executa GROUP BY nationality

Imagine São Paulo recebendo:

SELECT origin
FROM immigrants;

Napoli
Salerno
Calabria
Veneto
Sicilia
Lombardia
Piemonte
...

A sociedade brasileira responde:

SELECT nationality, COUNT(*)
FROM immigrants
GROUP BY nationality;

Resultado:

ITALIANOS: MUITOS

🤣

O napolitano descobre que é italiano porque o brasileiro o chama de italiano.

A identidade externa começa a reforçar a interna.


🍝 E dentro de casa o banco antigo continua funcionando

Só que a cozinha preserva região.

A fala preserva região.

A devoção preserva região.

Os santos preservam região.

Os sobrenomes preservam região.

As receitas preservam região.

Os casamentos preservam redes regionais.

A memória preserva região.

Então aparece aquele fenômeno maravilhoso:

PUBLIC:
ITALIAN

HOME:
NAPOLITAN

DOCUMENT:
BRAZILIAN

MEMORY:
ALL OF THE ABOVE

Isso é identidade humana.

Muito mais interessante que uma coluna VARCHAR(20).


🏠 E então chegamos novamente aos Bellacosa

Talvez seja por isso que aquela pequena frase familiar tenha tanto valor:

“Nós éramos napolitanos.”

Não precisamos transformá-la numa declaração separatista do século XIX.

Não precisamos imaginar antepassados amaldiçoando Garibaldi diante de cada prato de macarrão.

🤣

Basta perceber o que ela preservou:

uma geografia mental anterior à homogeneização completa da identidade italiana.

O Estado dizia Itália.

A memória dizia Nápoles.

E depois o Brasil adicionou:

Bellacosa brasileiro.


🕰️ Mais de um século depois, um descendente volta

E aqui a história ganha aquela simetria que nenhuma genealogia consegue planejar.

Gerações depois, um descendente brasileiro volta à região.

Caminha.

Procura propriedades.

Visita lugares associados ao sobrenome.

Encontra registros.

Procura igrejas.

Investiga arquivos.

Tenta separar aquilo que a família dizia daquilo que os documentos conseguem provar.

A migração fez:

ITALY -> BRAZIL

A genealogia executa:

BRAZIL -> ITALY

Mas a segunda viagem transporta algo diferente.

Perguntas.


🧠 E talvez seja isso que nacionalidade realmente seja

Não um campo fixo.

Mas uma pilha de versões.

IDENTITY STACK

2026  Bellacosa
      brasileiro
      paulista

1896  imigrante
      italiano
      campano

1873  nascido na Itália recém-unificada

1861  novo Estado italiano

1850  Reino das Duas Sicílias

1800  napolitano

...

Quanto mais descemos, mais estranho fica perguntar:

“Mas qual era a nacionalidade verdadeira?”

A resposta é:

em qual momento?


☕ O Café Bellacosa

Talvez essa seja a continuação necessária do nosso artigo anterior.

Primeiro perguntamos:

Como um território tão pequeno conseguiu pertencer a tanta gente?

Agora fazemos outra pergunta:

Depois que finalmente juntaram tudo, como convenceram seus habitantes de que aquilo era um país?

Garibaldi podia conquistar Palermo.

Cavour podia negociar com Napoleão III.

Vittorio Emanuele podia receber uma coroa.

Soldados podiam entrar em Roma.

Diplomatas podiam assinar tratados.

Cartógrafos podiam imprimir mapas.

Mas nenhum deles possuía:

UPDATE HUMAN_MEMORY
SET identity='ITALIAN';

Isso precisou de gerações.

Escola.

Exército.

Ferrovias.

Imprensa.

Burocracia.

Migração.

Guerras.

Casamentos.

Música.

Literatura.

Rádio.

Televisão.

Futebol.

E tempo.

Muito tempo.


🖥️ $HASP395 ITALIA MERGE ENDED

//ITALIA   JOB 'NATION BUILDING'

//GARIBALD EXEC PGM=CONQUER
//CAVOUR   EXEC PGM=DIPLOMACY
//SAVOY    EXEC PGM=MONARCHY
//VENICE   EXEC PGM=MERGE
//ROME     EXEC PGM=FINALIZE

MAP STATUS:
ITALY = TRUE

//IDENTITY EXEC PGM=INTEGRATE

INPUT:
PIEMONTESE
LOMBARDO
VENEZIANO
TOSCANO
ROMANO
NAPOLITANO
SICILIANO
CALABRESE
...

SYSTEM MESSAGE:

WARNING:
MERGE OF TERRITORIES COMPLETED.
MERGE OF PEOPLE STILL RUNNING.

ESTIMATED COMPLETION:
UNKNOWN.

E talvez o maior paradoxo do Risorgimento seja exatamente esse.

A Itália foi criada antes dos italianos.

Não literalmente — uma consciência italiana já existia muito antes de 1861 — mas o Estado nacional precisava transformar uma identidade compartilhada por parcelas da população e por elites culturais em experiência cotidiana de milhões de pessoas profundamente ligadas às suas regiões.

E muitas dessas pessoas fizeram algo extraordinário antes que o processo terminasse:

foram embora.

Atravessaram o Atlântico.

Chegaram a Buenos Aires, Nova York, Santos, Rio de Janeiro e São Paulo.

Algumas desembarcaram como napolitanos, sicilianos, calabreses ou vênetos.

E encontraram sociedades que imediatamente disseram:

“Italianos.”

Talvez o MERGE tenha terminado parcialmente no exterior.

E talvez, mais de um século depois, quando um descendente encontra um registro antigo, visita uma pequena propriedade, entra numa igreja ou escuta uma frase transmitida pela família — “nós éramos napolitanos” — ele esteja vendo um fragmento daquele banco de dados anterior à migração.

Não é necessário transformar tradição em documento.

Nem hipótese em certeza.

Muito pelo contrário.

Colocamos cada coisa em sua tabela:

DOCUMENTO       → aquilo que podemos demonstrar
MEMÓRIA         → aquilo que a família preservou
HIPÓTESE        → aquilo que estamos investigando
HISTÓRIA        → o contexto que conecta tudo

E deixamos algumas colunas como NULL.

Porque depois de dois mil anos fazendo UPDATE no mesmo mapa, talvez a lição italiana seja justamente aquela que aprendemos olhando os velhos mapas cheios de monstros:

não precisamos inventar alguma coisa apenas porque ainda existe um espaço vazio.

Podemos continuar procurando.

Até que algum Bellacosa abra uma gaveta, encontre um documento esquecido e execute:

UPDATE FAMILY_HISTORY
SET mystery = 'SOLVED'
WHERE ancestor = 'UNKNOWN';

E alguém diante de uma máquina de café diga:

“Caramba... então era isso.”

☕🇮🇹

quinta-feira, 9 de dezembro de 2010

🜂 A Roupa Nova do Rei

 

Bellacosa Mainframe e a fabula o Rei vai Nu

🜂 A Roupa Nova do Rei

Quando a ilusão entra em produção, ninguém dá o ABEND e o sistema segue… até a criança apertar ENTER
Para mainframers que gostam de anime, metáforas, sistemas legados e verdades que ninguém quer logar


1️⃣ IPL cultural: por que esse conto ainda roda em produção?

Todo mainframer raiz já viu isso acontecer:
um sistema claramente errado, cheio de gambiarra, documentação inexistente, ninguém entende direito… mas todo mundo finge que está funcionando.

A história da Roupa Nova do Rei é exatamente isso.
Um batch cultural rodando há séculos, sem manutenção, sem revisão de código, mas perfeitamente compatível com a natureza humana.

Ela fala de vaidade, medo, conformismo, hierarquia, status…
e principalmente de um bug clássico:

ninguém quer ser o primeiro a dizer que o rei está pelado.


2️⃣ Origem: quem compilou essa história?

A versão mais famosa do conto foi publicada em 1837, pelo escritor dinamarquês Hans Christian Andersen, no livro Eventyr, fortalte for Børn (Contos contados para crianças).

📜 Primeira publicação conhecida:
➡️ “Kejserens nye Klæder” (em dinamarquês)

Mas atenção, padawan…

🧠 Easter egg histórico:

Andersen não inventou a história do zero.
Ela é baseada em contos muito mais antigos, especialmente um conto espanhol do século XIII, presente no livro:

📖 El Conde Lucanor, de Don Juan Manuel (c. 1335)

Nesse conto antigo, três vigaristas prometem fazer um pano invisível para quem não fosse filho legítimo.
Ou seja: a lógica do medo social já estava lá, só mudaram os parâmetros do IF.


3️⃣ O enredo resumido (ou: o sistema que ninguém quer testar)

O rei é obcecado por roupas.
Não governa. Não cuida do povo.
Só quer status, aparência, reconhecimento.

Dois vigaristas aparecem oferecendo uma roupa mágica:

✨ “Ela só pode ser vista por pessoas inteligentes e dignas do cargo que ocupam.”

📌 Tradução mainframe:

IF USER NOT SEE CLOTHES
   THEN USER = BURRO OR INCOMPETENTE

Resultado:

  • O rei não vê nada → finge que vê

  • Os ministros não veem nada → fingem que veem

  • O povo não vê nada → aplaude

Até que…

👶 uma criança, sem medo de RACF social, diz:

“O rei está pelado!”

ABEND imediato do sistema.


4️⃣ O bug não é a roupa — é o medo

O ponto genial do conto não é a nudez do rei.
É o medo coletivo de contrariar o consenso.

No mundo mainframe, isso é clássico:

  • “Esse sistema é crítico, ninguém mexe”

  • “Sempre foi assim”

  • “Não documenta porque funciona”

  • “Não pergunta, só roda o batch”

No anime, isso aparece o tempo todo:

🎌 Exemplos de paralelos em anime

  • Neon Genesis Evangelion: adultos fingindo controle enquanto tudo desmorona

  • Attack on Titan: verdades ocultas sustentadas por consenso

  • One Piece: reis, governos e símbolos vazios mantidos pelo medo

  • Akira: poder sem responsabilidade


5️⃣ Easter eggs e curiosidades culturais

🥚 Easter egg #1 — A criança não é inocente, é livre

A criança não fala porque é “pura”.
Ela fala porque não está presa ao sistema.

Não depende:

  • do cargo

  • da hierarquia

  • da aprovação

É o estagiário que pergunta:

“Mas por que isso é assim?”

E todo mundo fica desconfortável.


🥚 Easter egg #2 — O rei sabe que está pelado

Muita gente acha que o rei é enganado.
Errado.

Ele sabe que não vê nada.
Mas escolhe seguir.

Isso é mais assustador.


🥚 Easter egg #3 — O desfile é produção

O rei não testa em homologação.
Ele vai direto pra produção.

Clássico.


6️⃣ Por que essa história dialoga tanto com mainframers?

Porque mainframe é:

  • legado

  • hierarquia

  • respeito

  • estabilidade

  • medo de quebrar

E isso é bom… até virar silêncio tóxico.

Quantos sistemas continuam rodando porque:

  • ninguém quer ser o chato

  • ninguém quer assumir o risco

  • ninguém quer dizer “isso não faz sentido”


7️⃣ A Roupa Nova do Rei no mundo dos animes

O Japão adora essa metáfora.

🎌 Em animes, ela aparece como:

  • líderes cegos pela própria imagem

  • sistemas falsamente perfeitos

  • tradições vazias

  • poderes simbólicos

Exemplo clássico:

  • Conselhos que ninguém questiona

  • Vilas que seguem regras absurdas

  • Mestres que ninguém ousa confrontar

O herói geralmente é:
➡️ o “idiota”
➡️ o “ingênuo”
➡️ o “fora do sistema”

A criança do conto é um protagonista de shonen sem saber.


8️⃣ A lição que ninguém gosta de ouvir

A história não ensina:

“Não seja vaidoso”

Ela ensina:

“Não silencie a verdade por medo de parecer incompetente.”

No mundo corporativo:

  • muita gente vê o problema

  • pouca gente fala

  • e quando fala… já é tarde


9️⃣ Bellacosa Mainframe Moment™ 🖥️

Se esse conto fosse um sistema:

  • A roupa é um software inexistente

  • O rei é o sponsor

  • Os ministros são os gestores

  • O povo é o usuário final

  • A criança é o operador experiente

A diferença?

O operador não tem medo de console.


🔟 Moral da história (em linguagem de data center)

IF TODOS FINGEM QUE FUNCIONA
   THEN ALGUÉM ESTÁ MENTINDO

E geralmente:

  • não é o sistema

  • não é a máquina

  • é o comportamento humano


🜂 Encerramento — por que esse conto nunca envelhece?

Porque ele fala menos de reis
e mais de nós.

Enquanto houver:

  • status

  • medo

  • hierarquia

  • modismos

  • buzzwords

  • tecnologias “mágicas”

A Roupa Nova do Rei continuará rodando.

E sempre precisaremos da criança…
ou do mainframer veterano…
ou do otaku questionador…

pra olhar pra tela e dizer:

“Pessoal… isso aí não está vestindo nada.”



quarta-feira, 8 de dezembro de 2010

Conan, o Bárbaro e a Arquitetura da Coragem

 

Bellacosa Mainframe apresenta Conan o Barbaro e suas lições para um programador cobol

☕ Um Café no Bellacosa Mainframe

Conan, o Bárbaro e a Arquitetura da Coragem

Quando um Programador COBOL Descobre que as Melhores Lições de Engenharia de Sistemas Também Estavam Escondidas nas Frases do Cimério

"A diferença entre um aventureiro e um analista de sistemas experiente é simples: ambos entram em lugares onde ninguém gostaria de entrar. Apenas um deles leva documentação."


Introdução – O Código Também Tem sua Era Hiboriana

Existe um motivo pelo qual Conan continua sendo um dos personagens mais influentes da literatura fantástica, mesmo quase um século após sua criação por Robert E. Howard, em 1932.

Não é apenas pela espada.

Não é pelos músculos.

Muito menos pelas batalhas.

O verdadeiro legado de Conan está em sua filosofia prática de sobrevivência.

Enquanto outros heróis fazem longos discursos sobre honra, justiça ou destino, Conan observa o ambiente, mede o inimigo, identifica a fraqueza e resolve o problema.

Curiosamente, essa forma de pensar lembra muito o cotidiano de um programador COBOL trabalhando em um grande banco.

Imagine um sistema com 45 milhões de linhas de código.

Um ABEND em produção.

CICS congestionado.

DB2 apresentando lock escalation.

MQ acumulando filas.

Um incidente iniciado às 02h37 da manhã.

Naquele momento ninguém quer ouvir discursos.

Todos querem alguém que pense como Conan.


Robert E. Howard Criou Muito Mais que um Bárbaro

Quando Howard escreveu Conan para a revista Weird Tales, pretendia criar um personagem diferente dos cavaleiros medievais tradicionais.

Conan não era perfeito.

Não era um escolhido.

Não era um príncipe escondido.

Não possuía poderes mágicos.

Era simplesmente alguém extremamente competente.

Essa competência vinha da observação.

Da experiência.

Dos fracassos.

Das cicatrizes.

No mundo corporativo chamamos isso de...

Senioridade.


Bellacosa Mainframe e a filosofia de Conan o Barbaro

Primeira Lição

"Civilized men are more discourteous than savages."

"Homens civilizados são mais descorteses que os selvagens."

Esta talvez seja uma das frases mais famosas de Robert E. Howard.

Ela aparece em diferentes versões ao longo dos contos.

A ideia é simples.

Os chamados "civilizados" frequentemente escondem traições atrás de títulos, roupas elegantes e cargos importantes.

Já os bárbaros normalmente mostram exatamente quem são.


Bellacosa Mainframe

Quem trabalha em grandes empresas percebe algo semelhante.

O maior risco raramente é o COBOL.

Nem o JCL.

Nem o VSAM.

Muito menos o Db2.

Os maiores problemas costumam nascer de:

  • reuniões mal conduzidas;

  • requisitos ambíguos;

  • documentação inexistente;

  • decisões políticas;

  • mudanças sem comunicação.

Howard provavelmente diria:

"O dragão não mora na caverna.

Mora na sala de reuniões."


Easter Egg

Conan raramente era enganado por aparência.

Da mesma forma, um analista experiente nunca julga um sistema apenas pela interface.

O verdadeiro perigo costuma estar escondido na arquitetura.


Segunda Lição

"Barbarism is the natural state of mankind."

"A barbárie é o estado natural da humanidade."

Esta talvez seja a visão mais pessimista — e ao mesmo tempo mais realista — de Howard.

Civilizações surgem.

Crescem.

Enriquecem.

Depois...

Entram em decadência.

Howard acreditava que a ordem era temporária.

O caos sempre estava esperando.


O Paralelo com Sistemas Corporativos

Todo sistema nasce organizado.

Depois de alguns anos aparecem:

  • patches;

  • gambiarras;

  • soluções temporárias;

  • correções emergenciais;

  • integrações improvisadas.

Dez anos depois...

ninguém entende completamente o sistema.

Vinte anos depois...

ninguém sabe quem escreveu metade do código.

Trinta anos depois...

aquele sistema movimenta bilhões de reais diariamente.


Conan chamaria isso de:

"O Reino caiu porque esqueceu como suas muralhas foram construídas."

Um arquiteto de software chamaria de:

Dívida Técnica.


Terceira Lição

"O medo mata mais homens do que a espada."

Embora essa frase apareça em versões diferentes ao longo das adaptações de Conan, ela representa perfeitamente sua filosofia.

Conan não era destemido.

Ele sentia medo.

A diferença é que nunca permitia que o medo decidisse.


No Mainframe

Quem nunca viu frases como:

"Não mexe."

"Está funcionando."

"Ninguém sabe o que acontece."

"Melhor deixar."

Esse medo custa milhões.

Howard entenderia imediatamente.

Porque o medo paralisa.

E sistemas paralisados envelhecem.


CSI Mainframe

Todo incidente começa igual.

Ninguém quer tocar.

Até que alguém pergunta:

"Quem conhece esse módulo?"

Silêncio.

Então aparece o velho programador COBOL.

Ele olha.

Sorri.

E responde:

"Esse COPYBOOK eu escrevi em 1998."


Quarta Lição

"Nenhum deus é tão poderoso quanto acredita."

Essa frase resume o espírito das histórias de Conan, embora não seja uma citação textual de Howard.

Conan enfrentava:

  • deuses;

  • sacerdotes;

  • feiticeiros;

  • monstros;

  • reis;

  • imperadores.

Jamais aceitava autoridade apenas porque alguém dizia ser poderoso.

Primeiro observava.

Depois testava.

Finalmente atacava.


Engenharia de Software

Todo sistema possui limitações.

Toda arquitetura possui gargalos.

Todo algoritmo possui casos extremos.

Toda infraestrutura possui ponto único de falha.

Não existe perfeição.

Existe apenas desconhecimento.


Quinta Lição

"Todo monstro tem uma fraqueza."

Conan sobrevivia porque estudava seus inimigos.

Nunca confiava apenas na força.

Antes da batalha ele observava.

Cheiros.

Pegadas.

Armadilhas.

Terreno.

Hábitos.


Sherlock Holmes?

Quase.

CSI?

Também.

Na prática Conan fazia exatamente aquilo que hoje chamamos de:

Análise de causa raiz.


No mainframe fazemos o mesmo.

RMF.

SMF.

SYSLOG.

JES.

SDSF.

Db2 Trace.

CICS Statistics.

MQ Logs.

Tudo isso serve para descobrir...

Onde o monstro realmente mora.


Sexta Lição

"Se pode ser ferido, pode ser derrotado."

Essa não é uma frase literal dos contos de Howard.

Mas resume perfeitamente Conan.

É exatamente a filosofia do personagem.

Não importa quão impossível pareça.

Existe alguma vulnerabilidade.


O Programador COBOL Descobre

Um problema aparentemente impossível normalmente possui origem simples.

Um índice.

Um parâmetro.

Um RECFM.

Um BLKSIZE.

Um COMP-3 mal definido.

Um campo desalinhado.

Uma página Db2 sem RUNSTATS.

Um enqueue esquecido.


Todo gigante possui um calcanhar de Aquiles.


Sétima Lição

"I live, I love, I slay, and am content."

"Eu vivo, amo, luto, mato e estou satisfeito."

Essa frase resume Conan melhor do que qualquer biografia.

Ele não busca riqueza infinita.

Nem fama eterna.

Muito menos poder absoluto.

Conan vive intensamente.

Aceita perdas.

Segue adiante.


No Mundo Corporativo

Há profissionais que vivem esperando:

a próxima promoção.

o próximo cargo.

o próximo reconhecimento.

Enquanto isso esquecem de apreciar o conhecimento adquirido.

Conan provavelmente diria:

"O maior tesouro é sobreviver para a próxima aventura."


A Filosofia Bellacosa Mainframe

Imagine Conan entrando em um Data Center.

Não perguntaria:

"Qual linguagem foi usada?"

Perguntaria:

"Quem realmente conhece esse sistema?"

Depois perguntaria:

"Qual parte dele ninguém tem coragem de alterar?"

Ali encontraria o verdadeiro monstro.


Curiosidades

Robert E. Howard praticamente inventou o herói moderno de fantasia.

Sem Conan provavelmente não existiriam:

  • Red Sonja

  • Kull

  • Fafhrd

  • Elric

  • Druss

  • Geralt

  • Guts

  • Goblin Slayer

  • Kratos

  • inúmeros protagonistas de RPG.


Conan odeia burocracia

Durante praticamente toda sua vida:

foi ladrão.

mercenário.

pirata.

general.

rei.

Em todas essas fases desconfiava de políticos e sacerdotes.


Howard era obcecado pela História

As civilizações hiborianas foram inspiradas em:

Roma.

Grécia.

Egito.

Pérsia.

Celtas.

Vikings.

Sumérios.

Tudo misturado em uma cronologia fictícia extremamente detalhada.


Easter Egg COBOL

Conan jamais perguntaria:

"Qual framework vocês usam?"

Perguntaria:

"Quantas batalhas esse sistema já sobreviveu?"

Essa é exatamente a pergunta que um arquiteto deveria fazer antes de sugerir reescrever um sistema COBOL que processa milhões de transações por dia.


A Espada e o Debugger

Existe uma curiosa semelhança entre Conan e um bom depurador de software.

Ambos procuram:

  • rastros;

  • evidências;

  • padrões;

  • pontos fracos;

  • erros escondidos.

Conan nunca luta às cegas.

Um bom analista também não.


O Verdadeiro Bárbaro é o Especialista

Howard inverte completamente nossa percepção.

O bárbaro é quem entende como o mundo realmente funciona.

Os civilizados vivem presos às aparências.

No Data Center acontece algo semelhante.

O profissional mais valioso normalmente não é aquele que usa a tecnologia mais nova.

É aquele que entende:

  • por que ela existe;

  • como evoluiu;

  • quais problemas resolveu;

  • e principalmente...

...o que acontece quando ela falha.


Conclusão – Conan Nunca Programou COBOL... Mas Pensava Como um Arquiteto de Mainframe

É curioso perceber como frases escritas há quase cem anos continuam incrivelmente atuais.

Quando Conan afirma que homens civilizados podem ser mais perigosos que selvagens, ele está nos alertando sobre a diferença entre aparência e realidade.

Quando lembra que a barbárie é o estado natural da humanidade, ele nos ensina que ordem, estabilidade e arquitetura precisam ser continuamente preservadas. Em tecnologia, sistemas degradam, processos se deterioram e a dívida técnica cresce silenciosamente se ninguém cuidar deles.

Quando diz que o medo mata mais homens do que a espada, ele descreve exatamente o que acontece quando equipes deixam de evoluir por receio de modificar sistemas críticos. O medo da mudança pode ser mais destrutivo do que a própria mudança.

As ideias sintetizadas em frases como "Nenhum deus é tão poderoso quanto acredita", "Todo monstro tem uma fraqueza" e "Se pode ser ferido, pode ser derrotado" traduzem uma mentalidade indispensável para quem trabalha com missão crítica. Nenhuma arquitetura é perfeita, nenhum problema é insolúvel e nenhum incidente deve ser tratado como magia. Tudo pode ser compreendido quando investigado com método, disciplina e experiência.

E talvez seja essa a maior lição que Robert E. Howard deixou para engenheiros, administradores de sistemas e programadores COBOL.

Conan nunca venceu porque era o mais forte.

Venceu porque observava antes de agir.

Pensava antes de atacar.

Aprendia antes de repetir.

Em um mundo repleto de buzzwords, frameworks da moda e promessas de reescrever tudo do zero, a filosofia do cimério continua surpreendentemente moderna. Ela nos lembra que conhecimento sólido supera modismos, experiência vale mais do que propaganda e que a coragem verdadeira nasce da compreensão do problema.

No fim das contas, um bom profissional de mainframe e Conan compartilham o mesmo princípio: diante de um incidente, de um monstro ou de um sistema com cinquenta anos de história, não importa o tamanho do desafio.

Primeiro investigue.

Depois encontre a fraqueza.

E então resolva o problema com a precisão de quem sabe que toda grande batalha, assim como todo grande programa COBOL, é vencida uma instrução de cada vez.

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