tmaehara
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights
    • Engagement control
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Versions and GitHub Sync Note Insights Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Engagement control Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       owned this note    owned this note      
    Published Linked with GitHub
    Subscribed
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    Subscribe
    # [DRAFT] Meta を退職して Roku に転職しました 2020年11月から[Meta (pka. Facebook)](https://en.wikipedia.org/wiki/Meta_Platforms)のLondonオフィスでMachine Learning Engineerをやっていましたが ([参考](https://cyclic-burst-709.notion.site/Facebook-London-13743da603ce4632bd9f96672faa0d74)),2023年4月に発表された[大規模レイオフ](https://www.theguardian.com/technology/2023/apr/19/meta-layoffs-facebook-cuts-workers)の候補になったので2023年8月29日から[Roku](https://en.wikipedia.org/wiki/Roku,_Inc.)にMachine Learning Engineerとして転職することになりました. ## あなたはだれ? 8年ほど日本の研究機関で理論計算機科学分野(主に離散構造&機械学習)の研究をやっていました.機械学習は全般的に理論(アカデミア)と実践(インダストリ)が乖離している分野なので,実際に役にたつ理論を作るためにも実践を学んでみようと思い,機械学習実践に強いMeta(当時 Facebook)にSoftware Engineer (Machine Learning)として入社しました. Metaでは主にグラフニューラルネットワーク (GNN) の研究・開発・活用をやっていました.社内で最もスケールするGNNフレームワークの主開発者であり,作ったGNNフレームワークを様々なタスク(incl. インテグリティ,推薦システム)に適用したり,手法の理論的正当性を論文にしてNeurIPSで発表したりしていました([概要](https://proceedings.neurips.cc/paper/2021/hash/08f36fcf88c0a84c19a6ed437b9cbcc9-Abstract.html)). より詳しい情報は[CV](https://tmaehara.gitlab.io/CV.pdf)を参照してください.個人的な連絡はBluesky ([@tmaehara.bsky.social](https://bsky.app/profile/tmaehara.bsky.social)), Twitter ([@tmaehara](https://twitter.com/tmaehara)), メール (tmaehara@acm.org) などにお願いします. ## UKにおけるレイオフ UKではLayoff(レイオフ)とRedundancy(余剰解雇)が区別されており([参考](https://www.citizensinformation.ie/en/employment/unemployment-and-redundancy/redundancy/lay-off-short-time-working-and-redundancy/#l67319)),わたしが候補となったものはRedundancyですが,以下では口語的に(or [US Tech的に](https://layoffs.fyi/))これらを同じ意味で使います. UKの労働法によると,会社が大規模なRedundancyを実行する際には[一定の手順](https://www.gov.uk/redundancy-your-rights/consultation)を踏む必要があります.Metaでは 1. **Collective Consultation**(会社と対象の代表者が相談,Redundancy が生じた原因の追求,内部異動の可能性,退職条件のすり合わせなど) 2. **Individual Consultation**(個別の相談) 3. **Garden Leave**(給与は発生するが会社のシステムにアクセスできない状況) という3ステップが発生しました.これらにはそれなりの時間がかかり,何もしなくても当分の間Metaに所属していることになりました.これらの期間中に退職してしまうと通常の退職扱いになってしまうので面白くありません. ## 通知を受けての初動 Redundancyの通知を受けた直後に考えたのは「**他社に行くほうが面白そう**」でした.周辺を見まわした結果,自分のチームをはじめとする機械学習チームが大きく影響を受けていたため,UKでの新しい機械学習系のポジションへの内部移動は見込みが薄いだろうと予想しました.非機械学習系のポジションを提示されたとしても,それはわたしがインダストリに来た目的(=実践的な機械学習を学ぶ)と合わないので意味がありません.それとは別に,せっかくの機会なのでレイオフのプロセスを最後まで体験してみたい(i.e., レイオフの "実績解除" のチャンスだ)という気持ちもありました. わたしにとって最大の制約はVisaでした.わたしは[Skilled Worker Visa (pka. Tier 2 Visa)](https://www.gov.uk/skilled-worker-visa)で滞在しており,このVisaは就職先がスポンサーするものなので,職を失うと滞在資格を失います.レイオフ通知後どれくらいまでに次の職を探さないといけないかを調べたところ,現実的に考えて5ヶ月程度(〜10月)のようでした.5ヶ月もあればなんとかなるだろう,とは思っていたものの,当時はMeta以外の複数のTech企業もレイオフをしているタイミングだったので([参考](https://www.computerworld.com/article/3685936/tech-layoffs-in-2023-a-timeline.html)),特に楽観はせずにLinkedInで複数の機械学習エンジニア・機械学習研究者のポジションに応募しました. なお,わたしは働く場所にこだわりがないのでUK以外のポジションでもよかったのですが「せっかくだから[UK 永住権 (Indefinite Leave to Remain; ILR)](https://www.gov.uk/indefinite-leave-to-remain) に応募して"[Bad Pub Quiz](https://inews.co.uk/news/politics/british-citizenship-test-bad-pub-quiz-errors-mundane-trivia-2266109)"を解いてみたい(i.e., 永住権応募の "実績解除" をしたい)」と思っていたのでUKの職を中心に探していました.UKで決まらなそうなときのために一応オランダやシンガポールなどの仕事も調べていました. ## 応募 ### 条件 冒頭に書いた通り,わたしがインダストリにいる目的は「役にたつ理論を作るために実践を学ぶ」です.これに沿うため,わたしが設定した求職の条件は以下でした. 1. 機械学習サービス開発に関わる職,特に推薦系だと嬉しい. 2. (パブリックデータのみを利用した)論文を執筆・投稿できる.ただしそれが社内評価に繋がる必要はない. 4. Individual Contributor の職([参考](https://uk.indeed.com/career-advice/finding-a-job/what-is-individual-contributor)). 条件1はわたしがインダストリにいる理由そのものなので外せません.推薦系が嬉しいのはMetaで推薦系に関わっていたので,似たシステムほど違いが見えて面白そうだからです.条件2は理論を作ることから軸足を外さないためのものです.条件3はMetaでManagerたちの仕事を見て自分にはあんまり向いていなそうだ(もっと手を動かしていたい)と感じたためです. 給料はわたしがインダストリにいる目的ではないので,これらが全て満たされる場合は無条件としていました. ### 戦略 LinkedInのステータスをOpenにしてCVを最新版にアップデートしました.そして,上述した条件にマッチしそうなポジションを見つけたらどんどんCVを送りつけました.条件に合致するか微妙な場合もとりあえず話を聞いてみようの気持ちで応募してみたり,リクルータから声がかかった場合も積極的に話に乗ってみたりしました.一般にSoftware EngineerのCVは1--3ページ程度のものが多いのですが,わたしは何も気にせず10ページ超の文献リストを含むResearcher的なCVを送りつけました.このCVを評価しない会社はどうせわたしとは合わないだろう(条件2を満たさないだろう)の気持ちです. 残念なことに多くの会社から反応をもらえませんでした.タイミング的に応募数がすごいことになっていたはずなので仕方がないのですが,そのような中でも明示的にReject通知を送ってくださった会社にはとても良い印象があります. 応募時の印象としては以下の通りです. - US系テック (Google, Amazon, IBM, etc) はかなり求人を絞っており,特にUK内に応募できるポジションが非常に少ない状況でした.また,応募から3ヶ月以上たって面接のお誘いをくださる企業も複数あり,転職は難しいなあと感じました. - CN系テック (TikTok, Tencent, Huawei, etc) はいっぱい求人をしているようでしたが,CVを送ってもリクルータを通じて連絡してもやりとりの途中で反応が消えて悲しかったです. - 金融系 (Jane Street, J.P. Morgan, Two Sigma, etc) はそれなりに積極的に人を取っているようでした.応募したCVに対する反応率もそれなりによかったです.ただし話を聞くと論文執筆させてくれない会社が多く,途中でプロセスをやめてもらった会社が複数あります(求人条件に論文出版があるのに入社後に論文執筆させてくれないのは界隈の民として大いに不満があります). - スタートアップ系は色々ありましたが,Visaの都合で応募できる会社が少なく,あまり応募していません.LLM/Generative AI 系ポジションが流行っていますね. ### 準備 具体的な面接の準備は前回(Facebookに応募したとき)と同じく普通に「試験勉強」をやりました([参考](https://cyclic-burst-709.notion.site/Facebook-London-13743da603ce4632bd9f96672faa0d74)).目指すものも前回書いたものと変わりません.Metaでの経験があるため準備はかなり簡単になりました.具体的には以下の通りです. - **Coding**. [LeetCode](https://leetcode.com/) の Medium/Hard を50問くらい解きました.元々これ系はちょっとできるのと,Metaで面接者側に立っていたので問われる問題の難易度感がわかっていたり見られるポイントを知った上でやれるのとで,前回よりも少し楽に感じました. - **System Design/ML Design**. [Sytem Design Primer](https://github.com/donnemartin/system-design-primer) と[Machine Learning System Design Interview](https://www.amazon.co.uk/dp/1736049127) を斜め読みしました.基本的にどのシステムもMeta内で近いものを見ているのでそれを説明するだけです.前回と比べてだいぶ簡単に感じました. - **Behavioural**. [30 Behavioral Interview Questions to Assess Soft Skills ](https://business.linkedin.com/talent-solutions/resources/interviewing-talent/behavioral-interview-questions-important-soft-skills) に対する想定回答を作りました.会社であった出来事をそのまま話すだけでよいです.前回と比べてはるかに簡単に感じました. 今回の簡単さを考えると,前回研究職経験しかないところでよく開発職に通ったなあという印象を受けますね. ### 結果 就職活動を始めてから1ヶ月程度で(6月前半に)[Roku](https://en.wikipedia.org/wiki/Roku,_Inc.)からオファーをもらいました.これまで受けた全面接のなかで最も体験の良かった面接でした(ナンセンスな質問などが一切なかったし,プロセス全体も非常に速かった).設定した条件を全て満たしているのでほぼ即決しました. ちなみにRokuはTVに接続するとインターネットTVになる[デバイス](https://en.wikipedia.org/wiki/Roku)を販売している会社です(競合はChrome Cast,Amazon Fireなど).日本での知名度は低いですがUSではトップシェアを誇ります.ユーザは広告を見るかわりに様々なコンテンツを無料で見られる,というまるでオフラインのTVのような収益モデルをもっていて,これが主たる収益源となっています.元々Netflixからスピンオフしてできた会社らしく企業文化はNetflixに近いものがあると聞いています. ## オファー獲得後 ### 現在の会社(Meta)での作業 引き継ぎやリファクタリングなどをしつつ退職の手続きを進めていきました.特に揉めるものもなかったのでスムーズに進みました. ### 新しい会社(Roku)に関する作業 開始日の調整,入社契約のサイン,バックグラウンドチェック,Visa申請を進めました.基本的に言われるがまま作業をすればいいので特に難しくはありません. #### バックグラウンドチェック 今回も前回(Facebook入社時)同様にHireRight社によるバックグラウンドチェックがありました.前回準備した書類を保存していたので言われるがままにそれらをアップロードするだけでした. #### Visa申請 [Skilled Worker Visa (pka. Tier 2 Visa) の雇用主変更手続き](https://www.gov.uk/health-care-worker-visa/update-your-visa-if-you-change-job-or-employer) を行います.Roku に割り当てられた弁護士の指示に従って作業していきます.これも前回準備した書類をそのまま送りつけるだけでした.準備した書類をSubmitしてから1日でApproveされたそうで,あまりの速さにびっくりしました. Visaの更新に伴いこれまで使っていたBiometric Residence Permitが失効しました.各種ログインをPassportでできるように変更し,古いカードを破壊して返送しました. ## 休暇中 Garden Leaveから新しい仕事開始までは事実上の休暇です.この期間にヨーロッパを周遊しようと思っていたのですが,Visaの切り替えタイミングと被るためやめた方がいいとのアドバイスを受けました.具体的には - 新しいVisa応募期間中に出国しないほうがいい(Visa申請が失効するため) - 現職最終雇用日以降に入国しない方がいい(入国できない可能性がある) とのことでした.結局,諸々の用事と重なってしまったため周遊の予定はキャンセルして正解でした. 結果,数学の本を読んだり機械学習の本をお勉強をしたりプログラミングのお勉強をしたり論文を書いたりと,かなり楽しい休暇を過ごしています (DRAFT).

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully