I can't speak to the "need balls" comment, however he has multiple posts where he discusses types:
> You see, when a Java programmer gets used to TDD, they start asking themselves a very important question: “Why am I wasting time satisfying the type constraints of Java when my unit tests are already checking everything?” Those programmers begin to realize that they could become much more productive by switching to a dynamically typed language like Ruby or Python.
However I think it's worth pointing out, as a teacher, Uncle Bob seems to not have experience in many languages with high quality type systems and doesn't seem to understand types. He says "I prefer the flexibility of dynamic typing, and the ability to enforce types if, and when, I need such enforcement." As a Clojure person he's probably talking about what Clojure has which does not enforce types at all but really is just a runtime assert system.
The following is vaguely in support of types but it's mostly incoherent. Where is "The Dark Path" he refers to? He seems to have a very narrow view of types, no concept of "correct by construction" with an expressive type system. His go-to example in this piece is that enforcing a function is called with an "int" instead of "double" and then talks about how that probably isn't even necessary for correctness of the program. So, you see, types are a negative there! And, maybe, it depends on what you're writing. Why he didn't choose "int" vs "string" where the incorrectness of calling one with the other should be quite obvious, I do not know.
His assertion that types do not impact the number of unit tests one writes I, also, do not agree with. It's not one or the other, but there are whole classes of unit tests you can avoid writing with types.
> You see, when a Java programmer gets used to TDD, they start asking themselves a very important question: “Why am I wasting time satisfying the type constraints of Java when my unit tests are already checking everything?” Those programmers begin to realize that they could become much more productive by switching to a dynamically typed language like Ruby or Python.
https://blog.cleancoder.com/uncle-bob/2016/05/01/TypeWars.ht...
He has another that is a bit less assertive and more just "types aren't for me": https://blog.cleancoder.com/uncle-bob/2021/06/25/OnTypes.htm...
However I think it's worth pointing out, as a teacher, Uncle Bob seems to not have experience in many languages with high quality type systems and doesn't seem to understand types. He says "I prefer the flexibility of dynamic typing, and the ability to enforce types if, and when, I need such enforcement." As a Clojure person he's probably talking about what Clojure has which does not enforce types at all but really is just a runtime assert system.
The following is vaguely in support of types but it's mostly incoherent. Where is "The Dark Path" he refers to? He seems to have a very narrow view of types, no concept of "correct by construction" with an expressive type system. His go-to example in this piece is that enforcing a function is called with an "int" instead of "double" and then talks about how that probably isn't even necessary for correctness of the program. So, you see, types are a negative there! And, maybe, it depends on what you're writing. Why he didn't choose "int" vs "string" where the incorrectness of calling one with the other should be quite obvious, I do not know.
His assertion that types do not impact the number of unit tests one writes I, also, do not agree with. It's not one or the other, but there are whole classes of unit tests you can avoid writing with types.
https://blog.cleancoder.com/uncle-bob/2017/01/13/TypesAndTes...
In short, for topics that I am personally interested in, I have found Martin to be poorly educated but full of opinions.