優秀な海外のエンジニアを採用する時に何故文化の違いを気にしないといけないか。
以前、比較的マイナーな言語の日本コミュニティに入っている外人エンジニアと面談した時、開発スキルは確かにあるかも知れないが、人数が少ないエンジニアチームにアサインするのは難しいのではないか、という話になった。
開発スキルがあるエンジニアなんてそんなに国内にも多くないので、優秀なエンジニアであれば、即採用なのではと思っていたら、「文化の違いが開発時のコミュニケーションの足かせになる」というチーフエンジニアの話だった。
どういうことか、分からなかったけど、最近ある本を読んで少し納得した。
遙かなる他者のためのデザイン ―久保田晃弘の思索と実装
https://www.amazon.co.jp//dp/B06XDM85QK/
今のプログラミング言語はオブジェクト指向という考え方が主流になっている。昔からある言語としてJavaにその考え方が備わっている。
抽象的な概念をオブジェクトとして名前をつけて、性質や機能を予め定義することで、記述するコードの量を減らしたり、可読性を高めることが出来る。最近の言語は更にその特徴が強くなっていると思う。
オブジェクト指向はイメージスキーマという認知パターンがベースにある。
これは、上記の本によれば、「私たちが日々身体を通じて繰り返し経験することを抽象化することで獲得された、文化や言語の違いを越えた人間にとっての(私たちの身体構造や生活環境の類似性から生まれた)普遍性をもつ、基本レベル(basic-level)の(原始的なものではない)認知パターン」である。
要は、普段の生活で共通認識になっている感覚があるよね、という話だ。
例えば、未来は前にあり、過去は後ろにあるのが普通だと思う。
しかし、文化によっては未来は見えないから後ろにあって、過去は分かっている事だから前にあるという考え方もあるのだ。分からなくも無いと思う。
つまり同じ認知パターンを持っていないと考え方が逆になってしまう時もあるという事。するとクラスやインスタンスを定義する際、真逆の書き方をしてしまうかも知れないということだ。FIFO(First in First out)やLIFO(Last in First out)の考え方も逆になりかねない。極端な例だけど、文化の違う海外の人がいるということはそういう問題が起きる可能性があるということ。
なので、出来れば同じ国の文化を共有していて、ドメイン知識を理解している(例えば、医療系ITなら医療のことをきちんと理解している)人が本当は一番ミスマッチが起こらないアサインの仕方なのだ、ということを言いたかったのかなと思った。
サポートで下さったお金は、今後の創作やライティングに活用していきたいと思います!