I do share your opinion on the untyped part, it's a bit of a bummer but there are gems to Ruby that helps with that.
Regarding the monkey patches, it's a concern many have and because of that, there is now a cleaner way of doing it! It's called a refinement. It's like monkey patching but in a more controlled way where you don't affect the global namespace.
https://docs.ruby-lang.org/en/master/syntax/refinements_rdoc...
https://charliereese.ca/y-combinator-top-50-software-startup...
Lmao you really think Stripe is still running primarily on Ruby? Yeah it's good for prototyping because it's fast to write in, but unmaintainable as hell for a real business.
Update: found a thread here on HN: https://news.ycombinator.com/item?id=29834840 I doubt they’ve rewritten everything to Java for the last three years.