Translate

Mostrar mensagens com a etiqueta programador. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta programador. Mostrar todas as mensagens

sexta-feira, 20 de março de 2026

🚀 Do COPY ao CORE Bancário: A Jornada Jedi de um Programa COBOL no z/OS (ou: como um .CBL vira dinheiro no mundo real)

Bellacosa Mainframe apresenta COBOL LE Enterprise


🚀 Do COPY ao CORE Bancário: A Jornada Jedi de um Programa COBOL no z/OS (ou: como um .CBL vira dinheiro no mundo real)

“Padawan, muitos escrevem código. Poucos entendem como ele realmente vive.” 💙

Se você acha que COBOL é só um DISPLAY "HELLO", prepare-se.
No mainframe, um programa não nasce pronto — ele passa por uma verdadeira linha de produção industrial de software.

Hoje vamos percorrer essa jornada completa, estilo Bellacosa Mainframe™, com:

🔥 Passo a passo real
🧠 Conceitos que diferenciam dev júnior de arquiteto
💎 Easter eggs históricos
🏦 Exemplos do mundo bancário
⚙️ Bastidores que ninguém te conta


🧙‍♂️ Capítulo 1 — O nascimento: o código fonte

Tudo começa com um membro em um PDS ou PDSE:

USER.COBOL.SOURCE(PROG1)

Exemplo simples:

IDENTIFICATION DIVISION.
PROGRAM-ID. CPRIME.

PROCEDURE DIVISION.
DISPLAY "MAY THE MAINFRAME BE WITH YOU".
STOP RUN.

💡 Curiosidade Jedi:
COBOL foi criado para ser legível por pessoas de negócio. Por isso parece “verbal”.


📚 Capítulo 2 — COPY: os pergaminhos antigos

Nenhum sistema corporativo vive sem COPYBOOKS.

COPY CLIENT-RECORD.

Esses artefatos ficam nas bibliotecas apontadas por:

//SYSLIB DD DSN=CORP.COPYLIB

💎 Easter egg:
Grandes bancos têm copybooks mais antigos que muitos desenvolvedores.


⚙️ Capítulo 3 — Compilação: o forno industrial (IGYCRCTL)

Agora entra o compilador Enterprise COBOL.

//COMPILE EXEC PGM=IGYCRCTL

📥 Entradas principais

DDFunção
SYSINCódigo fonte
SYSLIBCopybooks
SYSUTxÁrea de trabalho

📤 Saídas

DDResultado
SYSPRINTMensagens
SYSLINObject code

👉 O objeto ainda NÃO é executável.


🧠 Analogia moderna

MainframeLinux
Compilegcc -c
Objeto.o

💥 Capítulo 4 — O Binder: alquimia digital (IEWL)

Agora o objeto vira programa executável.

//LKED EXEC PGM=IEWL

📥 Entrada

SYSLIN → objeto compilado

📤 Saída

SYSLMOD → executável final

💎 Easter egg:
Antes do Binder moderno, isso se chamava “link-edit”.


📦 Program Object: o formato moderno

Hoje o resultado normalmente é um:

👉 Program Object em PDSE

Não mais um load module antigo.


🧬 Capítulo 5 — O espírito invisível: Language Environment (LE)

Aqui está o segredo que separa aprendizes de mestres.

💥 Programas COBOL não rodam sozinhos.

Eles precisam do LE.

O LE fornece:

✔️ Memória
✔️ Inicialização
✔️ Tratamento de erros
✔️ Serviços runtime
✔️ Interoperabilidade


🧠 Analogia suprema

PlataformaRuntime
JavaJVM
.NETCLR
z/OS⭐ LE

⚙️ Capítulo 6 — Opções de runtime (CEEOPTS)

Exemplo famoso:

ALL31(ON)

Permite usar memória acima da linha de 16 MB.

🧪 Override via JCL

