Creio que a maior parte já foi respondida pelo maniero e outros, vou falar de "stacks" por que .NET e C# são ligados assim como Node e JavaScript, assim por diante. Muito do que fazemos é utilizar de templates, bibliotecas e frameworks para ajudar no desenvolvimento, e uma aplicação comercial de verdade tem muita coisa pra se preocupar, desde a performance e segurança até monitoramento, ciclo de vida, suporte ao usuário e muitas outras coisas. Em .NET graças ao masoquismo de algumas bibliotecas e através da orientação à objetos, coisas como segurança, logging, tipagem e outras coisas são super simplificadas ao usuário, mas por um custo - seguir a arquitetura deles. Um exemplo disso para JavaScript é o Next.js que facilita o uso de rotas baseadas em arquivo (File-based routing in Next.js).
Você pode seguir arquiteturas muito simples em .NET, nas últimas versões como Minimal APIs nem parece os Controllers MVC de antigamente, mas essas super arquiteturas são "apenas" uma receita para facilitar a implementação de novas features e/ou correções.
Recomendo a leitura de uma forma um pouco menos "técnica" de organizar seus projetos, baseada nas funcionalidades do sistema e não em Controllers, Data e outros