開発経験がないエンジニアがシリコンバレーで1年間チーム開発をした話
昨年度、1年と少しの間、米国のシリコンバレーでエンジニアとして働いた。
自分はエンジニアと言いつつも、日本では研究に近い業務をしていたので、プロトタイプの実装とかはやったことがあっても、チームでのプロダクト開発等はやったことがなかった。
しかも職場のコミュニケーションは全て英語。
そんな自分が、世界でもっとも技術力が高いと言われるシリコンバレーに放り込まれ、1年間どのように推移していったかを書いていきたい。
赴任開始時のスペックは以下の通りだった。
・英語力:TOEICスコアで平均850くらい。留学経験等なし。
・コーディングスキル:Pythonをはじめとしていくつかの言語が使える。研究でシミュレーションやプロトタイプを実装するためには使えるが,具体的なプロダクトを出した経験はなし。
・開発対象や周辺分野に関する知識:あり。仕様や機能に関するある程度の知識があった。これが無かったら死んでいたと思う。
・チーム開発に関する知識:ほぼなし。渡航前にツール(JIRAやGit)について少し本で勉強した。
1ヶ月目
到着した空港でUberと待ちあわせがうまく行かず、トラブルが発生する。ドライバーが「long 〜」としきりに言っているので、「長く待たせてわるかったねえ」的なことを言っているのかと思い、「No problem, HAHAHA」と返していたらブチギレられた。正しくは「Wrong place」だったらしい。強いスペイン訛りの英語とはいえ、自分の英語運用能力に早速自信がなくなる。
マンションや車などの生活インフラの整備、赴任先でのミーティングなどで大体1ヶ月目は終わった。
2ヶ月目
赴任先のメンターから「XX機能の開発をしてみない?」という打診がある。なお、この際「その機能5ヶ月後の展示会でデモするから」と言われる。
英語もおぼつかない人間にそんな大役まかせんだろ、と思い「アメリカ人特有のCheer upか?」とあまり本気に捉えていなかった。開発打診の際、隣に居合わせた同僚が「せっかくならPythonではなくGoで書いたら良いのでは?」とコメントをしたため、それまで使ったことがなかったGo言語を習得することとなり、開発難度が爆上がりすることとなる。
この時点では、「〜どうか?」という質問に対して論理立てて反論できる程度の英語力がなかったため、このコメントに対しても賛同する方向で話が進む(後にこの技術判断は正しかったことが分かる)。
3ヶ月目
先月依頼された内容のプロトタイプ的なものができたので、デモをすることになった。震える手でEnterキーを押すも、マシンがフリーズする。デモに期待していたメンターも同時にフリーズした。"I'm not sure why this issue happened though..."と言える英語力は身につきつつあるものの、だからと言って問題が解決するわけではない。
この時期はまだ完全に一人で開発していたため、チーム開発感はなかった。
4ヶ月目
国際会議に参加し、以前参加した時よりも聞き取りは向上していることを実感する。相性の良いノンネイティブの発表であれば、単語レベルで8割ー9割は聞き取れる。以前は苦痛でしかなかった会議中のパーティでもある程度会話を楽しめるようになる。しかし肝心の自身の発表の質問者は最初ゼロだった(Chairmanが質問してくれた後はパラパラと質問があった)。英語のFluencyの問題と考え、Skype英会話の受講頻度を上げる。
淡々と開発を進める。
5ヶ月目
前月から英語が伸び悩んでいたので、気晴らしに日本語の小説(吉本ばなな)の英訳をする。これのせいかは不明だが、スピーキングにブレークスルーがあった。「ある日突然喋れるようになる」という感覚を少し掴んだ気がした。この時点で、メンターとの打ち合わせにおいても、一方向ではなく、ある程度対案の提示等ができるようになる。
6ヶ月目
通勤帰りにスーパーマーケットに寄るために路上パーキングに車を止めて戻ってくると、車が消えていた。付近に特に張り紙もない。近くにいた警備員に尋ねると、「今日はパレードがあるから牽引されたよ」とのこと。
警察に電話し、近所の小学校に牽引された車が集められていることを教えてもらう。聞き取った小学校の名前があっているか不安だったが、果たして車はそこにあった。この時ほど英語スキルの重要性が身に染みたことはない。
メンターに「来月のデモだけど、開発の進捗どう?」と聞かれる。あれ本気だったのか。この頃からデモ系へのマージのため、チームで開発することが増える。自分の技術レベルの低さに落ちこむことも増えるが、職場のエンジニア同士が「時間ないし、グローバル変数作って解決しよう」「What's a beautiful way !」みたいな会話をしているのを聞いて以降、そこまで自分を卑下することはなくなった。
7ヶ月目
前月から孤独感に苛まれ始め、日本から取り寄せたサルトルの「嘔吐」を読む。しかし、デモに向けた開発が忙しくなりすぎ、読み切るのを断念した。あまりに忙しく、「孤独とは」「生きる意味とは」などという高尚なことを考えている余裕はなくなる。結局デモ系が動いたのは、デモ担当者が飛行機に乗る12時間前だった。
締め切りという圧倒的な実存的目標の前に、開発者自身の悩みや憂鬱といったものは完全に無意味である。「嘔吐」を読み切ることはできなかったが、ある意味実存主義的な学びはあった。多分サルトルが言いたかったことは全く別だとは思うが、開発が終わったあと、それらの憂鬱は過ぎ去っていた。
開発が終わる頃には、赴任先でも「XXの開発をやっている人」とある程度認識されるようにはなっており、チーム以外のメンバからも偶に技術的な質問を受けるようになる。日本の職場でもそうだが、自分が職場に明確なGiveができていて、かつ周囲がそれを認めてくれる状況になれば、精神的にかなり楽になる。この状態までどうやって早く持っていくかが海外赴任の鍵な気がする。
8ヶ月目 … 日本に一時帰国
この頃Skype英会話の受講時間の合計が100時間を超える。英語にある程度の自信がついてくるが、空港にて "Where's United Airline's counter ?"と質問して、"Oh, Singapore Air is there !"と何一つ合っていない応答が返ってくる程度には発音が悪い。
9ヶ月目
赴任中に開発したコンポーネントに関して国際会議で発表した。この時期になると、質疑応答には、文法的に破綻することなく余裕を持って答えられる程度にはなっていた。ただし、イントネーションやアクセントは完全に日本人のそれであり、未だカタコトの領域をでない。
これまで尻込んでいた職場の飲み会に初参加するが、意外にも楽しくコミュニケーションできたことに驚いた。
10ヶ月目〜11ヶ月目
もともと、大きな開発プロジェクトの一部として進めていた自身の開発が、別プロジェクトとして独立して進めることとなる。週一で4、5人のメンバが集まり、各自の課題や進捗を話し合う。
スピーキングに関して、赴任直後は発表前に15分ほど英語で何を喋るか考える必要があったものの、そこまで考えなくても会議中にフリーズせずに喋れる程度にはなっていた。この時期にリスニングの方にもブレークスルーが発生する。自プロジェクトの会議であれば、電話会議であっても議論されている内容の8割、9割が理解できる。また、会話中心のテレビドラマの3、4割は聞き取れるようになる。
12ヶ月目
関連プロジェクトの開発会議に参加する。リスニングにも自信がつき、大半は理解できるだろうと舐めていたところで鼻っ柱を叩き折られる。自分の専門ではない分野に関して議論が始まると、何を話しているのかすらわからない状態が続く。自分の聞き取り能力が、リスニング能力以上に専門知識に支えられているものであったことを痛感する。
月末に任期を終え帰国。帰国後TOEICを受けたところ、935点だった。赴任前の平均点が850ほどだったので、85点ほどあがったこととなる。