Foobarとは?Googleが極秘に進める「検索で見つかる」採用プログラムの全貌
現代でプログラミングをするうえで最もありがたいことのひとつは、世界中のエンジニアたちが蓄積してきた問題解決の知恵が、インターネット検索ひとつで手に入ることです。そして、そのことをGoogle自身もよく分かっています。実は2014年以降、Googleはユーザーの検索行動を監視し、コードに関する情報を探している人を見つけては、コーディングの課題を提示し、優秀な人材を採用するという取り組みを行ってきました。このプログラムの名前が「Foobar(フーバー)」です。運良く選ばれ、かつ平均以上のJavaまたはPythonのスキルを持っていれば、Googleへの就職というチャンスにつながる可能性があるのです。
チャレンジの内容はどのようなもの?
Foobarへの招待を受けると、Googleの検索結果ページの上部がスッと開き、暗い背景とともに「あなたは私たちの言語を話していますね。挑戦してみますか?(You're Speaking our Language. Up for a challenge?)」というメッセージが表示されます。

ここで「はい」と答えると、プログラムの概要と、コンソールを操作するためのコマンド一覧が記されたページへ移動します。

仕組みを理解し、コンソールへのコマンド入力に慣れてきたら、アカウントを作成しましょう。アカウントを作っておけば作業内容が保存され、後日続きから再開できます。その後、最初のチャレンジにアクセス可能になります。
ストーリーはこんな感じです。あなたは悪の組織の手下として潜入することになります。相手は「バニー反乱軍」を壊滅させようと企む悪名高い「Commander Lambda(ラムダ司令官)」。物語が進むにつれて組織内での地位が上がり(合計5つの課題をクリア)、最終的にはコーディングスキルを駆使して、組織を内部から崩壊させることになるのです。

使用言語はPythonかJavaのいずれかを選べます。どちらを選ぶ場合でも、普段使い慣れたエディタでコードを書いてテストし、完成したものをGoogleの解答ファイルに貼り付けるのがおすすめです。筆者自身の課題の詳細は、おそらく現在も継続中のプログラムなので公開は控えますが、レベル1は少しの創造性と基礎的なPythonの知識があれば十分でした。求められたのは、ラテン文字を0と1のシーケンスに変換する関数を書くことだけです。ただ、噂によると難易度はかなり急激に上がっていくようなので、筆者は時間に余裕ができてから残りの課題に取り組むことにしています。

提出したコードはGoogle側でいくつかのテストケース(事前に告知されるものと、されないものがあります!)を使って実行され、合格か不合格かが通知されます。合格すれば次のチャレンジへ進むことが可能です。ただし注意が必要なのは、課題を受諾した時点で制限時間が設けられる点です。制限は数日から数週間程度。期限内にコードを完成させられなかったり、Googleのテストケースに落ちたりするとチャレンジは終了となります。ただし、再度トリガーできれば再挑戦のチャンスが得られることもあるようです。

Foobarをトリガーする方法
筆者の場合、「Raftコンセンサス(Raft consensus)」というキーワードでGoogle検索したところFoobarが表示されました。これは分散システム上のマシン同士が共有値について合意形成を図るためのアルゴリズムです。実際にこのアルゴリズムを使う可能性はほぼゼロだったのですが(あくまで調査目的の検索でした)、そんなことはGoogleには分かりません。結果的に招待状が届いたというわけです。

Googleには複数の招待経路が用意されていますが、どれも簡単には見つかりません。URLを知っていたとしても、正式な招待を受けていない限りサイト上で何もできない仕組みになっています。
1つ目の方法は、特定のキーワードで検索することです。ただしこのキーワードは頻繁に変更されるようで、おそらくその時々の採用ニーズに応じて調整されているのでしょう。執筆時点では「raft consensus」での検索がまだ有効なようです(筆者はブラウザ、マシン、アカウント、VPN接続を変えて何度も試しましたが、毎回表示されました)。とはいえ、いつ変更されてもおかしくありませんし、地域による制限もあるようです。「米国在住のユーザーしか招待されない」という憶測も存在します。

2つ目の方法は、Googleの開発者向けページを閲覧し、どこかのページで5分ほど滞在することです。すると一部のページでは、右上に小さなボタンがポップアップ表示され、そこからチャレンジへの招待を開けることがあります。2018年2月にこの方法で発見に成功したエンジニアがLinkedInで報告していますが、筆者が試した限りではうまくいきませんでした。

また、Google Doodle(Googleロゴの代わりに表示される特別なイラスト)のコードを解析して、チャレンジへのアクセス方法を見つけたというユーザーの報告もあります。
そして最後の方法が、友人からの招待です。チャレンジに取り組んでいる人がレベル2かレベル3(時期によって異なる)に到達すると、他の誰かに招待状を送れるオプションが解放されます。うまく人脈を活かせば、あなたのもとにも招待が届くかもしれません。
まとめ:if Foobar_success == 5: return 'Maybe you'll get a job at Google!'
FoobarをきっかけにGoogleの面接にたどり着いた人の話は数多くあり、そのうちの何人かは実際に採用されています。確認されている最初の採用者は、ジョージア工科大学のコンピュータサイエンス専攻学生だったMax Rosett氏です。ただし、このプログラムは魔法の杖ではありません。チャレンジを突破しても、Googleの採用プロセス全体が免除されるわけではなく、世界有数の企業の座をつかむためには、それでも幾つかの関門を乗り越える必要があります。それでも、課題自体はかなり楽しめる内容なので、仮に最後までたどり着けなくても、質の高いコーディング練習として十分に価値があると言えるでしょう。
-
Google Chrome 69 の新UIを旧デザインに戻す方法【chrome://flags】
Chromeについて何か不満を語るにしても、長年にわたりその外観と操作性がかなり一貫していたことは認めざるを得ません。変更の多くは内部(エンジン周り)で行われ、ユーザーの操作方法に干渉することはほとんどありませんでした。しかし時折、特にモバイル分野での影響力を意識して、Googleは見た目の大幅な変更を実施してきました。最も顕著なのはChromeのUIへのMaterial Design導入ですが、今回また新たな刷新が加えられました。 筆者はKubuntu 18.04(Beaver)上で更新されたばかりのChrome 69の新しい外観に気づきましたが、正直あまり嬉しくありませんでした。フォントは
-
Googleアルゴリズムアップデート再び――2013年春の変動の実態とブロガーが取るべき姿勢
はい、またこの季節が巡ってきました。西暦2013年。それでも変わらないものがあります。それは、例年4月と10月頃に世界中で断行される、いわゆるGoogleアルゴリズムアップデートによる「ウェブの正常化」です。パンダ(Panda)だろうと、パラゴン(Paragon)だろうと、プラシーボ(Placebo)だろうと、パンサー(Panther)だろうと、好きな名前を付ければいい。とにかくアップデートは起こり、そしてインターネット全体が騒ぎ出すのです。 今年も、前回この話題を取り上げたときと同じように、私のサイトもある程度影響を受けました。そこで今回は、Googleが今回何を行ったのか、なぜあなたが悩む