Recruit Programming Contest 4日目 (2/12)

酒パワーで6:30くらいに目覚めたので、シャワーを浴びて朝食を食べに行く。

朝食はカウンター形式のキッチンにいるおばちゃんが、リクエストに応じて具入りのオムレツを焼いてくれるという形式だった。 最初システムが分からず、Omlet pleaseとか言っていたら何入れる?とか付け合わせどうする?みたいに色々聞いてくれたのでなんとかなった。 どうやらここでもチップを払わないといけなかったらしいが、チップシステムを理解していなかったので払い忘れる。

(写真は翌日撮った@kyuridenamidaのやつ)

スタッフの方々が食べている席があったので、そこに入れてもらう。 日経BPの記者という方がいたので、中学生の頃に日経BYTEを読んでいたけどなくなって残念だったという話をしたら、あの雑誌は廃刊になったとき各所からすごく惜しまれたということを教えてもらった。

9:00からテキサス観光。11:00にはIndeedに向かうのでかなり急ぎ足。 ホテルの入り口にある飲み物が昨日と変わっていて、シトラスエリクサーなる飲み物になっていた。つよそう。 味はただのレモン水だった。

州会議事堂。

議事堂内部より、外の広場にリスがいたのが面白くて、みんなそっちへ群がっていた。

テキサス大学。 University of Texas で、通称UTらしい。

CVSという看板があったので思わず撮った。Concurrent Versions System!!!!!

UTの生協にものすごい色彩のぬいぐるみがあったので即買いした。やばい。

観光から帰ってきて、すぐにIndeed社へ向かう。

なんとなくGoogleっぽい内装。

Indeed社員の方々と昼食。 Indeedにはビュッフェ形式の食堂があって、適当に好きなものを取って食べる。 ここでもチーズ和えマカロニがあった。 あと細長い米が意外とうまい。まあ米は米だしな……。

一緒になった社員の人に、大学でどんな研究をやってるのか聞かれて、初対面の人に英語で研究内容を説明するというハードル高い初体験をする。 がんばって話したらそれなりに理解してもらえたようなので安心した。

なんだかんだで連日英語で結構な量の会話をしているので、話し方が分かってきた気がする。 ただ語彙がないので複雑なことを言おうとすると結構詰まる。

昼食のあと、Indeedの理念や実際のワークフローについてのプレゼンを聞く。

Indeedでは毎週リリースポイントがあるので、それに間に合うように機能の分割統治が行われ、結果としてシステム全体の見通しがよくなるらしい。 また、認証や検索といった機能ごとにバックエンドを分割し、フロントエンドと疎結合にすることで、機能ごとにアップデートするようなことが簡単にでき、小回りが利くようになる。 このとき前後1バージョンの互換性を確保することで、フロントエンドとの不整合も防ぐことができる。

かなり綺麗なプロジェクト管理方法だけど、これを実際に回すのは大変そうだなぁと思った。実際うまく回っているとしたらかなりすごい。

プレゼンは同時通訳がついていたけど、あまり技術的な話には詳しくない人らしく、英語で聞いたほうが分かりやすかったので、通訳はあまり聞いていなかった。

プレゼンの後、個別にCoding Interviewを受けることになった。 まさかそんなガチのイベントがあるとは思っていなかったので動揺する。

Coding Interviewでも通訳がいたけど、さっきのプレゼンで技術的な話は微妙そうだなぁというのと、コミュニケーションにラグがあるとやりにくそうなのと、あと趣味で、全部英語で話していた。 問題自体はほぼ自明な実装を書くだけの簡単な問題だったけど、緊張しているのとホワイトボードに書くというやりにくさで、焦って変なバグを埋め込んだり、何回も書き直ししたりしてしまった。 最終的には解けたのでよかったが、下手なコンテストよりずっと疲れた。

Coding Interviewの次はもう一回プレゼンを聞く。 今度は本職の通訳ではなく、日本語の話せるIndeed社員(かなりうまい)が合間合間で訳していく感じだった。

今度はサービスの信頼性確保についての話。 Indeedは毎日数億のトラフィックを処理しているため、数十msの遅れや数分のダウンでも多くの人に影響が出る。 そこで、できる限り高速に処理を行い、ダウンタイムを年間数分に抑えるようにしたいが、そのためにはシステムの構成がとても重要になる。 一般的なデータセンターでは、アップタイム100%を謳っていても、30分以内のダウンやメンテナンスの時間を計上しなくていいため、実際はアクセスできない時間が発生してしまうのが普通である。 この問題に対して、Indeedではデータセンターを分散して動的にトラフィックを振り分けたり、毎週のリリースによる実験を繰り返したりすることで、安定性の高いシステムに向けて日々改良を重ねている。

通訳も技術者なのでプレゼンの内容を分かっていて、プレゼンテーターが喋ったことを適当に再解釈して日本語に直している感じで、結構聞きやすかったし面白かった。

プレゼンの後はIndeedのプレイルームでゲームをしたり、他の人のCoding Interviewの問題を聞いて解いたりしていた。

全員がCoding Interviewを終えるのを待って、MITでやったコンテストの表彰。 全員がお土産をもらったほか、日本人トップ3は別に賞品をもらっていた。いいなぁ。

ホテルに戻ってまた赤ワインを飲む。 IS地下勢が連日ほぼ徹夜でカードゲームをしているという話を聞く。やばい。

夕食のため、バスに乗ってステーキハウスへ。 道中に◎TARGETという名前のスーパーが見えた。入るだけでハラスメントされそうである。

ステーキハウスのサラダ。 レタスを1/6くらいに切ったやつにシーザードレッシングをかけただけみたいな適当な物体。 ほぐされてすらいない。 アメリカ料理、ちょっと野菜に対する意識が適当すぎなのでは……。

ステーキ。 脂肪のほとんどない、いかにも肉!!!!という感じの赤身ですごくおいしかった。

付け合わせのアスパラガスとジャガイモ料理(ジャガイモとチーズの重ね焼きみたいな感じ)。 ジャガイモはおいしいんだけど、えらく塩味が濃くてあまり食べられなかった。

デザート。 ブラウニー、プリン、レアチーズケーキ。おいしい。

食事中はICPCとかJOI勢の内輪感やばいよねみたいな話をしていた。 語彙が少なくて、すぐに謎スラングが蔓延するのが原因じゃないかという結論になった気がする。 あと、suneさんが誕生日だったらしく、サプライズで誕生日ケーキが振る舞われていた。

ホテルに戻るバスの中で、翌日は4:45にモーニングコールで起こすから、5:20までに朝食を取ってロビーに集合しろという話を聞く。一昨日よりやばいんですがそれは……。

戻ってからシャワーを浴びたら22:30くらいだったが、朝早いので流石にすぐ寝た。

5日目へ続く