Having had extensive experience (many years) using each of statically and dynamically typed languages professionally, it's been my finding that, all other things being equal, statically typed languages are better at yielding high quality large codebases. There are entire classes of errors that a competent IDE will detect for you instantly in a statically typed language that you might not catch until compilation/testing/even production in a dynamically typed language. It's also simply easier to write more powerful tooling for refactoring in statically typed languages, so large-scale refactorings inevitably end up being easier. And it's no accident that companies (including mine) are increasingly adopting TypeScript, which brings some of the advantages of statically typed languages to JavaScript.
I have to say that, just looking at the language itself, C# is probably my favorite, but the surrounding stack including Windows makes me prefer Java on Linux to it, especially Java 8 because of its support for lambdas.
Although, it's also been my experience that the other factors mentioned have more of a role than the attributes of the languages involved themselves.
He's saying that it gets proportionally more harder to manage a large codebase in JS than it does in statically typed languages like Java. This has been my experience as well.
> the weakly-typed/dynamic nature of JavaScript itself which doesn't scale well to larger server-side codebases
has less to do with it.
Do you really feel that your strongly-typed Java job would be so great if all of the other poor practices of your previous job were in place?