Infelizmente às vezes só nos resta se contentar em trabalhar no código legado mesmo.
No caso da empresa em que trabalho, o cliente não quer trocar as máquinas para máquinas mais recentes, por isso temos que usar uma versão bem antiga do .NET (versão 2 e 3).
Além disso não quer depender de internet, daí salva os dados tudo em um monte de XML.
Essa é a justificativa que recebi. Já tentaram conversar e refatorar o código mas não deu muito certo.
Eu quando comecei tinha muito hype de novas tecnologias (.NET 8 chegou!), mas fui vendo que nas empresas não é assim que funciona. Só se eu trabalhar em consultoria e pegar algum projeto no início. Agora, se quiser uma empresa mais sólida, o código legado é inevitável. E muitas vezes não podemos simplesmente migrar.
Uma outra empresa que trabalhei tinha um legado gigante. A solução que encontraram é ir criando vários pequenos sistemas diferentes que substituem uma parte desse legado. Me parece uma ótima estratégia. Porque caso o sistema novo dê algum problema, o legado ainda está lá para salvar.
Além disso não quer depender de internet, daí salva os dados tudo em um monte de XML.
Ameaça tacar fogo no prédio onde ficam os servidores sem redundancia na nuvem haha.
Brincadeiras a parte, talvez o ideal seria mostrar ao cliente os perigos que podem ocorrer dele ficar estagnado tecnologicamente.
Caso seja impossível talvez seja a hora de procurar um novo desafio