Learning multiple programming languages and putting non-trivial projects into production using those new languages has been one of the most powerful tools for me personally to expand my abilities as a software developer. It will help you to do the same.
Exposure to new ideas, paradigms, and ways of approaching problems. This is especially true if you're using a language from a different paradigm than you're used to.
Being a polyglot also gives you more freedom and flexibility in job hunting. If you're only a Ruby or Java dev, you may miss out on exciting opportunities with Node.js, Python, or Haskell.
What language should I learn next?
Pick something completely alien to you.
Think about some of the key paradigms. If you primarily write statically typed languages, consider a dynamic language. If you write object oriented code, try your hand at functional or inductive logic programming.
Immerse yourself and adopt the culture
It doesn't do any good if you come to Ruby from Java and write your Ruby so it looks like Java. In the same way it won't do you any good to try to force your current habits into TypeScript or Haskell. Really soak in the language and community as a beginner. It will force you to see where your current language of choice is weak, and how it could be better, while also allowing you to see the weaknesses in the new language.
This will be frustrating, because you will be a beginner again. But this frustration is important. Don't give up, and don't go back to your current paradigm until you internalize the new. Force yourself to solve the problem in the new language's way and it will make you a better engineer.