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?