パリのセキュリティスタートアップSqreenに転職します!
キャリアチェンジして未経験からフロントエンドエンジニアになり約2年、次はセキュリティ管理プラットフォームSqreenで働きます🎉フランスは退職するとき3ヶ月前通知が基本なので、入社するのは2月とまだ先ですが、色々と思い出に残る採用プロセスだったので文章に残しておきたいと思います(ほぼ全てを記録しているのでめっちゃ長い)。
Sqreenとは?
SqreenはAppleのREDチーム、あらゆるプロダクトを脆弱性がないか社内から攻撃して調べたり、よりセキュアにするための手法を提案したりする部署で働いていたエンジニアのPierreとJBの二人が創業した会社で、Y Combinator出身。 "Democratize security"をミッションに、難しくて複雑なイメージがあるセキュリティをわかりやすくシンプルにすることを目指していて、攻撃を自動でブロックしたり、脆弱性や攻撃を行なっているユーザーやIPアドレスをリアルタイムでダッシュボードから見ることが出来たりと、アプリケーションをモニタリングしたりプロテクトするためのサービス。パリとサンフランシスコにオフィスがあり、従業員数は40人くらい。
(日本語でSqreenについて書かれている記事: ウェブアプリのセキュリティを組み込みモジュールで提供するSqreenが約15億円を調達)
転職活動
未経験のエンジニアに就労ビザをスポンサーしてくれる会社なんてほぼないので、今の会社にはとても感謝しているけれど、最近の会社の方向性に共感出来なかったり、quick and dirtyなコードばかりを書くことにうんざりしていて、転職したいと結構前から思っていた。でもビザの関係でしばらく同じ会社で働かなければならず耐えていたら、面白そうな仕事のオファーが来て、転職できる時期も近づいていたので、本格的に転職活動を開始する。
とは言ってもパリで英語で働けるスタートアップは限られているし、さらに興味のないプロダクトに関わるのは嫌だったので、受けたのは3社だけ、そのうち2社は向こうからコンタクトがあり、Sqreenだけ自分から応募した。結果は1社は自分から断り、1社は落ち、Sqreenからのオファーをacceptしました。
選考方法にそれぞれの会社がどんな人材を求めているか出ていて面白かった。落ちた会社の課題は、Promiseを使わずasyncMapを実装するとかで、何かを作る課題はなし、まあ意図はわかるんだけど全体的に楽しくないというのが正直な感想で、上手に出来なかったので無理だろうなと思ったら案の定落ちた。Sqreenのインタビューが一番よく出来ているなと思ったけど、とにかく大変で、GlassdoorにCEOインタビューまで行ったのに落ちた人のレビューがあり、そこまで行ってもまだ落ちることあるのかと思うと気が抜けずものすごくストレスだった。
Sqreenの選考方法
Sqreenの選考方法はこんな感じ:
Talent Sqreen (30 minute video call)
Expert Sqreen (30 minute video call)
Technical Sqreen (2 hour take-home assignment)
Welcome to the Sqreenhouse (Half-day onsite interviews + lunch)
Founder Sqreen (30 minute video call)
Reference Sqreen
実はSqreenに応募するかしばらく悩んでいて、超面白そうだけど条件を100%満たしていないし*、このまま応募してもだめなのでは?Reactもう2年も触ってないし、JSの知識がもっといるのでは、やっぱり勉強してから応募するべきじゃない?などと思い、You don't know JSを読んだりしながらコツコツ勉強していたんだけど、そうしている間に他の人を採用してしまうかもしれないと不安になってきたので、Head of PeopleのAlisonにLinkedIn経由でコンタクトすることにした。
「Sqreenのフロントエンドエンジニアのポジションに非常に興味を持っているけれど、Reactの経験などがなく、全てのrequirementsを満たしていません。なので応募する前に必要なことを勉強したいと思っているんですが、どういったスキルを持ったエンジニアを求めているか教えてもらうことは可能ですか?」
みたいな感じで。「チームと確認するからちょっと待ってて」と返事が来て、数時間後、チームは still very open to a discussionだからSqreenとこのポジションについて話すための電話をしようとなる。
テクニカルインタビュー
Alisonと話をして、スムーズに話は進み、その後フロントエンドエンジニアと30分のテクニカルインタビューをすることに。私はめちゃめちゃに緊張して、どんな質問が来るだろうと、インタビュー質問集を見ながらClosureの説明とかを練習していたんだけど、難しい質問は全然なく、ずっと笑いっぱなしだった。基本的には今の会社でどんなプロジェクトをやっているか、あとはフロントエンドに関する簡単な質問、それ以外は彼がSqreenのフロントエンドがいかに素晴らしいかを語ってくれて、あまりにも熱っぽく興奮して語ってくれるので二人でめっちゃ盛り上がり、こんな風に語れる同僚がいたら本当に楽しいだろうな、絶対この会社に入りたいなと思う。
2時間の課題
その次は2時間の課題。別に難しいものではないし、2時間の設定だから凝ったものを作らなくていいんだけど、Reactでやらなきゃいけないことがちょっと大変だった(Reactの理解度によっては4時間掛けてもいいよと言われたので、結局5時間掛けた)。とりあえずHooksだけでも勉強してからやるかと思ってチュートリアルをやってみたら、Reactめっちゃ簡単になってて思っていたほど困らず、ベストではないけど楽しく出来た。
週末に提出したら、月曜の朝にすぐチェックしてめちゃめちゃ詳細なフィードバックを送ってくれて、そんなに丁寧なフィードバックをもらったの初めてですごく嬉しかった。Reactについてはまだ勉強が必要だけど、JavaScriptやFunctional Programmingについての良い基礎理解があることはわかるということで普通に合格で、まじかよもっと早く応募しておけばよかったと思う。
オンサイトインタビュー
その次は半日のオンサイトインタビュー。インタビューから始めてランチで終わるか、ランチから始めてインタビューで終わるかの二択で、ランチからだと緊張で食事どころではなさそうなのでインタビューからでお願いしたら、朝9時15分集合で若干後悔する。
まずは一人のエンジニアからプロダクトのデモを見せてもらう。今ある機能、開発中の機能、将来の方向性などをざっくりと話される。
最初のセッションのテーマはproductで、Head of Productとデモをしてくれたエンジニアが担当。アプリケーションのテーマを与えられて、これにはどういう機能が必要か、ユーザーが最初に目にするものは何であるべきか、あと2週間でリリースするならどの機能に絞るか等々を議論しながらホワイトボードにどんどんアイディアを書いて、ざっくりとしたデザインを作る。ものすごく緊張したけど、正解不正解があるわけじゃないから安心してアイディアを出して欲しいと言ってくれたし、インタビューというより本当にディスカッションで、二人がたくさん助けてくれたので楽しかった。
次のセッションはimplementation、と言っても実際にコードを書くわけではなかった。今度はエンジニアリングマネージャーとフロントエントエンジニアが担当。二人は私が何の課題をやったか知らないので、まずは最初のセッションで決まったアイディアをプレゼンする。その上で、これを実装するためにはどんなデータが必要か、それはどういう構造であるべきか、どういうコンポーネントに分割するか、データフローは、等々あれこれ質問される。流れの中で、re-renderはいつ起きるか、GraphQLでのqueryの書き方、REST APIでのデータ取得方法、paginationはどうやって実装するのか、どうしてpropsをmutateしてはいけないのか、など基本的なことも聞かれる。
最後のセッションはoptimisationで、また別のエンジニア二人が担当、これもまた最初に考えたプロダクトを元に最適化の方法を考える。具体的な内容は書けないけど、アルゴリズムが全然わからない私でもわかるように色んな例えを使って手助けをしてくれたので面白かった。私はすごく楽しかったけど、相手がどう思っていたのかはさっぱりわからない、でもこの二人に限らずみんな超フレンドリーで、威圧的な感じゼロ、コミュニュケーション能力の高さにびっくりする。
ちなみにどのエンジニアでも全員この三つのセッションをやるらしく、技術的な面だけでなく、コミュニケーション能力が高くプロダクト思考を持っている人を探しているんだろうということがよく伝わってきた。
女性エンジニアが圧倒的に少ないこと
終わったあとはHead of People、Techチームのディレクターとwrapping upセッション。今日の感想や簡単な質問(Sqreenがどんなプロダクトか説明できる?新しいことはどうやって勉強する?等)を聞かれ、どういう風に開発しているかなどを説明してもらう。
「最後に何に関することでもいいから聞きたいことはある?」と聞かれたので、「エンジニアが男性ばかりだけど、そのことをどう思ってる?女性エンジニアを採用するために何かやっていることはある?」という前日から散々聞こうか悩んだ質問をした。
実はもう一社オファーをもらえそうだったところを断った一番の理由は、この質問に対する回答に納得できなかったから。「この会社が一番行きたいと思える会社になるためにはどうすればいい?」と聞かれたので、「多様性、エンジニアが全員男性であることが気になっている」と正直に言ってみたところ、「best of the bestなエンジニアだけを採用したら男性だっただけ、男性だから採用しようとか、女性を採用しないようにしているわけじゃない、女性差別はない。そもそも市場のエンジニアのほとんどが男性だから、それを反映しているだけ。フェミニストでそれが気になるなら、この会社に入って自分で変えればいいんじゃない?」、という答えがCEOから返ってきて唖然とする。そこそこ有名なスタートアップのCEOでさえこの程度の認識なのが2019年パリの現実である。この考えがどれだけ問題になって議論されてきたのか知らない(または興味がない)ことに驚いたし、多様性を大切にしない会社に未来はないと思ったので、仕事は魅力的だったけど断りました。
Sqreenも女性エンジニアはディレクターとバックエンドのインターンの二人だけ、あとは全員男性だったので、この質問を聞かなきゃいけないと思いつつ、もしがっかりする答えが返ってきたらどうしようと不安で本当に悩んだけど、でもやっぱり聞かなきゃ後悔するので勇気を出して聞いてみた。
私にとってそれが難しい質問であるとわかっているし、本当に大事なことだから聞いてくれてありがとうと前置きした上で、説明してくれたのは、CEOがこのままじゃだめだと認識していて、誰か一人がやるのではなく、全員でこの問題に向き合っていること、 候補者を見せたときに「スキルはあるかもしれないけどバックグラウンドが今いるメンバーと全く同じでは」とエンジニアからpushbackがくること、女性やunderrepresented groupのためのmeetupのスポンサーをしたり、メンターをオファーしたり、もしそういった人たちがSqreenに応募しづらい現状があるのなら、一度採用を中断して、自分たちの何が問題なのかを話し合い、それについて具体的な対策を取ってからまた採用を再開するようにしていること。
少なくとも現状がなぜだめなのかを理解していて、改善に向けて具体的なアクションがあることにすごくほっとした。そうは言ってもまだ女性エンジニア二人しかいないし、正直こんなことで感動したくないけど、これで感動したくなるレベルなのが現実である。
その後に今後の流れとして、インタビューに参加した人たちと午後ミーティングをして、何かフォローアップしたいことがあれば追加で面接を入れるかもしれないけど、そうじゃなければ次はCEOとの最終面接と言われる。
追加された謎のCasual Coffee Chat
Sqreenが探している人ってめっちゃ私では?と正直思っていたので、その日の夜に「CEOとのインタビューの前にもう一つ何か入れると思う、また週明けに連絡するね」と連絡が来た時は唖然とする。まじ?私何かだめだった?誰だ私を微妙だと思った人!?と思ってものすごくストレスフルな週末(しかも三連休)を過ごす。
週明けに連絡が来て、ホリデーから帰ってきたもう一人のフロントエンドエンジニアとエンジニアリングマネージャーとCasual Coffee Chatをすることになる。"Casual"って何だよ絶対カジュアルちゃうやろと思って超緊張して、フロントエンドエンジニアとの面接ってことは私のフロントエンドのスキルに何か問題あると思われているんだろうかと、Event Loopの説明を練習したり、コンピュータサイエンス一般の知識がないと思われているのかもしれないと、Sqreenがどうやって作られているかの説明を読みながら、曖昧な単語の勉強をしたりしていた。
ものすごく緊張してオフィスに行ったら、超和やかに迎えられ、難しい質問は別になく、面接の感想、面接で好きだったこと嫌いだったこと(もちろん嫌いな点で全てのセッションでインタビュアーが全員男性だったことを挙げた)、どうしてSqreenなのか等を聞かれ、本当にCasual Coffee Chatだった。その日のうちに連絡がきて、翌日夜にサンフランシスコにいるCEOと最終面接することに。
Referenceも同時進行に進み、前職のマネージャーと同僚の連絡先を提出した。同僚は下書きを見せてくれたんだけど、あまりにも褒めてくれていたので泣きそうだった。たとえ今いる場所に納得できなくても、一生懸命頑張っていると良いことがある。
CEOとの面接からのオファー
CEOとの面接は超楽しかった。Apple出身だからプロダクトはシンプルでスムーズな体験を提供しなきゃいけないと思っていること、周りには早すぎるって言われたけど、デザインはSqreenのコアだからと初期にデザイナーを採用したこと、優れたプロダクトは多様なメンバーで構成されたチームから作られると信じていること等、共感できることがたくさんあった。
CEOにも直接エンジニアが男性ばかりのことについてどう思っているか聞いた。彼の答えは聞いていた通りだったし、毎週の全社ミーティングで、コンピュータサイエンスの発展に貢献した女性たちを紹介して、彼女たちが女性であることでどれだけ苦労したかのエピソードを話すプレゼンを、社員が交代になってやっていることを教えてもらった。
この面接を終えた10分後くらいに、リクルーターとエンジニアリングマネージャーから電話が掛かってきて、オファーをもらって、喜んでAcceptした。Yesって言ったらマネージャーがめちゃめちゃ喜んで叫んでいて、私も本当に嬉しかった。
non-linearなキャリアのこと
Sqreenの面接であれこれ質問に答えているうちに自分の過去が綺麗に繋がって、話していて自分で感動してしまった。プロダクトやデザイン思考はGoodpatchでの経験からで、多様性の大切さやセキュリティへの興味はTwitterでの経験からだし、私のキャリアはめちゃめちゃにnon-linear**で、他人の参考やお手本にはならないけど、それでも無駄なことって本当に一つもないんだなと思う。これまで手探りで頑張ってきたこと、国も言語も分野も違うけれど、きちんと評価されるんだと思うと本当に嬉しかった。
これから
完璧な会社なんてないし、他人同士が集まる場所なので色々あるだろうけど、少なくとも安心してフェミニストであることを公言できる、何かあったときに声を上げられる環境だと思えたので、楽しく働けたらいいなと思う。
私は今やっと少し選べる立場になってきて、男女比についても質問できるようになった。最初の就職活動の頃はこんな質問できなかった。これからもっともっと学んで上に行きたい、self taughtで、女性でアジア人で、アクセントのある完璧でない英語を話す私が与えられる希望を信じているし、声を上げられない人のためにも声を上げていきたいです。
Sqreenがどういう仕組みなのかちゃんと理解して喋れるようになりたいので、今度こそバックエンドも勉強するぞ〜〜と張り切っている。またReact書けるの嬉しい、2020年もたくさん勉強して良い年にしたいです🎉
注釈
* "Why Women Don’t Apply for Jobs Unless They’re 100% Qualified" を何度読んでもこうなるの本当にどうしたらいいんでしょうね?
** Head of PeopleのAlisonが書いた彼女のnon-linearなキャリアの話も最高、仕事に応募すると90%の確率で面接なしに落とされるけど、一度面接に呼ばれると90%の確率でオファーをもらうという面白いキャリアの人。