//CEEOPTS DD *
ALL31(ON)
/*

🚫 Nunca no código COBOL.


🏦 Capítulo 7 — Onde o programa pode rodar?

Um único executável pode viver em vários mundos:

AmbienteUso típico
BatchProcessamento massivo
CICSTransações online
IMSSistemas críticos
Db2 SPLógica no banco
TSOExecução interativa
USSScripts UNIX

❌ System exit — proibido (sem LE)


🐧 Capítulo 8 — USS e o mundo moderno

Você também pode compilar no UNIX do z/OS:

cob2 -q'RENT,LIST' pgm1.cbl

💡 O mainframe também fala “Linux”.


🧩 Capítulo 9 — Compatibilidade histórica (o verdadeiro poder)

Enterprise COBOL consegue recompilar código:

✔️ VS COBOL II (anos 80)
✔️ COBOL for OS/390

Mas não diretamente:

❌ OS/VS COBOL
❌ COBOL-68 / COBOL-74

💥 Isso é o que mantém sistemas funcionando por décadas.


🧙‍♂️ Capítulo 10 — A verdadeira força do mainframe

Um programa COBOL pode:

💥 Processar milhões de transações por segundo
💥 Rodar por décadas sem reescrita
💥 Integrar com APIs modernas
💥 Conviver com código de 40 anos atrás


🏆 Pipeline final — a jornada completa

Source (.CBL)

Compile (IGYCRCTL)

Object module

Binder (IEWL)

Program Object

Execution (Batch / CICS / IMS / etc.)

💎 Easter egg final

💰 Grande parte do dinheiro do planeta passa por sistemas exatamente assim.

Cada saque, compra com cartão ou transferência:

👉 Pode estar executando código COBOL semelhante ao seu.


🧠 Conclusão 

Padawan, aprender COBOL não é aprender uma linguagem.

É entender uma arquitetura de computação empresarial completa, refinada por mais de meio século.

🚀 O código é apenas o começo.
🏗️ O processo é o verdadeiro poder.
💙 O mainframe é a fábrica invisível do mundo moderno.



terça-feira, 3 de março de 2026

☕ O Dia em que um Padawan COBOL Enfrentou o Teste Avançado… e Descobriu os Segredos do Mainframe

 

Bellacosa Mainframe e o teste de cobol para padawan

☕ O Dia em que um Padawan COBOL Enfrentou o Teste Avançado… e Descobriu os Segredos do Mainframe

“Muito antes de microservices, Kubernetes e modinhas passageiras, havia tabelas OCCURS, SORTs colossais e programas que movem bilhões… silenciosamente.”

Se você é um Padawan do COBOL, prepare seu café ☕ — hoje vamos atravessar uma jornada digna de Jedi Mainframe.

Este artigo é inspirado em um cenário real: um teste avançado de COBOL cobrindo tabelas, SORT, subprogramas, comunicação interprogramas e OO COBOL.

E sim… isso é exatamente o que sustenta bancos, seguradoras e governos.


🧠 Capítulo 1 — A Força das Tabelas OCCURS

Todo Padawan descobre cedo que:

COBOL não tem “arrays”… tem tabelas.

Exemplo clássico:

01 Salary-Table.
02 Salary PIC 9(4) OCCURS 100 TIMES.

Para zerar a tabela:

MOVE 1 TO Counter
PERFORM UNTIL Counter > 100
MOVE 0 TO Salary(Counter)
ADD 1 TO Counter
END-PERFORM

🧩 Easter Egg #1 — O jeito Jedi

Um Mestre COBOL faria:

INITIALIZE Salary-Table

💥 Mesma coisa. Menos CPU. Mais elegância.


🏥 Capítulo 2 — Tabelas Multinível: O Labirinto dos Índices

Considere:

01 Patient-Table.
02 Ward OCCURS 10 TIMES.
03 Patient OCCURS 120 TIMES.
04 Patient-Name PIC X(50).

Para acessar:

Patient-Name(ward-index, patient-index)

👉 Ordem: de fora para dentro

⚠️ Pegadinha mortal

Se errar a ordem ou quantidade de subscritos:

💥 Pode sobrescrever memória
💥 Pode causar S0C4
💥 Pode derrubar um batch inteiro às 3h da manhã


⚡ Capítulo 3 — Índices vs Subscripts: Velocidade da Luz

Padawans usam:

Salary(5)

Mestres usam:

SET idx TO 5
Salary(idx)

Porque:

CaracterísticaSubscriptIndex
TipoNúmeroOffset
PerformanceMédiaAlta
Uso em SEARCH ALL

🧩 Easter Egg #2

Índices não podem receber MOVE:

MOVE 1 TO idx *> ERRO
SET idx TO 1 *> CORRETO

🔍 Capítulo 4 — SEARCH vs SEARCH ALL

🐢 SEARCH (sequencial)

Procura um a um.

🚀 SEARCH ALL (binário)

Divide ao meio repetidamente.

Mas exige:

✔️ Tabela ordenada
✔️ Índice
✔️ Chave correta

Exemplo:

SEARCH ALL Stock
WHEN Stock-Symbol(idx) = "IBM"
PERFORM Found
END-SEARCH

🧩 Curiosidade histórica

Em grandes bancos:

SEARCH ALL pode reduzir milhões de comparações para poucas dezenas.


🔄 Capítulo 5 — SORT: O Motor Invisível do Batch

O SORT interno envolve três arquivos:

1️⃣ Entrada
2️⃣ Work file (SD)
3️⃣ Saída

SORT Sort-Work
ON ASCENDING KEY Customer-ID
USING Input-File
GIVING Output-File

🔥 Regra de ouro

O Sort Work File:

❌ Não é aberto
❌ Não é fechado
❌ Não é manipulado diretamente

👉 O sistema cuida disso.


🧪 Capítulo 6 — INPUT/OUTPUT PROCEDURE: Magia Avançada

Sem USING/GIVING, você controla tudo:

Entrada → RELEASE

RELEASE Sort-Record

Saída → RETURN

RETURN Sort-Work

💡 Isso permite filtrar, transformar ou gerar dados durante o SORT.


🧩 Capítulo 7 — Subprogramas: Modularidade Jedi

Chamador:

CALL "PROCESS-1" USING parm-area

Subprograma:

LINKAGE SECTION.
01 parm-area PIC X(100).

PROCEDURE DIVISION USING parm-area.

🔥 Regra importante

Por padrão:

👉 Parâmetros são BY REFERENCE
👉 Alterações retornam ao chamador


🌐 Capítulo 8 — Comunicação entre Programas

Tipos de dados compartilhados:

TipoEscopo
GLOBALPrograma + subprogramas embedded
EXTERNALTodo o run unit
LOCALApenas o programa

🧩 Easter Egg #3

EXTERNAL é como memória compartilhada “secreta” entre módulos.

Usar demais = pesadelo de manutenção.


🧬 Capítulo 9 — OO COBOL: O Lado Moderno da Força

Sim, COBOL também tem:

✔️ Classes
✔️ Objetos
✔️ Herança
✔️ Métodos
✔️ Factory

Exemplo simplificado:

CLASS-ID. Account.

FACTORY.
WORKING-STORAGE SECTION.
01 Interest PIC 9V99.

OBJECT.
WORKING-STORAGE SECTION.
01 Balance PIC 9(7)V99.

🔥 Diferença crucial

SeçãoPapel
FACTORYNível classe (static)
OBJECTNível instância

⚔️ Capítulo 10 — INVOKE vs CALL

Padawan erra:

CALL obj "method"

Mestre usa:

INVOKE obj "method"

👉 CALL → programas
👉 INVOKE → métodos OO


☕ Epílogo — O Verdadeiro Poder do COBOL

Após atravessar tabelas, SORTs, subprogramas e OO…

O Padawan percebe:

COBOL não é antigo.
COBOL é maduro.

Ele roda onde:

💰 O dinheiro circula
🏦 As transações acontecem
🌍 O mundo confia


🧠 Curiosidade Final (Easter Egg Supremo)

Estima-se que:

Mais de 70% das transações financeiras globais ainda passam por sistemas COBOL.

Enquanto você lia este artigo…

Provavelmente bilhões foram movimentados por código parecido com os exemplos acima.


🚀 Se você chegou até aqui…

Você já não é apenas um Padawan.

Está iniciando o caminho para:

🥋 Mestre do Mainframe

domingo, 3 de agosto de 2025

☕ Como Mandar Bem em Entrevistas de Emprego: Guia Bellacosa para Juniores e Padawans

 

☕ Como Mandar Bem em Entrevistas de Emprego: Guia Bellacosa para Juniores e Padawans

4,424 followers

Salve jovem padawan, pensando nos diversos comentários em nossa comunidade sobre a dificuldade de um DEV Jr. conseguir uma vaga. Pensei um artigo de primeiros passos, dando algumas dicas, mostrando uma passagem secreta na Dungeon Interview. Realmente é difícil encontrar a primeira oportunidade, mas como um guerreiro que não tem medo da batalha. Vou te aconselhar e ajuda-lo nesse caminho, serei seu guia.

Você se dedicou, estudou lógica, entendeu o que é um dataset, deu os primeiros ISPF 3.4, decorou o SELECT * FROM EMPLOYEE, leu sobre o COBOL com carinho e agora… chegou a hora da entrevista.

E agora? Como se sair bem, mesmo sendo iniciante?

Calma. Respira. Aqui vai um guia no estilo Bellacosa Mainframe, feito com base em experiência de quem já sentou nos dois lados da mesa — entrevistador e entrevistado. E digo muitas vezes fui reprovado, mas nunca desanimei, enfrentar os diversos passos até conseguir a tão sonhada vaga. Aposte em si, prepare-se e não tenha medo. O tão sonhado SIM, está muito próximo.


1. ⚙️ Entenda a Entrevista como um JOB

Veja a entrevista como uma execução de job:

  • JOB CARD: Quem é você? Qual seu propósito?
  • STEPLIB: Quais suas fontes? Cursos? Projetos?
  • EXEC PGM=VOCÊ: O que você entrega, mesmo como iniciante?
  • SYSPRINT: Como você se comunica? Clareza importa!
  • COND=EVITE PÂNICO: Um erro ou nervosismo não vão cancelar seu job.


2. 🎯 Estude a Empresa (Sim, Estude Mesmo)

Você não entraria num CICS region sem saber o que ela faz. Faça o mesmo com a empresa:

  • Qual é o negócio principal?
  • Atua com mainframe? Qual stack?
  • Possui iniciativas de diversidade, capacitação ou programas para iniciantes?
  • Procure no Linkedin, sempre tem detalhes escondidos, mas que um bom curioso encontra
  • Ensaie e prepare-se.

Dica Jedi: cite isso na entrevista. Mostra que você tem iniciativa e sabe pesquisar.


3. 💡 Valorize Seu Potencial, Não a Falta de Experiência

Você pode não ter 20 anos de experiência em JCL, mas pode ter:

  • Projetos pessoais
  • Participação em maratonas ou hackathons
  • Cursos online finalizados (Coursera, IBM SkillsBuild, Udemy, etc.)
  • Proatividade para aprender
  • Aproveite o tempo livre e faça cursos gratuitos da IBM , Software AG e da Gigante DIO .
  • Fez um dos quizes do Bellacosa Mainframe.

Mensagem chave: “Eu ainda não sei tudo, mas aprendo rápido, com disciplina e gosto de resolver problemas.”


4. 👂 Escute com Atenção, Responda com Calma

Entrevista não é uma prova oral, é uma conversa. Dicas:

  • Escute com atenção: muitas vezes a resposta está na própria pergunta.
  • Se não souber algo, diga: “Ainda não tive contato com isso, mas posso aprender rápido.”
  • Sinta o clima, normalmente as psicologas tem monte de candidatos a entrevistar, seja cordial, simpatico e lembre-se ela é seu primeiro contato com a empresa.
  • Seja honesto, claro e direto. O entrevistador valoriza isso mais do que frases prontas.


5. 🧠 Prepare-se para Perguntas Técnicas Simples (mas decisivas)

Prepare-se para perguntas como:

  • “Explique o que é um dataset.”
  • “Você sabe o que é o TSO? E o ISPF?”
  • “Já ouviu falar em VSAM? DB2?”
  • “Como você resolveria um erro de compilar um programa COBOL?”
  • Mais uma vez recomendo treinar nos Quizzes do Bellacosa Mainframe, visite a pagina, veja os posts, memes, novidades. Mergulhe no Mundo Mainframe
  • “O que te motiva a trabalhar com mainframe?”

Dica Padawan: Se não souber tudo, mostre raciocínio. “Acredito que VSAM seja um tipo de arquivo com acesso mais rápido, usado em sistemas legados…” é melhor do que “não sei”.


6. 💬 Prepare um Discurso Enxuto Sobre Você

Pense em algo como:

“Sou um estudante de Tecnologia, iniciante em mainframe, tenho estudado COBOL, JCL e DB2, gosto de lógica de programação, fiz cursos como [x], e busco uma oportunidade para aprender, contribuir e crescer. Gosto da estabilidade e da relevância do mainframe no mundo real e quero fazer parte desse ecossistema.”

Tenha naturalidade e verdade no que disser.


7. 📦 Faça um Portfólio Simples

Mesmo como iniciante, organize:

  • GitHub com códigos de estudo, use o GnuCobol para compilar alguns programas COBOL.
  • Link para seu perfil no LinkedIn atualizado
  • Lista de cursos ou certificados
  • Se possível: projetos simples em COBOL, JCL, etc.

Isso mostra seriedade, disciplina e potencial.


8. 🤝 Seja Gentil, Profissional e Agradecido

No final da entrevista:

  • Agradeça o tempo
  • Diga que está à disposição para aprender
  • Envie um e-mail de agradecimento (se tiver contato do RH)

Atitudes simples criam memórias positivas no entrevistador.


9. 🧘♂️ Lide com o “NÃO” Como Parte do Processo

Nem toda tentativa será um sucesso. Mas cada entrevista é um check-point de XP. Aprenda com:

  • Feedbacks (quando disponíveis)
  • Autopercepção do que pode melhorar
  • Persistência como diferencial

Mensagem do Bellacosa Mainframe: o mercado precisa de gente boa, curiosa e disposta. O “NÃO” de hoje pode virar o “SIM” de amanhã. Nunca desanime, não importa o Não, prepare-se e aprenda com os erros, numa próxima vez o SIM estará mais próximo.


10. ☕ Mantenha a Paixão Acesa

Lembre-se: a paixão por tecnologia, por resolver problemas e por fazer parte de algo maior é o que sustenta sua jornada. O mainframe pode parecer grande demais, mas todo sistema começa com um SYSOUT.

E você, Padawan, está só no início.


Compartilhe este artigo com quem está começando. E lembre-se: o Bellacosa Mainframe acredita em você.

Quiz de COBOL

Quiz de COBOL

Quiz Z/OS

#BellacosaMainframe #CarreiraTech #EntrevistaTI #PadawansDoMainframe #JovensTalentos #COBOL #JCL #DB2 #ZOS

Quiz Z/OS

#BellacosaMainframe #CarreiraTech #EntrevistaTI #PadawansDoMainframe #JovensTalentos #COBOL #JCL #DB2 #ZOS