Pedido de ajuda de um Junior.
Olá amigos, assim como todo dev em inicio de carreira estou passando por dificuldades na área, gostaria de compartilhar brevemente a atual situação da minha carreira, e pedir a opinião dos senhores que são mais experiêntes a respeito de alguns fatores.
Contextualizando
Tenho 25 anos, fiz transição de carreira para trabalhar com desenvolvedor frontend e estou atuando na area há um ano e dois meses. Trabalho em uma empresa de pequeno porte da minha cidade, aqui desevolvemos e fornecemos um software para gestão para empresas do ramo têxtil para gerenciar custos operacionais das fabricas, preços, impostos, contas a pagar e a receber, entre outros serviços do ramo contábil.
Eu entrei na equipe para desenvolver uma versão Web para as soluções que atualmente são desenvolvidas em Delphi e fornecidas por meio de um .exe convencional. O objetivo é modernizar e permitir o acesso aos dados de gerenciamento da empresa de qualquer lugar, atualmente tudo roda localmente.
Antes de eu ingressar na empresa, a equipe de desenvolvimento já foi maior, porém agora há somente um desenvolvedor que está há mais de 20 anos aqui e que faz as manutenções e implementações de novas funções sozinho.
Entrei há um ano na empresa somente com o conhecimento que adquiri fazendo cursos do estilo "fique rico em 6 meses como programador" hahaha. Não exatamente assim, porém quase...
Desde então me dedico diariamente pra recriar os componentes do programa em um Web App usando Angular no Frontend e NodeJs no backend. Tudo estava correndo surpreendentemente bem, já desenvolvi várias telas, fazendo consultas no banco de dados e exibindo dados em tabelas gráficos, entretanto precisei começar a pensar em uma versão de produção para o app..
Os problemas
Pra resumir, a pedra no meu sapato tem sido o banco de dados, usamos FirebirdSQL e isso não é o problema, aprendi a fazer os comandos tudo certo, roda que é uma beleza.
O problema é que cada cliente tem seu próprio banco de dados rodando localmente e não é possível acessa-lo via internet (ou pelo menos eu não sei como).
Este tem sido meu principal empecilho, acessar os bancos de dados dos clientes:
- Cada cliente tem seu banco de dados localmente
- Nenhum dos nossos clientes têm ip fixo para que eu consiga fazer a API acessar remotamente
- Atualmente todos os acessos remotos são feitos via VPN quando necessário.
- Sugeri exigir dos clientes a aquisição do link com ip fixo, porém pelas reações dos meus colegas de empresa, percebi que não vai ter uma boa aceitação dos clientes.
- Migrar os bancos de dados para nuvem também implicaria em um custo adicional indesejado
Enfim, essa é minha dor de cabeça atualmente, sugeri usar algumas soluções paliativas de maneira definitiva (famosa gambiarra) como:
- DNS Dinâmico para o IP dinamico dos clientes, porém ainda teria dores de cabeça pra abrir as portas necessárias.
- Fazer a API se conectar via VPN à rede local da empresa pra conseguir acessar o servidor do banco de dados
Todavia nenhuma solução que eu encontro parece viável a longo prazo e em um ambiente de produção que precisa ser confiável.
Gostaria de saber dos senhores, o que fariam no meu lugar? Alguma sugestão de tecnologia que eu posso utilizar para solucionar esse problema?
Desde já agradeço a atenção, Deus abençoe!
--Edit: importante salientar que estamos falando de um serviço fornecido há 20 anos, as pessoas já tem mais idade e são avessas a mudanças muito bruscas. Estou precisando lidar com isso também