Executando verificação de segurança...
8

Alguem me dá uma luz em uma integração de ERP. C# :(

Olá, pessoal! Gostaria de pedir algumas dicas sobre como seguir com um projeto.

Sou um desenvolvedor relativamente novo e recentemente entrei em uma empresa que vende um sistema ERP voltado para distribuidoras e drogarias. O sistema possui, de forma legada, uma integração com o SNGPC em resumo, é um sistema que registra entradas, saídas e faz o inventário de medicamentos controlados.

O desenvolvedor sênior da empresa saiu, e fiquei responsável por finalizar essa integração. Ele concluiu cerca de 50% do backend, utilizando conceitos como Clean Code, Clean Architecture, CQRS e multi-tenant.

Minha dúvida é: devo tentar finalizar a API do ponto em que ele parou, mesmo sem compreender totalmente toda a arquitetura? Ou seria melhor refatorar e reconstruir de uma forma mais simples, que eu consiga entender melhor?

Também pensei em seguir com o apoio de uma IA, tentando aprender e aplicar os mesmos conceitos à medida que avanço. Confesso que ainda fico meio perdido no backend — minha experiência é bem maior com front-end.

Alguém poderia me orientar sobre qual seria o caminho mais indicado?

Agradeço desde já qualquer conselho! 🙏

Carregando publicação patrocinada...
2

Aqui está o conselho que posso te dar: https://www.tabnews.com.br/maniero/faq-do-programador-perdidao.

Ninguém é capaz de dizer o que é melhor por uma quantidade enorme de razões distintas. Ninguém te conhece, não abe quais são limites, o quanto consegue evoluir, pesquisar, achar soluções, ter resiliência, só para citar alguns pontos, e ninguém conhece o sistema, a situação dele, se estava bem feito ou só seguia receitas de bolo que nem o cara entendia bem o que estava fazendo, muitas vezes fazia aquilo só para por no currículo.

Provavelmente vocês precisam contratar uma consultoria ou outro "sênior".

S2


Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente (não vendo nada, é retribuição na minha aposentadoria) (links aqui).

3

Estava olhando seu perfil depois de ler a publicação sobre Microsoft MVP e achei tudo muito foda! Trabalho com C# e me imaginei um dia conquistando esse título também.

Talvez você tenha razão, no sentido de que ninguém sabe realmente o que é melhor. Acabei misturando um pouco os dois mundos: informei à empresa que há partes da integração que consigo continuar, mas que eles deveriam providenciar uma consultoria para finalizar.

Agradeço de coração pela ajuda! 🙏

1
1

Procure fazer tudo da forma mais simples possível em C#, buscando depender o mínimo possível de bibliotecas externas. Tudo o que for possível implementar do processamento no banco de dados, o faça.

1

Se tu continuar fugindo de "problemas complexos" vai no mínimo demorar muito pra atingir a 'senioridade'. Se o código não está uma bagunça completa, você está apenas buscando pelo caminho confortável.
Tu já listou tudo que você precisa estudar, se interna nos livros/cursos/YouTube, bate no peito e tanka esse projeto.

Nunca vai existir um projeto perfeito, e você passará por isso mais vezes do que imagina e nem sempre vai poder parar e refatorar

É raro, muito raro, um projeto ter tempo e recurso pra jogar 50% do que foi feito fora.

Dito isso.
Sucesso. Tu vai conseguir

1

Salve, sendo franco, falta muito contexto para poder trazer luz ao problema. Com as informações que trouxe, para mim o mais correto seria chamar a liderança e colocar as cartas na mesa, mas vá com planos de ação, trade offs e estimativas.

Como você falou, você é dev frontend e outro era um back Sr, refatorar nesse cenário só faria sentido se o outro dev viajou muito e fez um puta overengineering, só de ler CQRS e clean architecture, já sinto cheiro de overengineering. Então, invista um bom tempo analisando e entendo a arquitetura e próximos passos, antes de sair refatorando, pois isso pode custar muito tempo de desenvolvimento.

Boa sorte.

1

De forma bem simples, eu te diria, procura seguir o padrão adotado pelo dev sênior e não tenta refatotar para algo simples que você entenda. Como você já tem 50% pronto do backend terá vários exemplos de como fazer, o que você não tiver pronto, estude em conjunto com uma boa IA (eu usaria claude), por que se você tentar reescrever tudo encontrará problemas também, e isso poderá matar o tempo que você está tentando evitar de consumir.

1

Sou do time de Produto na empresa, e já vi ocorrendo isso na equipe, duas vezes, e em cada uma foram tomadas decisões diferentes, com seus prós e contras. Talvez seja importante tentar entender o prazo de entrega e mapear o tempo e a qualidade de se seguir cada caminho, e deixar a empresa decidir. Ser realista na estimativa é importante.

1

Com pouco contexto fica difícil, se puder informar um pouco da stack como versão do projeto, algumas dependências (APIs de terceiros, API REST ou SOAP...) e o que me chamou a atenção, por que a integração seria multi-tenant?

Sugiro continuar pois a princípio parece um bom começo para um projeto, utilize uma IA para tentar entender o porquê de cada coisa e aplique as melhorias que ela sugerir. C# não é difícil, se bem utilizado pode criar sistemas complexos, seguros e auditáveis, mas também pode cair no mal da abstração do POO.

1

Multi-tenant deve ser pelo fato de ser um ERP e várias empresas poderem usar e alternar entre suas filiais e organizações, de forma que sempre mantenha o contexto de Tenant, usando normalmente um mesmo banco de dados para vários clientes.