Mas por que eu mantenho um código morto?

Depois de 15 anos sem criar nenhum código, talvez no máximo algumas macros do Excel, em meados de 2020 tive uma ideia: substituir e automatizar um processo que fazia manualmente com planilhas.

A ideia era simples:

Desenvolver um software que administrava o fluxo dos meus trabalhos como arquiteto credenciado da Caixa Econômica Federal, e todo final de mês, emitia um relatório em pdf nos padrões exigidos pela mesma para envio e requisição de faturamento.

Era o início de uma saga que dura até os dias de hoje.

- Mas qual linguagem e por onde começar?

- Parece que hoje em dia só se fala em Javascript e Python! Será? hum… Parece que não!

- Bem, “antigamente” costumava desenvolver aplicações assim (Desktop) em Delphi. Talvez eu retome de onde parei! Será?

Só pra dar o primeiro passo, já haviam tantas opções e minha cabeça estava fervendo!

Foi quando descobri algo muito interessante e que me serviu como uma luva: Anders Hejlsberg, o mesmo criador do Delphi, havia criado uma linguagem chamada C# sob o guarda-chuvas da Microsoft e esta linguagem, integrada a plataforma .NET (que me lembro de ouvir rumores sobre seu lançamento lá pelo início dos anos 2000) apesar de antiga, ainda é muito “viva” e está entre as primeiras em alguns rankings de utilização.

Pronto! Instalei o Microsoft Visual Studio e, para minha surpresa, tudo era muito familiar naquela IDE. A organização do projeto as barras de ferramentas e, o melhor (respira!), o Windows Forms era um Delphi “atualizado”.

Em pouco tempo, todo o “núcleo” da aplicação já estava pronto, conectado ao banco de dados (SQLite) e funcionando. Para um desenvolvedor enferrujado, me senti muito bem com o resultado.

Mas se tem uma coisa que nunca se afastou de mim, foi a inquietação e não demorou para uma pergunta começar a martelar minha cabeça: Dá pra melhorar?

A resposta é óbvia: Sempre dá!

Aquela aplicação Windows Forms com C# acessando um banco de dados SQLite com 2 ou 3 tabelas começou a crescer, junto com meus conhecimentos em tecnologias “contemporâneas”.

Quanto mais eu aprendia, mais termos, técnicas e tecnologias apareciam conectadas e a minha obsolescência era proporcional a minha inquietação em querer saber mais.

O SQLite deu espaço ao MySQL. As chamadas deixaram de ser feitas diretamente e a solução, criar uma API, abriu mais uma fenda no meu espaço-tempo!

Arquitetura de software, acoplamento, injeção de dependência, SOLID, Clean Code, Clean Arch, Docker, Git, Scrum…

O tempo foi passando e, aquele programinha simples, estava amadurecendo junto comigo.

Quando finalmente provava o gosto de ter construído um MVP (ainda que não tinha nenhuma intenção de torná-lo um produto), veio a notícia: As regras da Caixa Econômica mudaram e não haverá mais a necessidade de emitir o “tal” relatório!

Muito podem pensar: Um banho de água fria! Certo? Não pra mim! Aquele comunicado não teve impacto nenhum. Só via mais e mais motivos de continuar melhorando aquele código.

Além de gerar o relatório em PDF, o software também começou a gerar relatórios em XLS e passou a importar o arquivo de convocação para automatizar a entrada de dados nos formulários.

Clean Code e Clean Arch do “tio Bob” passaram a ser meus livros de cabeceira e “como aplicar” no software, agora batizado de “Fluxus” tomava todas as minhas folgas mentais.

Nesse trajeto, surgiram outras pequenas soluções e até mesmo a iniciativa de ingressar no curso de Análise e Desenvolvimento de Software aos quase 40 de idade.

Apesar de não ter usuários ativos, nem mesmo eu, o Fluxus está mais vivo do que nunca. Seu código é frequentemente mantido e atualizado e a maior parte do que sei em programação está encapsulada nele.

Enquanto me aproximo da metade do meu curso, com aspirações de mudar completamente minha carreira, uma pergunta persiste:

Dá pra melhorar?