Growing up in Kerala, Malayalam was my first language, with compound characters that plenty of software still renders badly. English came second, simpler but with absurd spelling rules. Then JavaScript, which reads however the linter tells it to.
Context switching, the literal kind
Every language has its own logic. Malayalam is precise: there's a different word for "we" depending on whether the listener is included. English borrows from everywhere, like a Node.js project with too many dependencies.
Moving between Malayalam, English and code is good practice for something programming asks for constantly: changing context without losing the meaning.
RTL is not a bug
In the UAE most people get by in English, but Arabic is the official language, and it reads right to left. Its letters also change shape depending on where they sit in a word, which is one more thing a layout can get wrong.
Right-to-left text often gets treated as an edge case. For anyone who reads Arabic, Persian, Urdu or Hebrew, it's the default. Building for RTL means admitting your defaults aren't universal.
The same goes for code. Your assumptions about users, layouts and workflows are shaped by where you grew up. Good software accounts for that. The rest ships with direction: ltr and calls it done.
Growing up with more than one language has made me more comfortable with ambiguity, and quicker to ask what a word means in this context.
Code needs both. The compiler takes everything literally, and the people who read it after you don't.