採用試験”ハック”には本当に効果があるのだろうか?いかれた(もしくは少し変わった)行動をとることで、大企業の注意をひくことはできるのか?実際に変わった方法で企業にアピールしようとしたJohn Washamという男の物語は、結果はどうあれ面白い。
WashamはGoogley As Heckと題された自身のブログに、Googleの採用試験に挑戦するまでの道のりを記している。彼はGoogleで働くという明確なゴールのもとでソフトウェア工学を勉強し、そのマイルストーンをブログの形に残していたのだ。最終的には採用担当者から電話さえなかったという残念なメッセージでブログは締めくくられた。
ではWashamのような攻略法には効果があるのだろうか?実際に彼に話しを聞いてみた。
TC:簡単な自己紹介とあなたが行ったことについて教えてもらえますか?
John Washam:私の名前はJohn Washamです。独学でウェブディベロッピングを習得し、これまでに16年の実務経験があります。ここ8ヶ月間はフルタイムでコンピューターサイエンスとソフトウェア工学の勉強をしてきました。現在2つのインターネットビジネスを運営していますが、自動化のおかげで運営にはほとんど手がかかっていません。そのため自分のスキルを磨く時間をつくることができたんです。これまでずっとウェブの仕事をしていたため、長年の経験があっても多くのソフトウェアの分野で要件を満たすことができませんでした。大学で経済学を専攻し、コンピューターサイエンスの知識がない私には、就くことができない仕事が山ほどありました。
そこで私は、Googleにソフトウェアエンジニアとして採用されるという大胆な目標を立てることにしたんです。
TC:なぜGoogleでの採用を目標にしたんですか?
JW:毎日本を開いて、ホワイトボードにコードを書き続けられるような目標が必要だと感じたからです。最初は目標の大きさに怖気づいて、ときには眠くなってしまうこともありました。それでも時間が経つにつれて恐怖や退屈さは消えていき、だんだん簡単で面白いと思えるようになったんです。知識は恐怖心を凌駕するということですかね。ひとつひとつの内容をもっと深く学びたいと思いましたが、それでは一日に何時間あっても足りなくなりそうだったので、スケジュールに基いて次のトピックへと移っていきました。
自分のスキルを向上させて、ウェブディベロッパーからソフトウェアエンジニアになりたいと考えていた私にGoogleはピッタリでした。彼らの企業文化は研究機関と似ていて、証明できるかどうかが評価されるほか、意見よりもデータが優先されます。コンピューターサイエンスについて知れば知るほど、Googleの文化を魅力的に感じ、Googleについて知れば知るほど、さらに興味がかきたてられました。
Googleには年間約200万通もの履歴書が送られているため、私を推薦してくれる人がいるとはいえ、何か目立つ方法はないかと応募前に考えていました。そこで学習の様子をGoogley As Heckというブログに記録することにしたんです。私はウェブディベロッパーなので、ブログを立ち上げるくらい簡単なことでした。そしてGoogleの誰かに気づいてもらえることを願いながら、2〜3日に一度その日に学んだ面白いことをブログに投稿し始めました。ブログを書くのはかなり楽しかったですね。プログラマーは自分のスキルを見せつけるのが好きなんです。
学習内容の整理にあたっては、Googleの候補者用コーチングノートを参照してトピックごとのToDoリストを作りました。そして学習が進んで内容が多岐にわたるにつれて、コンピューターサイエンスのトピックも追加していきました。また当時Githubのプロフィールにはほとんど何も書かれていなかったので、ToDoリストをGithubにアップして、きちんと勉強の軌跡が残るようにしました。そして去年の10月のある日、ToDoリストの数が1600行を超えたあたりで、リストがバイラル化したんです。今ではこのToDoリストはGithubの人気プロジェクトランキングで27位になり、3万3000個のスターが付けられ、私のプロフィールも前よりずっとマシになりました。私のToDoリストは13言語に翻訳され、今でもたくさんの素晴らしい人たちがプロジェクトに貢献してくれています。
TC:実際にGoogleの誰かがブログに気づくと思っていましたか?そしてその理由はなんでしょうか?
JW:やる価値はあると思ったんです。Googleは候補者に”Googleっぽさ”を求めているので、私自身がGoogleらしい人になろうと考えました。
これまでいくつかのスタートアップをローンチしてきたので、採用までの道のりもスタートアップ風に考えることにしました。素晴らしいもの(学習内容)をつくって、狂ったように宣伝(Medium、Hacker News、RedditでToDoリストがバイラル化)して、資金が底をつく前にIPOもしくは他社に買収される(Googleに採用される)といった具合です。
もともとスタートアップの宣伝は比較的得意な方で、自分の会社となるとなおさらでした。そういう意味ではスタートアップの経営と勉強中にやったことはほとんど変わらないと言えます。
Googleに応募する1週間前にMedium上で公開した記事は、結局10万回以上も読まれ4000回もオススメされました。MediumにあるFreeCodeCampのコミュニティに私の記事を転載してくれたQuincy Larsonのおかげもあって、読者の方々からは驚くほどの数のサポートや応援を頂きました。Quicyは素晴らしい人です。
TC:本当のゴールは何だったんですか?
JW:Googleは私にとってのモチベーションにすぎず、全ての努力がGoogleの採用に向けられていたとは思わないでほしいです。もちろんGoogleで働ければ最高ですが、本来の目的はソフトウェアエンジニアになるということでした。私はウェブディベロッパーを超越して、ソフトウェアデベロップメントの他の分野でのチャンスにつながるドアを開きたいと思っていたんです。さらには自分がずっとユーザーとして頼ってきた、データベース、サーバー、OSなどのテクノロジーを自分の手で作りたいとも思っていました。ウェブブラウザの向こう側には、全く別のソフトウェア工学の世界が存在するんです。
TC:最終的な挑戦の結果はいかがでしたか?面接ではどんなことを聞かれました?
JW:推薦者を通してソフトウェアエンジニアのポジションに応募したんですが、先週メールで担当者から不採用通知を受け取りました。最初は何かの間違いだと思って笑ってしまいましたよ。その後推薦者に確認して私を推してもらったんですが、結局状況は変わりませんでした。
不採用の理由を教えてもらえず、推薦者も何が理由か解明できなかったのはとても残念です。
納得いかなかったのは、電話でのスクリーニングさえ受けられなかったということです。電話で採用担当者と話をすることもできませんでした。努力して情熱を注ぎ込んだにも関わらず、自分を証明するチャンスさえもらえなかったんです。
もしも経験不足を原因に挙げられるとすれば、私は絶対に新卒者よりも経験を持っています。実際にGoogleは新卒学生を採用していますし、私は16年にわたるソフトウェアエンジニアの経験を持つベテランとして採用されようとも思っていませんでした。履歴書にも2〜3年分の経験有りとしか記載していません。
私が納得しなくても、採用担当者の判断を尊重するしかありませんけどね。彼らは私よりも採用業務のことを知っていますし。採用担当者は一日に何百という数の履歴書に目を通しているので、有力な候補者をみつけ、理想にマッチしない候補者をはじき出すのに慣れているはずです。詳細はわかりませんが、私は彼らが求めるプロフィールに合致しなかったんでしょう。もしかしたら彼らは私のためを思って不採用にしたのかもしれません。仕事内容を理解できずにチームの足を引っ張っていた可能性もありますしね。
Googleは採用過程で有力な候補者を誤って見逃してしまうことがあると聞いていますが、採用されるに足る力を持っていれば最終的にはGoogleに入り込めるはずです。
未だにGoogleのことは好きですが、将来また応募するかどうかはわかりません。私は会社を点々とするよりも、ひとつの会社に長くとどまりたいと考えています。今後私を採用することになる企業は、忠誠心があってよく働く情熱的な社員を手に入れることができるでしょう。Google以外にも良い仕事をするために努力でき、その努力が報われるような会社はたくさん存在します。私のやる気を引き出すというGoogleの役目は終わったので、今度は他の会社がその恩恵にあずかる番だと考えています。
TC:Googleがあなたの才能に怖気づいた可能性はあると思いますか?
JW:私の知識に誰かが恐れを感じていたとは思いません。そもそも私の知識量は恐ろしいほどのものではなく、Googleが候補者に期待するのと同じ程度だと考えています。
不採用の理由については色々と考えを巡らせましたが、ここではその話はしないようにします。結局は憶測に過ぎず、なんの意味もありませんからね。
TC:今後はどうされるんですか?Google以外に働いてみたい企業はありますか?
JW:最終的には、私に欠けていたコンピューターサイエンスとCTMレベルのソフトウェア工学の知識という、当初求めていたものを身につけることができました。今では連結リストや二分探索木も怖くありませんし、むしろ好きになりました。今私が面白いと感じていることは、長年の経験を持つエンジニアが退屈だと感じることなんだと思います。それでも全てが新しくて楽しいんです。ソフトウェア工学を越えて機械学習についても勉強しましたが、全て素晴らしいです。
そもそもの勉強の目的は、ソフトウェアエンジニアとしての新しいキャリアをスタートさせるということでした。現在はシアトル周辺で、情熱を持った「経験豊富ながら未熟な」ソフトウェアエンジニアを雇い、周囲のスピードに追いつくまで待ってくれるような余裕がある、規模の大きな企業を主なターゲットとして就職活動をしています。理想的にはプロフェッショナルなチームの中で、テストやデバッグやプロファイリングの業務を含め、素晴らしいソフトの開発に携わりたいです。とにかく高品質なソフトを作りたいんです。
頭が良くて、仕事熱心で知識のあるソフトウェア職人(見習い)が努力しながら成長し、色んなことを学べるような環境があればベストです。失敗することもあると思いますが、私は常にチームの迷惑にならないよう努力します。仕事にはエゴを持ち込みませんし、私が間違っているときにはそれを受け入れ、しくじったときには責任をとります。
将来私の雇用主になるかもしれない皆さん、私に難題をぶつけてください。私は何でも学べます。OSのインターナルから幾何アルゴリズム、コンパイラ開発、暗号化技術、機械学習、Intel x86の命令まで、社内に何らかの専門家が必要であれば私がその専門家になります。
それでは、コーディングの問題を解かなければいけないので、勉強に戻ります。
[原文へ]
(翻訳:Atsushi Yukutake/ Twitter)