2010年2月24日水曜日

新天地が決まりました

2009年の9月15、16日に行われた CMU でのキャリアフェア Technical Opportunity Conference から始まった私の米国での5か月間にわたる就職活動、やっと終了です。私にとって初めての就職活動だったので、電話インタビュー、オンサイトインタビューとなれないことも多く、景気の悪さも相まって、今までの人生で精神的に一番きつかった体験なのではないかと思います。Undergrad の生徒さんは、長い休みには企業のインターンでしっかり修行をします。そんな経験やコネクションがない私にはさらに不利な戦いでした。

今後の進路ですが、マサチューセッツ州のネイティック(ボストン郊外です)にある The MathWorks という会社で働くことになりました。私にとって生まれて初めてのフルタイムの仕事です。同社は、プログラミング言語 MATLAB および コントロールシステムのモデリング、解析、シミュレーションを行う Simulink というプロダクトを開発しています。NASA や TOYOTA のエンジニアの方々の中にも MATLAB のユーザさんがいらっしゃるようです(詳細はこちら)。そういえば、早大の理工学部の端末にも MATLAB が入っていたと思いますが、当時はほとんど使った記憶がありません。旧情報学科1年生だったとき、linear algebra の学習でもっとしっかり MATLAB を使っておけばよかったな、と少し後悔です。でも、MSE の最後のセメスターにとった Machine Learning では、課題はすべて MATLAB のプログラミングだったので、MATLAB プログラミングのイントロとしてよい経験になりました。

MathWorks Japan の方ともお知り合いになりたいのですが、こちらの職場にも日本人の方がいないかどうか調べてみたところ、田中一規さんという方を発見いたしました。ハーバード卒業後、物理学博士課程をMITで修了し、現在はフルタイムのマンガ家を目指していらっしゃるという、これまたなんともお会いしていろいろお話を伺いたくなってくる方なのですが、Linkedin を見ると現在は退社され Los Angels の方に移られたようです。あ、ちなみに田中さんの漫画、「マンガ 種の起源 ダーウィンの進化論」と「よくわかるマンガ微積分教室」を注文しました。早く読んでみたいです!

1月の頭に私にオファーをくださった、ウィスコンシン州マディソンにある会社 Epic Systems には、残念ながらオファーを辞退させていただくと伝えました。KLAS という会社の2009年の調べでは、Epic の医療系ソフトウェアは、さまざまな部門で Best を受賞しています。オンサイトインタビューに行ったときも、熱意があり頭のキレるエンジニアを、私の interviewer を含め、何人も目にしました。そういう環境があるということと、医療という新しいドメインに飛び込むチャンスがあるということを考えると、Epic もとても面白そうなのです。ですが色々考えた結果、今は数学系、工学系のドメインに身を置きたいという理由で The MathWorks に行かせていただくことに決めました。Epic とのインタビュー経験は 100% positive で、体がもうひとつあれば医療系ソフトウェアのドメインもぜひ学ばせていただきたかったくらいです。

