Loading…

De Estagiário a CEO, lições de uma Jornada Real – A função de 1.500 linhas e o pesadelo das faturas #05

Por Fabrício Lima · CEO Power Tuning · Agosto de 2026 · LinkedIn ↗ · YouTube ↗

Fala Pessoal,

No episódio 01 contei como escolhi fazer Ciência da Computação (2002).

No episódio 02 contei que meus primeiros anos de faculdade de TI não foram fáceis (2003 a 2005).

No episódio 03 contei como um NÃO que eu tomei acabou me jogando na área de banco de dados (2005 e 2006).

No episódio 04 contei minhas primeiras semanas com SQL Server e minha efetivação três meses depois (2006).

No episódio 05 vou contar os meus dois anos como analista de banco de dados (2006 a 2008).

Tem os dois lados aqui. Um desafio técnico que eu lembro até hoje com orgulho, e uma rotina que me tirou o sono por anos.


Dois anos escrevendo T-SQL todo dia

Fiquei mais de dois anos nessa função. Procedure, rotina de negócio, DTS, relatório. Todo dia.

Nesse período eu até flertei com outro caminho. Cheguei a estudar BI, Data Warehouse, essa parte toda, pensando em seguir por ali. Mas acabei ficando no SQL mesmo.

Dentro da área, eu virei o responsável pelas rotinas de cartão. Uma financeira grande, milhares de clientes, fatura, limite, cobrança. Tudo isso rodava dentro do banco. Aprendi muito de negócio ali, não só de banco de dados.


A função de 1.500 linhas

Tinha uma rotina lá chamada limite de cartão.

A ideia era simples de explicar: você passa um cartão, ela devolve o limite disponível. Só isso. Só que essa função era chamada o tempo todo, com cliente parado no caixa e lojista esperando. Cada segundo ali era fila.

Agora, pra devolver esse bendito número, eram 1.500 linhas de regra de negócio. “Um milhão” de validações, exceções, exceção da exceção. Cartão do tipo A que se comporta diferente do B, regra que muda dependendo do lojista, caso especial aqui, caso especial ali. Função que chamava função que chamava função.

Era um pouco lenta de vez em quando e tinha alguns comportamentos errados em casos bem específicos.

Aí a minha chefe, a Carla Marchesi, ia sair de férias. E me deixou o desafio: enquanto eu estiver fora, refaz essa rotina. Mais simples, mais rápida e corrigindo o que está errado.

Ela saiu de férias e me deixou a função mais crítica da área de cartão na mão. Imagina a responsabilidade de alterar isso?

Quinze dias, linha por linha

Foram os quinze dias me matando naquilo.

Infelizmente naquela época não existia IA. Eu não podia jogar 1.500 linhas num chat e pedir “refatora isso pra mim, explica essa regra, sugere uma estrutura melhor”. Hoje isso é trivial. Naquela época era eu, o SSMS e o código.

Linha por linha. Debugando, entendendo o que cada bloco fazia, transformando looping em operação de conjunto, matando função que chamava função que chamava função. Foi bem complexo. Tanto que eu lembro desse desafio até hoje.


Como eu provei que a nova estava certa

Não tinha ninguém pra revisar o que eu estava fazendo. A Carla estava de férias e eu era o único mexendo naquela função. Então a validação teve que vir do próprio código.

Eu peguei todos os cartões da empresa e rodei nas duas funções: a antiga e a nova. Comparei resultado a resultado.

Nos casos em que deu diferença, fui olhar um a um. E em todos eles a minha estava certa. A diferença era exatamente um bug da versão antiga que a nova tinha resolvido.

De 1.500 linhas para cerca de 600. Mais legível, com bugs corrigidos e validada contra a base inteira de cartões. Subiu em produção, virou a função oficial de limite da empresa e ficou lá rodando.

Teve ganho de performance também. Não lembro os números e não vou chutar, mas naquela função qualquer ganho ajudava, porque tinha gente esperando no caixa do outro lado.


Quando a Carla voltou

Aquela rotina rodava lá havia muito tempo e ninguém tinha coragem de colocar a mão naquele vespeiro. Complexa demais, crítica demais.

Não sei se ela esperava que eu fosse terminar aquilo em quinze dias.

E eu não cheguei falando que tinha ficado bom. Mostrei o comparativo das duas funções, cartão por cartão, e as diferenças que eu tinha ido olhar uma a uma.

Não lembro as palavras dela. Lembro que ela ficou bem feliz e que saiu dali pra levar a notícia ao diretor de TI da empresa.

E lembro do que eu percebi naquele momento, mesmo que ela nunca tenha falado com essas palavras: valeu a pena dar um voto de confiança pra esse menino.

Essa foi mais uma entrega que ajudou a provar o meu valor em resolver problemas e certamente contribuiu para lá na frente ela me dar a oportunidade de atuar como DBA (mas isso é assunto para o próximo episódio).


