✨ Bem-vindo ao meu espaço! ✨
Este blog é o diário de um otaku apaixonado por animes, tecnologia de mainframe e viagens.
Cada entrada é uma mistura única: relatos de viagem com fotos, filmes, links, artigos e desenhos, sempre buscando enriquecer a experiência de quem lê.
Sou quase um turista profissional: adoro dormir em uma cama diferente, acordar em um lugar novo e registrar tudo com minha câmera sempre à mão.
Entre uma viagem e outra, compartilho também reflexões sobre cultura otaku/animes
☕💣🚨 PADAWAN, O COBOL NÃO É O PROBLEMA! O VERDADEIRO MONSTRO ESTÁ ESCONDIDO DENTRO DO SISTEMA
A Maior Mentira da Modernização Mainframe: Por Que Transformar COBOL em Java Não Resolve Quase Nada
A Guerra Contra o COBOL
Existe uma frase que se repete há mais de 30 anos:
"Precisamos eliminar o COBOL."
O curioso é que enquanto essa frase era repetida por consultorias, vendors, CIOs e arquitetos corporativos, o COBOL continuava fazendo aquilo que sempre fez:
pagando aposentadorias;
processando cartões;
calculando seguros;
movimentando bilhões em transações;
sustentando governos inteiros.
O COBOL nunca foi o problema.
O problema sempre foi outro:
ninguém mais sabia exatamente o que estava escondido dentro dele.
O Dia em Que a Empresa Descobriu Que Ninguém Entendia o Sistema
Imagine um banco.
Ele possui:
18 milhões de linhas COBOL;
4.000 jobs batch;
1.500 copybooks;
centenas de tabelas DB2;
regras de negócio escritas desde 1987.
Um consultor chega e diz:
"Vamos converter tudo para Java."
A diretoria aprova.
O projeto custa dezenas de milhões.
Três anos depois...
O sistema agora roda em Java.
E o problema continua exatamente igual.
Porque ninguém entendeu o negócio.
Apenas trocaram a sintaxe.
O Efeito "Jobol"
O artigo menciona um termo fantástico:
JOBOL
Java + COBOL
Código Java que continua pensando como COBOL.
Exemplo:
COBOL
IF CLIENTE-ATIVO = 'S'
COMPUTE DESCONTO = VALOR * 0.10
END-IF
Convertido automaticamente:
if(clienteAtivo.equals("S")){
desconto = valor * 0.10;
}
Parece moderno.
Mas pergunte:
Por que 10%?
Desde quando?
Existe legislação envolvida?
Existe exceção?
Ninguém sabe.
A lógica foi transportada.
O conhecimento não.
O Easter Egg Mais Perigoso do Mainframe
Todo sistema antigo possui algo parecido.
Um trecho de código aparentemente absurdo:
IF DATA = '31121999'
MOVE ZERO TO TAXA
END-IF
O programador novo pergunta:
"Quem colocou isso?"
Ninguém sabe.
Remove.
Produção explode.
Meses depois descobrem:
Aquilo corrigia um problema de cálculo criado por uma mudança tributária em 1999.
O código era feio.
Mas carregava uma regra de negócio invisível.
O Mainframe Guarda Mais Conhecimento Que os Documentos
Muitas empresas acreditam que possuem documentação.
Bellacosa Mainframe e a codificação vibe coding e context engineering
☕ Um Café no Bellacosa Mainframe
💵 Bud Fox e a Fintech de Wall Street — Quando Vibe Coding encontra Context Engineering
SDD, DDD, Monólito Modular, Evals, Engineering Loop, agentes de IA e a perigosa diferença entre gerar código que funciona e construir software em que podemos confiar.
Nova York, 1987.
Bud Fox atravessa os corredores da Jackson Steinem & Co. com dois telefones, uma agenda cheia de nomes e uma obsessão: descobrir alguma informação que os outros ainda não possuem.
Em Wall Street, informação significa vantagem.
Quase quarenta anos depois, troque o pregão por uma IDE, os terminais financeiros por agentes de IA e as ações por milhares de classes Java.
A questão continua surpreendentemente parecida:
informação sem contexto pode ser tão perigosa quanto informação nenhuma.
Nossa história começa com uma proposta irresistível.
Vamos construir uma fintech.
E vamos usar IA.
🎬 CAPÍTULO 1 — Bud Fox descobre Vibe Coding
Imagine Bud Fox chegando ao escritório de tecnologia.
Ele abre seu agente de IA e escreve:
Crie uma fintech em Java 21.
Spring Boot
PostgreSQL
Kafka
DDD
Arquitetura Hexagonal
Monólito Modular
Módulos:
Customers
Accounts
Pix
Fraud
Ledger
Notifications
Gerar software tornou-se extraordinariamente barato. O material que analisamos começa justamente com essa constatação: descrevemos algo para um agente e rapidamente aparecem controllers, migrations, testes, Dockerfiles e dezenas de classes.
Bud encontrou sua primeira ação quente.
Só existe um problema.
O programa funcionar hoje não significa que sua arquitetura sobreviverá aos próximos 500 prompts.
📈 CAPÍTULO 2 — O primeiro lucro esconde a primeira dívida
Porque meses atrás nossa equipe tomou uma decisão arquitetural:
Ledger é a única fonte de verdade financeira.
Accounts conhece conta, estado, bloqueios e limites. Ledger conhece journals, débitos, créditos e posição financeira. Essa divisão de responsabilidade está explicitamente definida no modelo que estamos estudando.
O agente sabia Java.
Sabia Spring.
Sabia PostgreSQL.
Sabia como subtrair amount.
O que ele não sabia era:
como esta empresa decidiu representar dinheiro.
E encontramos nosso primeiro princípio.
Código correto localmente pode estar errado globalmente.
🦈 CAPÍTULO 3 — Gordon Gekko aparece na arquitetura
Se Gordon Gekko estivesse olhando nosso repositório, provavelmente perguntaria:
— Quem é dono de quê?
Excelente pergunta.
Porque software corporativo não é apenas um conjunto de classes.
Essa aparentemente pequena decisão arquitetural é enorme.
Accounts responde:
A conta pode operar?
Fraud:
Esta operação apresenta risco aceitável?
Pix:
Qual é o estado da transferência?
Ledger:
O que aconteceu financeiramente?
Agora nossa IA começa a receber uma coisa muito mais importante do que instruções de programação.
Ela recebe semântica.
🧠 CAPÍTULO 5 — Bud Fox descobre Context Engineering
Bud percebe que ficar repetindo tudo em prompts é inviável.
Inicialmente:
Crie uma API Pix.
Depois:
Crie uma API Pix usando DDD.
Logo chegamos ao monstro:
Java 21.
Spring Boot.
PostgreSQL.
Kafka.
DDD.
Hexagonal.
Modular Monolith.
Pix não acessa AccountRepository.
Ledger controla saldo.
Use Outbox.
Use idempotência.
Use double-entry bookkeeping.
...
O próprio material mostra essa evolução e aponta o limite da estratégia: o prompt não deveria funcionar como banco de memória da engenharia do produto.
É quando Bud encontra algo muito mais valioso que uma ação privilegiada.
Context Engineering.
Prompt Engineering pergunta:
Como faço uma boa pergunta ao modelo?
Context Engineering pergunta:
Quais informações o agente precisa ter disponíveis para tomar uma boa decisão?
O que significa transferir dinheiro neste negócio?
Essa pergunta vale mais que cinquenta classes.
📜 CAPÍTULO 10 — A Spec é o prospecto da operação
Nossa spec.md pode declarar:
FEATURE
Send Pix
Objetivo:
Transferir dinheiro entre contas
respeitando elegibilidade,
fundos disponíveis,
limites,
risco,
contabilidade
e idempotência.
E então aparecem as regras:
BR-001
A conta deve existir.
BR-002
A conta deve estar ativa.
BR-003
O valor deve ser maior que zero.
BR-004
Devem existir fundos disponíveis.
BR-005
O limite Pix deve ser respeitado.
BR-006
A análise de risco deve aprovar
a operação.
BR-007
A mesma Idempotency-Key não pode
produzir duas transferências.
São exatamente as classes de regras usadas no exemplo original.
Agora o agente não precisa adivinhar o negócio.
Mas surge outro problema.
🕵️ CAPÍTULO 11 — Gordon Gekko pergunta: “Quem fiscaliza?”
Podemos escrever:
Pix não pode acessar Accounts Infrastructure.
Excelente.
Então um agente escreve:
import accounts.infrastructure.AccountRepository;
A documentação dizia não.
O código disse sim.
Quem ganhou?
O compilador.
Precisamos transformar regras humanas em regras verificáveis.
Entram os:
🧪 EVALS
Podemos pensar:
SPEC
=
o que esperamos
EVAL
=
como demonstramos que continua verdadeiro
Essa relação aparece claramente no material.
🛡️ CAPÍTULO 12 — A SEC da nossa arquitetura
Vamos criar alguns fiscais.
Architecture Eval
PIX não pode importar:
accounts.infrastructure
ledger.infrastructure
fraud.infrastructure
Idempotency Eval
Given
Idempotency-Key = ABC123
When
POST /pix/transfers
é executado duas vezes
Then
existe apenas uma PixTransfer.
consistência matemática não implica correção de negócio.
O próprio exemplo do material usa duplicação de eventos gerando lançamentos repetidos para demonstrar como produção pode revelar uma invariante que faltava.
🔄 CAPÍTULO 17 — Engineering Loop: o fechamento do pregão não encerra a história
Context Engineering maduro também precisa responder:
Qual contexto é relevante para esta tarefa?
Para:
Implement Pix Scheduled Transfer
talvez precisemos:
Pix Domain Context
Accounts public contract
Fraud public contract
Ledger public contract
Pix business rules
relevant ADRs
current spec
relevant incidents
relevant evals
A estrutura-base de documentação, specs, loops, feedback e implementação é justamente a proposta apresentada no material original.
Agora cada diretório responde a uma pergunta.
docs/domain
→ Como nosso negócio funciona?
docs/architecture
→ Como decidimos estruturá-lo?
specs
→ O que queremos construir?
evals
→ Como provamos?
engineering
→ O que aconteceu enquanto construíamos?
incidents
→ Onde a realidade contrariou nossas hipóteses?
learning
→ O que aprendemos?
src
→ Qual implementação existe atualmente?
Isso é muito mais poderoso que simplesmente armazenar código.
⚡ CAPÍTULO 26 — E o Vibe Coding volta pela porta da frente
Depois de toda essa burocracia arquitetural alguém poderia concluir:
quanto melhor estruturado o contexto, menos precisamos repetir tudo no prompt.
Portanto Vibe Coding não precisa ser sinônimo de engenharia irresponsável.
Podemos ter:
Vibe Coding sobre trilhos.
🖥️ CAPÍTULO 27 — E onde entra o COBOL?
Agora chegamos ao ponto especialmente interessante para quem vive no mundo mainframe.
Muito antes de alguém dizer Context Engineering, mainframes já conviviam com o problema.
Imagine um programa:
IDENTIFICATION DIVISION.
PROGRAM-ID. PGMPX001.
Quarenta anos de história.
Ele usa:
COPYBOOKS
VSAM
Db2
CICS
MQ
JCL
PROCs
RACF
SORT
programas chamados
programas chamadores
arquivos downstream
jobs batch
Alguém pede:
“Altere a regra de limite.”
O programador iniciante pensa:
abrir COBOL
↓
achar IF
↓
alterar
↓
compilar
O veterano pergunta:
Quem chama?
Quem é chamado?
Qual COPYBOOK?
Qual tabela?
Qual transação CICS?
Qual arquivo?
Qual JCL?
Qual janela batch?
Qual downstream?
Qual rollback?
Qual regra histórica?
Por que aquele IF existe?
Isso é Context Engineering antes do nome existir.
🏛️ CAPÍTULO 28 — O mainframe é uma catedral de contexto
Business Context
Architecture Context
Data Context
Integration Context
Security Context
Operational Context
Historical Context
Ou seja, o desafio não é:
A IA sabe COBOL?
A pergunta muito mais importante é:
A IA sabe o que esse COBOL significa dentro daquela organização?
Aí a conversa sobre Context Engineering deixa de parecer moda de IA.
Ela começa a parecer extremamente familiar para qualquer veterano de mainframe.
💎 CAPÍTULO 29 — A verdadeira informação privilegiada
Bud Fox começou nossa história procurando a próxima informação capaz de lhe dar vantagem.
No desenvolvimento com IA também existe uma informação privilegiada.
Não é:
"Use Spring Boot."
Todo modelo sabe isso.
Não é:
"Use Kafka."
Também sabe.
Não é sequer:
"Use DDD."
A verdadeira vantagem está em conhecimento que só sua organização possui:
Por que Ledger controla saldo?
Por que Pix não acessa AccountsRepository?
Por que determinado consumer precisa ser idempotente?
Por que aquele limite existe?
Por que aquela decisão foi tomada?
Qual incidente revelou aquela regra?
Qual comportamento não pode mudar?
Qual contrato não pode quebrar?
Isso é conhecimento institucional.
E, ao contrário do insider trading de Wall Street, aqui queremos exatamente o contrário:
tornar esse conhecimento acessível, explícito, governado e verificável para quem legitimamente precisa construir o sistema.
🎞️ EPÍLOGO — Bud Fox fecha o terminal
No começo tínhamos:
PROMPT
↓
CODE
Parecia revolucionário.
Depois descobrimos:
VIBE CODING
↓
VELOCIDADE
Mas velocidade precisava de direção.
Então:
SDD
↓
INTENÇÃO
A intenção precisava respeitar fronteiras.
DDD
+
MODULAR MONOLITH
↓
OWNERSHIP
+
BOUNDARIES
As fronteiras precisavam estar disponíveis aos agentes.
CONTEXT ENGINEERING
↓
MEMÓRIA DE ENGENHARIA
A memória precisava ser verificável.
EVALS
↓
EVIDÊNCIA
E nenhuma especificação conhece completamente a realidade.
É exatamente a síntese alcançada pelo material: Vibe Coding acelera; SDD dá direção; DDD protege fronteiras; Evals tornam intenção verificável; Engineering Loop converte execução em aprendizado; Context Engineering conecta o conjunto.
Bud olha para Gordon Gekko.
Gekko talvez dissesse:
informação é o ativo mais valioso da sala.
Mas no desenvolvimento de software com agentes existe uma versão melhor dessa máxima:
Código está ficando barato. Contexto confiável está ficando valioso.
Porque não será particularmente impressionante uma IA produzir dez mil linhas de Java, COBOL ou Python em uma tarde.
O verdadeiro feito será ela chegar ao prompt número 500, depois de quarenta features, dez desenvolvedores, cinco agentes, três mudanças arquiteturais e aquele inevitável incidente das 03:17, e ainda compreender que:
Accounts
≠
Ledger
que:
Pix
NÃO acessa
Accounts Infrastructure
que:
Debit == Credit
não é suficiente se o mesmo evento financeiro tiver sido processado duas vezes;
e, sobretudo, compreender por que cada uma dessas decisões existe.
Quando conseguirmos isso, teremos ido muito além de Vibe Coding.
Teremos construído algo que empresas perseguem desde muito antes da IA:
software capaz de preservar o conhecimento acumulado por quem o construiu.
E talvez aí esteja a maior ironia desta história.
O futuro dos agentes de IA pode acabar redescobrindo uma das grandes lições do mainframe:
sistemas críticos sobrevivem durante décadas não porque alguém escreveu código perfeito, mas porque sucessivas gerações conseguiram preservar contratos, regras, interfaces, decisões e conhecimento suficientes para continuar mudando sem destruir aquilo que já funcionava.
Bud Fox queria descobrir qual seria a próxima grande operação.
No nosso pregão tecnológico, talvez já tenhamos encontrado uma:
Vibe Coding gera código. Context Engineering preserva engenharia.
E em sistemas que movimentam dinheiro — seja uma fintech Java de 2026 ou um COBOL processando milhões de transações num IBM Z — essa diferença vale muito mais do que algumas linhas de código produzidas em segundos.
Quando um Programador COBOL Descobriu que a Matrix Não Era Apenas um Software… Era o Espelho de Quem a Construiu
"As organizações desenham sistemas que refletem sua própria forma de comunicação." — Melvin Conway (1967)
Prólogo — A Matrix Tinha o Mesmo Formato de Zion
Neo caminhava pelos corredores da Cidade das Máquinas.
Esperava encontrar servidores.
Processadores.
Centrais de controle.
Mas encontrou algo muito mais curioso.
Cada setor da Matrix era administrado por um grupo diferente.
O setor dos Agentes nunca conversava diretamente com o setor do Oráculo.
O setor do Merovíngio possuía seus próprios protocolos.
O Chaveiro trabalhava isolado.
Os Sentinelas recebiam ordens por outro canal.
Neo percebeu algo estranho.
Cada módulo da Matrix parecia exatamente igual ao departamento que o desenvolvia.
Morpheus perguntou:
— O que está vendo?
Neo respondeu:
— Não estou olhando apenas para um software...
Estou olhando para o organograma da empresa.
O Oráculo sorriu.
— Finalmente você encontrou a Lei de Conway.
O que é a Lei de Conway?
A Conway's Law afirma:
"Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations."
Em português:
"As organizações que desenvolvem sistemas acabam produzindo arquiteturas que refletem sua própria estrutura de comunicação."
Ou seja...
O software não nasce apenas das decisões técnicas.
Ele nasce da forma como as pessoas trabalham juntas.
A origem da Lei de Conway
A lei foi proposta em 1967 por Melvin E. Conway, cientista da computação.
Na época, Conway observou algo curioso.
Empresas organizadas em departamentos independentes acabavam criando softwares igualmente divididos.
Não era coincidência.
Era consequência direta da comunicação humana.
Décadas depois, essa observação continua sendo uma das ideias mais influentes da arquitetura de software.
Matrix explica perfeitamente
Imagine que a Matrix fosse construída por quatro equipes.
Equipe A.
Cuida da autenticação.
Equipe B.
Cuida da economia.
Equipe C.
Cuida dos Agentes.
Equipe D.
Cuida dos Sentinelas.
Se essas equipes quase não conversam...
o software também ficará separado.
Cada módulo desenvolverá sua própria visão da realidade.
O nascimento da Lei
Conway percebeu que a arquitetura técnica segue a arquitetura social.
Se duas equipes possuem dificuldades para conversar...
os sistemas também terão dificuldades para se integrar.
O COBOL conhece isso muito bem
Imagine um grande banco.
Departamento de Cartões.
↓
Equipe própria.
↓
Sistema próprio.
Departamento de PIX.
↓
Equipe diferente.
↓
API diferente.
Departamento de Crédito.
↓
Outro time.
↓
Outro banco de dados.
Departamento de Investimentos.
↓
Outro padrão.
↓
Outro framework.
O resultado?
Integrações complexas.
Duplicação de dados.
Interfaces difíceis.
Não porque os desenvolvedores desejavam isso.
Mas porque a organização já funcionava dessa maneira.
Um exemplo simples
Empresa.
Financeiro
RH
Comercial
Software.
Sistema Financeiro
Sistema RH
Sistema Comercial
Parece natural.
Agora imagine.
Cada departamento possui regras próprias de cadastro.
Logo surgem:
três cadastros de clientes;
quatro cadastros de funcionários;
cinco cadastros de endereços.
O software apenas refletiu a organização.
Matrix Reloaded
Observe os personagens.
O Oráculo não faz o trabalho do Arquiteto.
O Merovíngio não administra Zion.
O Chaveiro não controla os Agentes.
Cada grupo possui funções próprias.
Agora imagine.
Nenhum deles conversa.
A Matrix rapidamente se fragmentaria.
O efeito psicológico
As pessoas tendem a conversar mais com quem está próximo.
Mesmo dentro da mesma empresa.
Logo.
Os sistemas acompanham essa divisão.
O Programador COBOL Padawan
Imagine que você trabalhe no time de CICS.
Nunca conversa com o pessoal de APIs.
Nem conhece a equipe de Open Finance.
Depois de dois anos...
as integrações começam a falhar.
Não por culpa do COBOL.
Mas porque a comunicação humana falhou antes da comunicação entre sistemas.
O Agente Smith adora isso
Smith sabe que basta dividir as pessoas.
O restante acontece sozinho.
Cada equipe cria:
padrões próprios;
nomenclaturas próprias;
APIs próprias;
documentação própria.
Pouco tempo depois.
Os sistemas deixam de conversar.
Um exemplo inspirado na Matrix
Neo pergunta.
— Quem controla o cadastro dos humanos?
Resposta.
— Depende.
A equipe dos Agentes possui um.
O Merovíngio outro.
O Oráculo outro.
Zion outro.
Neo pergunta.
— Por que existem quatro?
O Arquiteto responde.
— Porque existiam quatro departamentos.
Como reconhecer?
Existem sinais muito claros.
APIs incompatíveis
Cada área cria seu padrão.
Bancos duplicados
Mesma informação.
Vários lugares.
Nomenclaturas diferentes
CPF.
CPF_NUM.
DOCUMENTO.
CLIENT_ID.
Tudo significa a mesma coisa.
Integrações difíceis
Equipes precisam negociar constantemente.
Regras repetidas
Cada departamento implementa novamente.
O impacto no Mainframe
Grandes ambientes IBM Z frequentemente atendem diversas áreas de negócio.
Se cada área evolui isoladamente.
Logo aparecem:
duplicação de COPYBOOKs;
layouts diferentes;
APIs redundantes;
programas semelhantes;
tabelas quase idênticas.
Tudo consequência da estrutura organizacional.
Curiosidade
Existe um conceito moderno chamado:
Reverse Conway Maneuver
A ideia é justamente o contrário.
Em vez de deixar a arquitetura seguir a organização...
a empresa reorganiza as equipes para produzir a arquitetura desejada.
Se deseja microsserviços independentes.
Cria equipes independentes.
Se deseja plataforma integrada.
Organiza equipes integradas.
Atenção!
Conway's Law não é uma crítica.
Ela é uma observação.
Toda organização sofre sua influência.
O importante é reconhecê-la.
O custo invisível
Quando departamentos não conversam.
Surgem:
retrabalho;
integrações caras;
conflitos de requisitos;
inconsistências.
Tudo isso custa tempo.
Dinheiro.
CPU.
Produtividade.
O papel do Arquiteto
Arquitetos não desenham apenas software.
Eles aproximam equipes.
Porque sabem.
Sem comunicação.
Não existe boa arquitetura.
Matrix e Zion
Imagine Zion dividida.
Cada setor constrói um pedaço da cidade.
Sem conversar.
Resultado.
Canos que não se conectam.
Cabos incompatíveis.
Portas que não levam a lugar nenhum.
Software funciona exatamente assim.
Ferramentas ajudam
Hoje usamos:
Enterprise Architecture.
Event Storming.
Domain Driven Design.
IBM ADDI.
OpenAPI.
AsyncAPI.
Catálogos corporativos.
Mas nenhuma ferramenta substitui comunicação humana.
O papel da IA
A IA pode:
documentar APIs;
comparar contratos;
identificar duplicações;
sugerir padronizações.
Mas não resolve conflitos organizacionais.
Os riscos
Sistemas duplicados
APIs redundantes
Custos maiores
Integrações frágeis
Visão fragmentada do negócio
Arquitetura inconsistente
Erros clássicos
Criar sistemas sem envolver outras áreas.
Duplicar cadastros.
Não compartilhar padrões.
Cada equipe inventar sua arquitetura.
Ignorar governança.
Boas práticas
Comunicação frequente.
Arquitetura corporativa.
Catálogo de APIs.
Padrões comuns.
Revisões interequipes.
Compartilhamento de conhecimento.
Domínios bem definidos.
Aplicabilidade
A Lei de Conway aparece em:
COBOL.
Java.
Cloud.
Microsserviços.
ERP.
APIs.
DevOps.
Bancos.
Governo.
Telecom.
Ela independe da tecnologia.
Um exemplo COBOL
Imagine.
Equipe A.
Cria COPYBOOK:
CLIENTE.
Equipe B.
Cria outro.
CLIENTE-NEW.
Equipe C.
Outro.
CLIENTE-V2.
Nenhum é compatível.
O problema começou muito antes do compilador.
O ensinamento do Oráculo
O Oráculo leva Neo até um enorme espelho.
Cada equipe da Matrix aparece refletida.
Depois o espelho se transforma.
Agora revela o software.
Neo percebe algo impressionante.
As divisões eram exatamente iguais.
Ela pergunta:
— O que mudou?
Neo responde.
— Nada.
O software apenas copiou as pessoas.
Ela sorri.
"É exatamente isso que Conway descobriu."
Lições para um Programador COBOL Padawan
Ao iniciar sua carreira em um ambiente corporativo, você perceberá que muitos desafios técnicos têm origem muito antes do código ser escrito.
Às vezes o problema não está no COBOL, no CICS ou no Db2.
Está no fato de que:
as equipes não compartilham conhecimento;
cada área cria suas próprias definições;
os requisitos chegam incompletos;
não existe uma linguagem comum entre negócio e tecnologia.
Por isso, desenvolva não apenas habilidades técnicas.
Aprenda também a:
comunicar-se claramente;
participar de revisões arquiteturais;
documentar decisões;
compreender o domínio de negócio;
construir pontes entre equipes.
Grandes arquitetos de software são, antes de tudo, excelentes comunicadores.
Curiosidades
A influência da Lei de Conway é tão grande que ela aparece indiretamente em diversos movimentos modernos:
Domain-Driven Design (DDD) incentiva equipes alinhadas aos domínios de negócio.
Team Topologies propõe estruturas organizacionais que favorecem fluxos de software saudáveis.
Microservices funcionam melhor quando as equipes possuem autonomia compatível com os serviços que mantêm.
DevOps surgiu justamente para reduzir barreiras entre desenvolvimento e operações.
Todos esses movimentos reconhecem, de alguma forma, a observação feita por Melvin Conway em 1967.
Conclusão — A Matrix Refletia Quem a Construía
No universo Matrix, Neo descobriu que a simulação não era apenas um conjunto de programas.
Ela refletia as decisões, os conflitos e a forma como seus criadores trabalhavam.
Na Engenharia de Software acontece exatamente o mesmo.
A Lei de Conway nos lembra que sistemas não são produzidos apenas por compiladores ou linguagens de programação.
Eles são produzidos por pessoas.
Se as equipes colaboram, o software tende a ser integrado.
Se as equipes vivem isoladas, o software também se fragmenta.
Para um Programador COBOL que atua em ambientes IBM Z, essa é uma lição valiosa. O sucesso de um sistema bancário depende tanto da qualidade do código quanto da qualidade da comunicação entre analistas de negócio, arquitetos, desenvolvedores, DBAs, administradores CICS, especialistas em segurança e operações.
No universo Bellacosa Mainframe existe uma máxima que certamente poderia estar gravada na entrada de Zion:
"Antes de desenhar a arquitetura do software, observe a arquitetura da empresa. Muito provavelmente uma será o reflexo da outra."
Porque, no fim, a Matrix nunca foi apenas feita de linhas de código.
Ela sempre foi feita das pessoas que aprenderam — ou deixaram de aprender — a trabalhar juntas.
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