海外インターン生を受け入れること

親会社が進めている海外展開の1つで、昨年からインドからのインターン生をうちの会社でも受け入れている。昨年に続き、今年も5/20 - 7/11 に渡る約1ヶ月半に渡ってインド人学生のメンターとして彼らに接したことの所感を整理してみる。

コミュニケーションの源泉

まずは何と言っても英語が分からない。私の英語力では、彼らの話していることの7-8割は分からない。それでうまくやれるかというと微妙なんだけど、まぁ業務としての成果は出せる。

私の場合、英語が話せないから、

  • 目的を伝える
  • 例や調べ方を教える
  • 一緒にデバッグする

というやり方で接している。どうせ英語だと深いところは説明できないし、自分だったらどこを調べて、どうやってデバッグするかを彼らにみせる。そこから彼らなりに学んでもらう。

もう1人の同僚のメンターは、過去にイギリスの大学に留学していたのもあり、英語が普通に話せるのでもっとうまくコミュニケーションをとっている。すごいなぁと思うのは、業務の話だけではなく、日常会話をしていることだ。そうやって相手に興味を示しながら信頼関係を高めて、さらに高次のコミュニケーションに至るんだろうと何となくみていて思った。自分の場合、あまり世の中のことに興味がないせいか、自分の目的にないものの話は基本的に聞くだけで特にどうでも良いと思ってしまう。また社内にも結構英語が話せる同僚はちらほらいて、そういうのを目の当たりにしてると自分はダメだなぁと良い意味で落ち込む。

とはいえ、プログラマープログラミング言語という共通言語がある。2回目のメンターをやってみて実感できたのは、英語は分からなくてもそれなりにコミュニケーションはとれるということ。いまの技術で大事なことはその背景にあるコンテキストを理解すること、そしてそのコンテキストを抽象化して伝えることだ。

うちの会社でも、数年以内に開発は英語が公用語化される雰囲気がある。個人的には、それが世の中のトレンドだし、英語ができない人は最初からお断りといった明確な姿勢を取る方が分かりやすくて良いと思う。

  • 読む
  • 書く
  • 聞く
  • 話す

英語の4つの能力がある。この中で後天的に最もネイティブに近づくのは「聞く」の能力らしい。どれか1つに自信がつくと、別の能力にも目がいくようになる。言語は生涯学習の1つだから、いまできないことよりも、どうやって学習するかの習慣作りが一番大事なことに思う。

企業の目的

昨年のインターンシップが終わった後に親会社のリクルーターに、企業としてのインターンシップの目的を聞いたことがあった。通常の、日本人向けのインターンシップは社会貢献だけど、海外のインターンシップ生はそれとは違う。一説によると、シリコンバレーの半分ぐらいのプログラマーは、インド人と中国人だという調査結果もあるらしい *1 。新卒のプログラマーとしてインド人が優秀だから採用したいが、彼らは日本で言う東大生のようなもので Googlefacebook といった企業からもスカウトされるような存在。つまり、海外のインターンシップ生向けの目的は採用なのだ。

私がメンターとして指示されているのは、この会社で働くと自分が成長できる、この会社の技術力は高いと学生が実感できるようなインターンシップにしてくれということだ。その延長でプロダクトの開発に携わってもらっているわけだけど、日本人/外国人に関わらず、学生がちょっとやってきて、たった1ヶ月半でできることなんかはたかが知れている。メンターがインターン期間を考慮しながらお膳立てして、予定調和な成果を出してもらうのが一般的だと思う。

学生の目的

ふと、学生の目的は何だろうな?と思った。彼らの1人はサンフランシスコで働きたいと言っていた。昨年のインターン生はアニメ好きの親日家で、日本で働きたいと言っていた。実際に親会社からオファーを受けてそのまま入社したらしい。残念ながら勤務地はシンガポールなんだけど、それでも日本企業に勤めたかったんだろうと思う。

彼らの話の中ではどこそこの企業というよりも外国で働きたいという印象を受ける。英語が公用語というのが強いのか、若い頃に外国へ出て働くことがキャリアとして確立されているのか、世界に出ていくことに抵抗がない *2 。だから名前も知らない日本企業のインターンシップにも参加してくるんだろうと思う。

いろんな意味を含め、日本はやっぱり平和でのほほんで良いなと思う。

インターン生を身近でみていての所感

やっぱり学生なので基本的にはお客様扱いだ。会社の目的が採用なのだから尚更そうなる。
居心地の良い職場環境だと思ってもらった方が採用の確率は高まる。企業の中にしかないものを対象に、そこそこの課題を与え、それなりにヒントを出しつつ、解答に導く。それを親切に指導すれば、普通に印象は良くなる。

私の方針としては、細かいことは言わないし、求めなければあえてそれ以上のことも言わない。まだ20歳前後の学生に対して、おっさんがあれこれ型にはめるよりも、彼らなりの感性で良さそうに思ったものを吸収してもらった方が、長い目でみて彼らの財産になる気がするからだ。まぁ自分自身が型にはめられるのを嫌うというのもある。

プロダクトからモダン開発の要点をいくつか学ぶことができたと思うし、ちょっとだけだけど OSS コミュニティとやり取りするきっかけみたいなのも示した。それを次にどう活かすかは彼ら次第だ。

企業でのインターンシップで学ぶことは、こんなところだろう。

  • コードの保守性
  • チーム開発で守るべきルール
  • インターフェースやコンポーネントを意識した開発アーキテクチャ
  • 開発業務としてのワークフロー
  • 中大規模な開発体制

他のことは OSS 開発からも学べるし、純粋に技術的なことはインターネットから出てくる方が多いかもしれない。同僚のメンターは、プロダクトの機能開発のような、一定の手順を踏めばできるような開発よりも、彼らの専門であるコンピューターサイエンスの分野を活かして何かをしてもらった方が良いのでは?と疑問をもっていた。これは賛否両論あるけど、上記のようなことははっきり言って技術的に難しくない、が企業の中でしか経験できない。そして、ほとんどの企業に入社すれば、同様にそういったつまらない仕事をすることの方が多いはずだ。

学生にとってどちらが良いのか、私も明確な答えはもっていないけど、少なくともプログラミングが好きな人なら、自分なりの楽しい領域をみつけて楽しめるだろう。だからこれをしてはいけない、あれをしてはいけないといった制約を設けず、なるべく思ったことはどんどんやれ、好きなようにやれと言ってやればそれで十分な気もしている。

あと思ったのは、他人のソースコードやエラーメッセージを読むのに慣れてないことだ。分からなかったらすぐに聞いてきて、その都度、一緒にコードリーディングしたり、デバッグしたりしていた。ソースコードを読めと何度か言ったんだけど、これはいま一つうまく伝わらなかった。ソースコードのコピペも、そう言えば、私も学生の頃、インターンシップ先でそこの社長に怒られたなぁと懐かしみながら指摘していた。

世界が身近になって思うことは、普通の日常がやっぱりすごい速度で変わっていっていて、意識的にしろ無意識にしろ、それを受け入れて判断していかないといけないというプレッシャーが半端ないってことかなぁ。

*1:まつひろのガレージライフ: インド人と中国人が支えるシリコンバレー

*2:現にいま日本に来ているのだから、そういう学生だけに会っているというバイアスももちろんある