till present day, I haven't found a justified reason of why people use typescript on the backend.
C# - gives you similar syntax with a better ecosystem + tools.
if it's just types you love Java, Kotlin, Golang the same. Better languages better tools, better ecosystems.
typescript on the backend shows people have more money than sense.
It boils down to that there are not many good reasons not to. The vast majority of backends people write are really just relatively thin proxies to your database or something like that. They mostly wait on IO, which is perfect for node.
It's just a no-brainer when it's a good fit and you already have competent devs. Then there are advantages like being able to share types across your entire system without having to resort to code generation.
On top of all that, we have Effect which is easily the best and most robust way to write production grade typescript. It's nearly a language into its own and sort of should be, but we are fortunate that we can instead have and use such a useful tool in the most popular ecosystem in the world.
The usual write code on the server that can be copy pasted on the client, like form validations.
Plus many SaaS vendors now have node only SDKs, so if I want to use C# or Java, I have to advocate for the team to write their own REST bindings, instead of using the existing SDK, naturally a quixotic battle that I won't bother with.
In favour of Typescript, it has been designed by the same key architect as C#, so I don't feel that bad using yet another language from one of my language designer heros.
And if I need some additional perf on the server beyond V8, there are always native node modules.
1) Code sharing between backend and frontend is very useful sometimes.
2) JS is "trusted" in more places (or at least considered far more easily "sandboxable"). There are several large "serverless" or "cloud-native" hosts that will let you run all the JS you want at large scale, but have far more hoops to deploy/run other languages, and sometimes if they do support it they support only when compiled to WASM.
C# - gives you similar syntax with a better ecosystem + tools. if it's just types you love Java, Kotlin, Golang the same. Better languages better tools, better ecosystems.
typescript on the backend shows people have more money than sense.
maybe after all i'm lost on the incentives.