去る9月16日をもって FlightAware を退職しました。10月より AWS SDK for Rust を開発するチームにソフトウェアエンジニアとしてジョインします。前職に引き続き、仕事はリモートで行います。本投稿では、転職することになった経緯の話をします。AWS のインタビューの準備およびインタビューの体験談は後の投稿でお話しようと思います。
FlightAware には4年在籍しました。フライトトラッキングのバックエンドシステムを開発するチームに所属し、社内で使われるシステム、社外で使われるシステム、両方を手掛けました。もともとチーム内では Python が使われていたのですが、ハイパフォーマンスを可能にするプログラミング言語を模索する中、Rust に出会いました。コンパイラのエラーメッセージがわかりやすい、ツールが充実している、C++ で見られるようなメモリ関連のバグをコンパイル時にはじいてくれる、それゆえ Rust で書かれたコードのレビュー時にはそれらを気にせず変更されたコードの本筋に集中できる、生成されたプログラムの実行速度が C や C++ に引けを取らない、リファクタリングを非常に効率的に行える、等々の理由から迷わず会社での導入を願い出ました。なにより、デベロッパーひいてはチームの生産性を長期にわたって大きく向上させる画期的な言語だとそう直感しました。そして幸い希望が通り、自分が社内に Rust を広めることとなりました。
当時仕事で AWS を使っており(詳細はこちら)、AWS が Rust を積極的に使用していくという趣旨の記事を目にしました。AWS のような大規模なソフトウェア会社でどのように Rust を使っているのかその動向は大変気になりましたし、自分が Rust を習得していく上でお世話になったエキスパートの何人かも AWS で働いていることを知りました。Rust を仕事で使えるポジションは比較的少なく、その中でも求人の多くは crypto 絡みです。F(M)AANG を見ても、Rust に絞った求人(多言語との列挙でなく、単独で言及されているもの)がそれなりの数で出てくるのは自分の知る限り Amazon です(Apple がそれに次いで、Meta でも Rust の使用が告知されましたし、Fusha やトークを見る限り Google でも確実に使用されているので求人が増えるのは時間の問題だと思いますが)。今後重要性が増していくだろう Rust が大企業でどう使われていくのか、それをこの目で見てみたいと思い、AWS で Rust を使った開発がしたいと思うようになっていきました。
そして今年、MathWorks 時代の同僚で現在 AWS に勤める友人と話をする機会があり、ちょうど AWS SDK のチームが Rust のポジションを出していたので、興味がある旨を伝えたところ、彼の口利きでリクルーターに繋いでくれました。そして、そのリクルーターと話しをしていくうちに「じゃあ、インタビューをしましょう」という運びになりました。
というところまでが転職を決意するに至った経緯です。インタビュー関連の話は次回以降にまとめたいと思います。