Looking at other cultures, finding differences, can teach us about ourselves.
One example from business: in the US we rate managers on results. Quarterly or annual metrics measure an employee’s value. In contrast, many Asian countries give managers years to build a strong market position. Recognizing the distinction between short-term and long-term results, we can stop taking for granted that obviously the best way to evaluate a person is by this year’s numbers.
In programming, we can learn from other languages and their cultures. As a Java developer, I learned from Haskell that we can get way more out of the type system if we take the time to be more specific than String or Int. The Haskell community teaches that we can do better than testing a few examples. I learned from Ruby that code can be more expressive without curly braces. Ruby teaches the importance of careful, intuitive API design; in dynamically typed languages we like to remember or guess method names. The Ruby community teaches that the important part of coding is the people, both the people who use the programs and the people who write them.
Experiencing diverse cultures can help us question what we thought we knew, and grow as people and programmers.