日本人のいない環境でエンジニアインターンをした記録
この夏休み、IndeedのAustinオフィスで2ヶ月弱インターンとして働いていました。
AustinはTexasの州都で、最近はIT企業が集積しています。規模は比較にはなりませんがシリコンバレーの用な感じです。
その時の記録をまとめておきます。
Indeedとは
Indeed.comは、求人の検索エンジンで、ほぼ全世界でサービスを提供しています。最近は日本でもたくさんCMを打ったりしていますね。ユニークユーザーは月間2億くらいです。
応募・選考
最初にIndeed.comを知ったのは、去年に出たCode Festivalというプログラミングコンテストです(リクルートとIndeedが共催しているものです)。そしてその関連でインターンの案内が来ました。
エンジニアとしてレベルが上がりそう、そしてアメリカに行きたいというのがあったので、ダメ元で申し込んでみました。
まずはWeb試験を受け、そして恵比寿にある東京オフィスでコーディング面接を受けました。全部英語で(対策はある程度していったものの)かなり圧倒されました。
コーディング面接は2回ほどあり、特に2回目は3時間ほぼぶっ通しでした。人生で一番頭を使った気がします。
準備
光栄なことに、選考に通過させていただきました。相当嬉しかったです。
J1ビザ取得のための書類の準備・アメリカ大使館での面接などいろいろと想像以上に大変でした。そして一人ビザが下りず、とても悲しかったです...
ちなみに、選考に通ったのが3人で、ビザの関係で実際にオースティンに行くのは2人でした。
オースティン到着・業務開始
オースティンはめちゃくちゃ遠かったです。ミネアポリス乗り換えで、18時間くらいを要しました。
まあなんとか到着し、オースティンでの慣れない生活が始まりました。
一週目になんかしら本番環境にデプロイするのがしきたりらしく、かなり焦りました。社内wikiとチームのコードを無限に読みました。量多すぎて死ぬかと思いましたが、なんとかだんだん理解でき、一週目にも少しですが意味のあるコードを書けたと思います。
業務中盤
中盤にさしかかってくると、だんだん開発のスピードが上がってきて楽しくなってきました。終わる気がしなかったメインプロジェクトも早めに完成させることができて、その後はチームの実際の開発フローにのっていろいろと開発させていただいていました。
このころになってくると、国際免許取ってこなかったことを後悔し始めました。また、職場が食べ放題飲み放題で太ってきたのでホテルのジムに通うようになったりもしました。
業務後半
後半になるとなんとチームに新入社員が入ってきて、狭義の先輩になりました。コードレビューも少しだけ書いたりもするようになりました。学ぶこともあり、自分が書いたコードがきちんと全世界で動いたり、とにかく業務はありえないほど楽しんでいました。
そして最後にチームメンバーの前でこの夏やったことをプレゼンし、帰国しました。
やったこと
まず、メインプロジェクトがまず1つ与えられました。
簡単に言うと、仕事の名前を一般的なものに変換したりして(Senior Java Developer -> Software Developerみたいな)、そしてそれをユーザーの行動予測のための機械学習モデルの精度向上に役立てようみたいな感じでした。それにまつわるいろいろな部分をJavaで実装しました。
また、そのメインプロジェクトを完成させた後は、チームメンバーと同様に新機能の開発・既存の機能の改善などをしました。
その中で、アクセス元の位置情報をもとに挙動をいろいろと変えるという既存の処理を高速化する、ということもやりました。一日に数百万回実行される部分で普通に怖かったのですが、不具合もなく、処理の実行時間の中央値がnミリ秒から0ミリ秒になったときにはかなり嬉しかったです。
おわりに
学ぶことも多くあり、そして楽しく、かなり充実した夏だったと思います。
アメリカまでいかせてくれて、そしてこんな経験をさせていただいたこと、本当に感謝しかありません。