2011年10月15日土曜日

ありがとう Engineering Development Group

2011年10月14日をもって、一年半所属してきた Engineering Development Group (EDG) を離れることになりました。これまで素晴らしい人々に囲まれ、大変居心地のよい環境で仕事をさせてもらいました。去年は、キャリアフェアでカーネギーメロン大学の学生を相手にインタビューをする機会もありましたし、普段は、国籍、男女、年齢を問わず、技術系の話で盛り上がれる素晴らしい職場でした。この間も、インド人の女の子たち同士で Stanford の Distributed Education でどのコースをとるかの話で盛り上がっていました。

技術サポートしたてのころは、お客さんに「全然サポートになってない、この理論に関してもっと詳しい人はいないのか?」のようなことを電話越しに言われ、ショックを隠しつつも冷静なフリをして対応を続けたこともありました。英語を第二外国語とする者にとって、もっとも困難なコミュニケーション形態は間違いなく電話です。人間は、相手の表情、唇の動き、しぐさから非常に多くの情報を得ています。英語で話していても、これはしかりです。電話で頼りになるのは、音声のみ。さらに MATLAB を使っているお客さんの国籍は様々なので、電話越しの英語のアクセントも同様に様々だということです。この状況で、問題を正確に把握し、できうる限りのソリューションを見つけ、わかりやすく説明する。これは面白く、非常に有益な体験でした。仮にいま就職活動中だとしたら、僕は2年前のときよりも電話インタビューで上手い対応ができるはずです。

最初に開発のポジションにアプライしたときは、「開発の経験をもっと積むように」との返事でリジェクトされましたが、その後の社内の開発プロジェクトで新しいことを吸収することができ、その結果として新しい開発のポジションに就くことができました。そのポジションがあいたとき、自分のこなした開発プロジェクトのスポンサーとほぼ同じチームだったので、そのままスムーズに異動できるかと思えば、そうは問屋が下ろさない。新しいチームのメンバーとそれぞれ 45分から60分かけて behavioral interview かつ technical interview があります。とあるブログで Twitter の面接記があり、話題になりましたが、採用プロセスは本来そうあるべきなのです。今回の社内異動の面接でも再び役に立った

最新版は第5版です。100ページ近く加筆されているので、第4版よりオススメ!

Cracking the Coding Interview にもあるとおり、interviewer が過剰なプレッシャーをかけるのには意味があるのです。この状況下を乗り越えられる candidate であれば、おそらく日々の仕事で降りかかる困難の壁やプレッシャーにも耐えることができるだろう、と。さらに、仕事はチーム単位で行うため、この candidate を加えることで、今のチームメンバーの負担が軽くならなければいけない。そして、現チームメンバーもおそらく同じ採用プロセスを経てきたので、新しく加入するメンバーに対し、お前もよくやった、とねぎらいの気持ちが自然に湧いてくるのです。したがって、将来のチームメンバーひとりひとりと時間をかけて面接をするという採用プロセスは至極普通のもの、ということになります。

アメリカでの経験において、僕が好きなことは、失敗をしても再挑戦できるということです。「今回は駄目でも、傷が回復したらまた挑戦してこい。俺たちはいつでも歓迎するし、こちらもまた全力で迎え撃つ。」といわんばかりの、チャレンジ精神を掻き立てる環境がそこに与えられているのです。

これまでは、大学院を卒業したばかりの年の近い同僚がたくさんいる居心地のよい場所でしたが、来週からは、開発の経験年数が僕の年齢の半分以上というような人が数人だけいる特殊な環境になります。新しい同僚は、全員自分より年配で C++ の魔術師ばかりなので、なにが何でも食いついていかないといけません(MATLAB 本体が C++ で実装されているということは、べつに secret でも何でもなく、運悪く MATLAB が crash してしまった人は、ここを見ればおそらく crash dump が見つかると思います。そして、crash dump の中の stack trace に STL やら boost やらが見えると思います)。本音を言えば、C++ より C の方が好きなんですけど。しかし個人的には、これまでの人生で最高に燃える瞬間が来たと思っています。

EDG がなければこのステップにたどりつくことはできなかったでしょう。EDG の job description に書かれていたことは、まさにそのとおりでした。ドラクエ3のように、ジョブチェンジするとレベルは1に戻りますが、以前に習得したスキルは確実に残る。新しいチームのパーティーのメンバはすでに全員レベル高いので、自分もたくさん経験値を積んでレベルアップしていきます。さあ、来週から開発チームでギア全開でいこう!

ありがとう EDG

僕が直接お会いし、その後の自分の人生に影響を及ぼした人物の引用を最後に。
Life is too short to do a lousy job.

10/12/2006 - Anthony Lattanze, Carnegie Mellon University
You have to love your job just like you love your family.

10/28/2006 - John Vu, The Boeing Company
Choose a job that makes you go "Wow" every morning before you go to work.

7/3/2009 - Anthony Lattanze, Carnegie Mellon University

2011年10月9日日曜日

Defending Champion

去年の TopCoder Open 2010 に引き続き、rng_58 こと副島真さんが TopCoder Open 2011のアルゴリズム部門を再び制覇したんですね。

しかも、今年の Google Code Jam でもチャンピオン。おめでとうございます。

副島さん、筑駒にいたときには国際数学オリンピックで金メダルも獲得とか。

彼の頭の回転で一度世の中を見てみたいものです。