O pesadelo das faturas

Agora a outra parte desses dois anos. E essa não foi uma parte muito feliz.

As faturas de cartão rodavam em dias fixos do mês: 5, 10, 15, 17, 20, 25 e 30.

Eu lembro esses números até hoje, vinte anos depois. Os cortes do dia 20 e do dia 25 eram os maiores. A fatura que fechava no dia 20 era a que vencia no dia 10 do mês seguinte, e ela era a maior de todas. Por isso o dia 20 era o mais tenso do mês pra mim.

A geração de fatura era um processo gigantesco e extremamente complexo. Muitas partes dentro de um SSIS, processamento paralelo, e no fim a geração dos arquivos que iam pra impressão e envio pros clientes. Se aquilo não rodasse, cliente não recebia fatura.

E tinha uma coisa que piorava sozinha: a empresa crescia e a fatura ia demorando mais. Começou rodando em umas 2 horas. Com o tempo virou 4. Depois 6. Depois 8. O número de cartões só subia.

Quando ela terminava de rodar de manhã cedo, vinha a enxurrada de inserts das faturas novas e dos lançamentos. E isso parava as transações de cartão de crédito da empresa.

Era um caos.

Todo dia de gerar fatura eu não dormia direito.

Tinha um job no SQL Server que mandava torpedo quando alguma coisa falhava. Pra quem é mais novo: torpedo era o SMS da época, e chegava no celular a qualquer hora da madrugada.

Quando eu acordava com o torpedo, já era ruim. Quando eu não acordava, era pior: levantava de manhã e corria direto pro computador pra resolver as falhas antes que o estrago aumentasse.

E se o job ainda estivesse rodando quando o expediente começava, aí era o caos completo. Transação de cartão dando timeout, com cliente e lojista esperando do outro lado.

Foi uma experiência traumática. E não acabou quando eu virei DBA. Seguiu comigo por anos.

E não tinha ninguém pra dividir isso

Eu não era o único que recebia esses torpedos, mas era pra mim que ligavam, porque eu era o principal daquela rotina.

E não tinha revezamento. Não tinha sobreaviso. Não tinha uma segunda pessoa que soubesse aquilo tudo.

Hoje a galera da Power Tuning tem escala, tem revezamento, tem sobreaviso. Nada depende de uma pessoa só, e todo mundo consegue tirar férias de verdade. Eu construí isso porque eu sei exatamente como é o outro lado.

Se você é gestor de TI lendo isso

Se tem uma pessoa só que sabe da rotina crítica da sua empresa e é ela que acorda de madrugada quando o job falha, esse é o seu maior risco operacional. Não é o servidor. É a pessoa. Você descobre isso do jeito ruim no dia em que ela tira férias, adoece ou pede as contas.


O que ficou desses dois anos

Falando com sinceridade: todo aquele conhecimento de regra de cartão que eu acumulei lá não me serve pra nada hoje. Perdeu a validade.

O que ficou foi outra coisa: pegar um problema feio, entender ele até o fim e sair com uma solução melhor do que estava. Isso vale demais. E é basicamente o que a Power Tuning vende há mais de dez anos.

E ficou também a outra lição, a que doeu: saber o que é depender de uma pessoa só. Isso mudou o jeito que eu montei a minha empresa.

Um recado pra quem está começando agora, com IA na mão

Use, e use muito. Eu uso todo dia e teria adorado ter naquela época. Só não pule a parte de entender o código que saiu. O que me formou não foi ter refeito a função, foi ter entendido as 1.500 linhas antes de reescrever as 600.


O que vem no episódio 06

Enquanto eu era analista, tinha um DBA na empresa. E eu sentava do lado dele e tentava acompanhar tudo que ele fazia. No próximo episódio conto como fui de curioso incomodando o DBA a assumir a cadeira de DBA. E conto a tarde em que a empresa inteira parou com o gestor de TI do meu lado esperando eu resolver.

Não perca os próximos

Assine a newsletter da série no LinkedIn e receba cada episódio novo direto.

Assinar a newsletter ↗

A série até aqui

Episódio 01 – A escolha da profissão · 2002
Episódio 02 – Os primeiros anos de faculdade · 2003 a 2005
Episódio 03 – O início da carreira profissional · 2005 e 2006
Episódio 04 – As primeiras semanas com SQL Server · 2006
Episódio 05 – A função de 1.500 linhas e o pesadelo das faturas · 2006 a 2008 · você está aqui
Episódio 06 – De curioso a DBA · em breve

E vocês? Já tiveram uma rotina que tirava o sono de vocês todo mês?

Comentem aí. Quero saber se tem mais gente que se traumatizou com algumas rotinas que rodavam na empresa.

Abraços,

Fabrício Lima
CEO e fundador da Power Tuning

Deixe um comentário