Parts of that article are a bit dubious. Good practices don't have much to do with a language being statically typed or dynamically typed. You can write awful, convoluted code with a wizardry approach in Java and C++, but clean, easily maintainable and testable code with an engineering approach in Elixir and Clojure, which indeed would be much harder in Python. The programming paradigm (and a lot of other factors) is probably much more important than static vs. dynamic.