就職活動の反省記録はまだ終わっていませんが、現時点でさっと振り返ると、この5か月間は本当に苦しいものでした。そしてそれは 5か月という数字以上に長く感じられました。なんだか、もうひとつ Master を取りに行ってたんじゃないかって思えるくらい。最後のセメスターは、雲ひとつない快晴の日でも世界が灰色に見えていた、なんてこともありました。MSE は宿題の量が多くて大変だったのですが、どちらかといえばそれは息つく暇さえ与えない肉体的なキツさで、計画だててこなしていけば、かろうじてなんとかなると思うのです。評価を下すのも学内の先生なわけですし。これが Ph.D の方ですと、qualification exam の結果、paper が conference に通るか通らないか、thesis の defense、そして CMU の CS だと恐怖の black letter があります。Conference や defense では学外の方からも評価が下されるということもあって、これはもう肉体的にも精神的にも本当にキツイことでしょう ;(

私の就職活動は肉体的に大変なことはなく(ある会社とのインタビューが始まると、インタビューのインターバルはたいてい一週間おきだったので)、キツイのは精神的なものでした。具体的には、インタビューの結果を待っているときのアノ落ち着かない気持ち、会社ごとにインタビュー質問の分野が違うので、種類の異なる問題に短期間で対応するためのコンテキストスイッチの難しさ(ある会社はパズルメイン、ある会社は Servlet の深い知識を問う問題、はたまたある会社はアルゴリズムとコーディングの組み合わせなどなど)、たったひとりの interviewer への第一印象がその会社とのインタビュー結果を大きく左右すること(電話インタビューでは、相手の顔が見えないのでその印象づくりが余計大変でした)、などがありました。そして何より reject されたときに自分のインタビューのパフォーマンスについて一切のフィードバックが得られないことが一番つらかったです。何が上手くいって何が上手くいかなかったのかが知らされないため、そこは自分で推測して次のインタビューに向けて改善していくしかありませんでした。下手をすると、何が悪かったのか分からないまま rejection の無限ループに陥る可能性も。フィードバックがない理由のひとつに、きっと equal opportunity に関わる部分があるからだと友人と話をしたことがあります。たとえば、あるポジションでインド人が5人に必要だったとします。もうすでに5人のインド人をそのポジションに雇ってしまった場合、後続のインド人 candidates には結局 no thank you の通達をしないといけないわけです。でも equal opportunity がある以上、後続のインド人の candidates をある一定数インタビューしなければならないし、reject した本当の理由も伝えるわけにはいかないしで、インタビューのフィードバックでは何も伝えないのが無難というわけです。いわゆる "Sorry, we could not find available positions that match your skill set" という定型文が返ってくるわけですが、色々な事情を考えるとそれも仕方ないんですよね。ただ candidate としては、改善できないからそれはキツイということで。

13社とインタビューして、最終的に2社からオファーをいただくことができました。去年は、短期間にいくつものインタビューが押し寄せていたのと、コースワークとの juggling をしなければならなかったということで、結果はもう散々でした。新年になり、就職活動だけに集中できるようになってから風向きが変わった気がしました。また、失敗から学べたことがあったのかもしれません。今回の経験を通じて学べたことは、どんな精神状態にあっても毎日できることが何か必ずある。物事がうまくいっていないときは、ひたすらそのルーチンを続け毎日何かしら学習していくこと。プロのスポーツ選手だって、毎日行っているトレーニングが必ずある。ならば、これからプロのエンジニアになる自分だって毎日もしくは定期的に行うトレーニングが必ずあるはずだ、とずいぶん前から考えていました。オンラインプログラミングコンテストの問題を一週間に決まった数だけ解くとか、数学や CS で馴染みのない分野を本やビデオレクチャーを使って定期的に学習していくとか、そういうルーチンを持つことによって精神的に大変なときでも平常心を持つことできる、と自分に言い聞かせていました。まぁそれでも大変なときは世界が灰色に見えちゃってたりしたんですが・・・

継続が大事なんだと思います。そこでやめてしまったら、成長が止まってしまいます。毎日が無理なら、週に一回。週に一回が無理なら、二週間に一回。二週間に一回が無理なら、月に一回。月に一回が無理なら、二か月に一回。忙しくて自己トレーニングに時間が割けないときは、そのときの忙しさに応じてそうやってインターバルを引き延ばしていけばいいんです。ゼロにしない限り、続けていけば必ず能力は伸びていきます。もちろん、そのインターバルがあまりに長いと、前に学んだ内容をすっかり忘れてしまうなんてこともよく起こります。でも、あんなことを学んだ気がするというインデックスは頭の中に残っているのではないでしょうか。学習において、そういうインデックスがあるとないとではずいぶん大きな差がある気がするのです。二度目にやるときは一度目にやったときよりも若干吸収がよくなりますし。三度目、四度目には、今まで見えていなかった角度から物事を見られるようになるかもしれません。投げ出さずに、またいつか帰ってくるね、くらいに考えていればよいのではないでしょうか。同じことを繰り返すことできっとそれが体に染みついていくはずです。 MSE の日本の同期の方から「直感のレベルに落としこめるまで頑張れ」と教わりましたが、そう、繰り返してそこまで行ければベストですよね。

さて、Tony 先生から去年いただいたお言葉のうち、現実のものになったものがいくつかある気がします:
  • Yuki、アメリカのいいところは現在あるいは過去のステータスでその人の将来の可能性を否定しないところだ。学歴があってもなくても、今何ができるかで今後道がどう開けるかが決まってくる。やり直しもきく、何度でも。世界でそういうことが許されている国はそんなに多くはないだろう。
  • Yuki、仕事を選ぶときは follow your head じゃなくて follow your heart だ。毎日エキサイトして職場に行くには、Yuki を "wow!" ってさせてくれるものを選ばないとな。
  • Yuki、仕事を選ぶときはお金は二の次だ。一番大事なことは、just for fun のアイデアだ。長い目でみたとき自分の成長の伸びに大きな違いがでてくる。
でも Tony 先生、選ばないとな、とおっしゃっても簡単に選べるようになんかならないですよ 。

私にとっては、留学の最後の最後で一番厳しい試練が待っていましたが、なんとか乗り越えることができました。今は本当に嬉しいです。そして、今になってやっと卒業の実感が沸いてきました。ここまで支えてくださった方々に対して、深く感謝いたします。私なりにできることがあれば、サポートをしてくださった方々を含め、周りの人たちに何か恩返しができればと考えています。

仕事開始まで少し時間がありますが、残念ながら日本へは帰国できないようです。というわけで引っ越しの準備を少しずつ始めようかと。トータルで2年半慣れ親しんだピッツバーグを離れることになります。新天地は、ネイティックです!!
"Never give up and good luck will find you.”
Falcor - The Neverending Story 1984

【他の方のインタビュー体験記】

2 件のコメント:

  1. たまたまこのブログを発見し拝見させていただきました。面白かったです。私の名前もYukiですよ。 ;)

    就職決まりおめでとうございます!MathWorksはわたしもUndergrad卒業のときに履歴書送ったのですが即効ではねられました。Matlabはシミュレーションなどをするときによく使いましたよ。重かったですが。

    私は2007年にStanfordで修士をとったのでちょうど三年前にあなたと同じことをやっていました。受けた会社もすこし重複がありますね。感触として現在のほうが当時より企業が求めるレベルが上がったと思います。わたしは当時はたいしたスキルはなかったですがけっこうPhoneScreenは突破しました。現在はヤフーでソフトウェアエンジニアとして働いています。

    ちなみにTopCoderですが面接の練習に最適とは思いますがDivisionIのハードのレベルの質問を解く意味はないと思いますよ。あんな変な質問は面接で聞かれたことがありません。Easy,Mediumをしっかり短時間(45~60分ぐらい?)でといたら十分グーグルでもうかります。私はまだそこまでいってませんが。

    シリコンバレーはソフトウェアをやる方ならあこがれの場所かと思いますが非常に退屈な場所です。肌が合う、合わないがやっぱりあるので私は今年中に住みなれた東海岸に移住する予定です。Yukiさんとも機会があればぜひお会いしたいですね。

    返信削除
  2. > Yuki さん
    丁寧なコメントをくださり、どうもありがとうございます。私と同じ名前の方なのですね^^

    Yuki さんが Undergrad を卒業された当時がどうだったか分かりませんが、現在 The MathWorks が New Grad に採用しているのは、Master、Ph.D のみのように思えます(他の Professional 採用についてはこの限りではないかもしれません)。Entry Level であるエンジニア Application Support Engineer の募集も対象は Master か Ph.D ですし、私が The MathWorks のオンサイトインタビューに行ったときに一緒だった6人の candidates もすべて Master の方達でした。MATLAB は確かに重くなるかもしれないです(笑)私も Machine Learning のとき、多々ありました。

    Yahoo で働いていらっしゃるのですね!友人のインド人3人が Yahoo からオファーをもらっていました。それぞれ、Front End Engineer, Back End Engineer, QA とポジションは皆ばらばらでした。私は、とあるへまをしてしまいまして・・・ Yahoo も面白そうだったので残念でした。

    TopCoder に関してはおっしゃる通りだと思います。The MathWorks でのコーディング問題も Easy の難易度だったと思います。それに Medium をコンスタントに解いていければ、Red Coder になれるようですね。3000 以上のスコアを目指すのであれば、話は違うようですが。Division I の Hard をやっているのは、なんといいますか、完全な趣味だと思います^^ 山がそこにあるので、登ってしまうという感じで。。。

    シリコンバレーもこの目で見てみたいです。私はこれからピッツバーグから移るのですが、引っ越し先のネイティックがピッツバーグと似たような静かな街なので、生活に慣れるための負担が大きくなくて済みそうです。私はしばらくネイティック住まいになりますので、もしも Yuki さんが東海岸にいらっしゃったときは、そうですね、お会いできると面白そうですね!

    返信削除