アメリカにおける(自然言語処理に関する研究職の)職探しに関して、(自分の経験・反省を踏まえて)まとめておきます。また、役立ったサイト等をリストアップします。
※ tl;dr: もっとも良いのは、インターンや国際会議、指導教官等を通じて、中の人と 直接コネクションを作り、中の人経由で応募するパターンです。なんだ結局はコネか、と思われるかもしれませんが、Ph.D.学生の就活についてはまさにその通りだなと実感します。
アメリカにおける就職活動、特に一般的なソフトウェアエンジニア職への応募、対策、キャリアパスについては、以下の本に目を通しておくと良いと思います。
1. ポジションを探し、応募する
何がともあれコネクションがあればベストですが、そうでない場合は自分でポジションを探すことになります。
2. 選ぶ際のポイントを挙げ、優先順位をつける
日本のアカデミックポジションを探す場合
その他、読み物
3. 興味のあるポジションをリストアップし、上の優先順位に照らし合わせてランキングをする。
ランキングができたら、下位ポジションから応募すると良いそうです。
面接の練習にもなりますし、もしofferがでれば、上位のカウンターオファーに使うことができます。応募するポジションの数にもよりますが、実際に働き始めようと思っている1年〜半年くらい前から順次Applyし始めると良いのではないかと思います。オファーの有効期限は1ヶ月くらいのところが多いですが、十分交渉できます。またインターン等に行くと、無期限のオファーをもらえたりすることもあります。このようなオファーがある場合、カウンターオファーとして使うことができるだけでなく、応募するポジション数も絞れるので労力削減になります。(=その分研究時間の確保ができる。)
4. 応募書類の準備について
cover letterについては検索すると山ほど出てきます。
コーディング面接は企業など、特にエンジニアリング寄りのポジションで重要になります。基本的なアルゴリズムの問題が多いです。以下の本あたりが定番です。
また、以下のサイトも個人的にオススメです。
6. オファーを受けたら
まずは、おめでとうございます。エンジニアとして世界の最前線で働く選択肢にもあるように、すぐにサインしてはいけません。大切なのは、(1) オファー内容の確認、そして(2)強気の交渉です。
オファーで確認しておきたいのは
※ tl;dr: もっとも良いのは、インターンや国際会議、指導教官等を通じて、中の人と 直接コネクションを作り、中の人経由で応募するパターンです。なんだ結局はコネか、と思われるかもしれませんが、Ph.D.学生の就活についてはまさにその通りだなと実感します。
アメリカにおける就職活動、特に一般的なソフトウェアエンジニア職への応募、対策、キャリアパスについては、以下の本に目を通しておくと良いと思います。
1. ポジションを探し、応募する
何がともあれコネクションがあればベストですが、そうでない場合は自分でポジションを探すことになります。
2. 選ぶ際のポイントを挙げ、優先順位をつける
- 自分の研究テーマ・興味とチームのゴールが合致しているか
- 一緒に研究したい人・興味がマッチする人がいるかどうか(自分の場合は自然言語処理だけでなく、心理言語学、言語哲学の話ができるかどうか)
- ロケーション(家賃が高くない、家族で住みやすい、自然が多い、日本食スーパーがあるか等々)
- ビザ・グリーンカード取得の手助けをしてくれるか。
- 給与:※glassdoorやH1B Salary Database、levels.fyiで相場がわかります。Glassdoorの古い情報は全体的に給与が低めに書かれている気がします。(インフレのせい?)
- 評価基準、方法(e.g., performance review)は何か。(論文を書くことが評価されるかどうか。)
- 規模(好みがあると思います。自分はあまり大きすぎず、こじんまりしたところが好きです。)
※自分は使いませんでしたが、アカデミックポジションを探す場合は以下のサイトが有名です。
欧米など日本国外のアカデミックポジションを探す場合日本のアカデミックポジションを探す場合
その他、読み物
- 国外で研究職に就くには(1) (2)
- 海外で研究者や大学教授になる方法
- The academic job search for computer scientists in 10 questions
- Reflections on the CS academic and industry job markets
3. 興味のあるポジションをリストアップし、上の優先順位に照らし合わせてランキングをする。
ランキングができたら、下位ポジションから応募すると良いそうです。
面接の練習にもなりますし、もしofferがでれば、上位のカウンターオファーに使うことができます。応募するポジションの数にもよりますが、実際に働き始めようと思っている1年〜半年くらい前から順次Applyし始めると良いのではないかと思います。オファーの有効期限は1ヶ月くらいのところが多いですが、十分交渉できます。またインターン等に行くと、無期限のオファーをもらえたりすることもあります。このようなオファーがある場合、カウンターオファーとして使うことができるだけでなく、応募するポジション数も絞れるので労力削減になります。(=その分研究時間の確保ができる。)
cover letterについては検索すると山ほど出てきます。
5. 面接準備について
応募が終わったら、面接の準備を始めます。自然言語処理関係の場合は、コーディング面接や研究者との1 on 1などがあります。コーディング面接は企業など、特にエンジニアリング寄りのポジションで重要になります。基本的なアルゴリズムの問題が多いです。以下の本あたりが定番です。
- Cracking the Coding Interview (和訳)
- Cracking the Code to a Successful Interview
- Elements of Programming Interviews: The Insiders' Guide
- プログラミングコンテスト攻略のためのアルゴリズムとデータ構造
また、以下のサイトも個人的にオススメです。
- Top 10 algorithms in Interview Questions
- CareerCup
- LeetCode
- 4 common coding interview mistakes (and how to avoid them)
- Coding Interview University
- 11 Things to Never Say in an Interview, According to a Hiring Manager
- What are the secrets of an interview? Why do other people always pass almost every interview they attend?
- The 30 Most Important Interview Questions to Ask This Summer
6. オファーを受けたら
オファーで確認しておきたいのは
- Base salary
- Vesting
- Sign on bonus
- Insurance
- Paid holiday
交渉にあたっては、妥当な金額・あるいは追加条件と、それが妥当な理由(できれば根拠となる数字等を添える)を書いて、説得させる必要があります。カウンターオファーがあれば、やりやすくなると思います。
いざ条件が揃ったら、交渉開始です。以下のサイトはNegotiationに関して大変役立ちました。
- How to Accept a Job Offer (Examples and Tips You Should See)
- You Got a Job Offer. Now What?
- The Professor Is In: OK, Let’s Talk About Negotiating Salary
- How to Tell An Employer About Competing Job Offers
- Accepting a Job Offer? Ask These 10 Questions First
- 31+ KILLER SALARY NEGOTIATION EMAIL TEMPLATES
F1ビザの場合、OPTの申請も忘れずに。プロセスについてはこちらのサイトで情報交換が行われております。(人によって早かったり遅かったりというのがわかると思います。)
番外編? スタートアップについて
スタートアップについては、勝手が多少異なります。