はじめに
バンクーバーの会社でReactデベロッパーとして働き始めて、今日でちょうど3ヶ月が経ちます。こちらの学校でプログラミングを学んだ後にReactを勉強し、Web/UIデザイナーからジョブチェンジをしました。今回はその就活時に感じたそれぞれの採用ステップの壁と、どうやってそれを乗り越えたかについて書き残しておきます。
その会社は社内コミュニケーションのためのWebツール、Gmailのエクステンション、Outlookのアドインなどを開発していています。社員約80名のうち35名弱が開発側で、5つほどの開発チームに分かれています。私はその中でWebツールの新機能を開発するチーム(チームリーダー1名、デザイナー1名、QA1名、開発3名)に所属し、ReactとScssを書いています。JiraのBacklogとKanban boardを活用してタスクを管理し、Bitbucketやプライベートnpmを活用してコードを管理しています。
0. 一般的なデベロッパーの選考過程
- レジュメ提出
- 電話面接(採用担当の人である場合が多い)
- 技術試験(課題やペアプログラミング、プレゼン、ロールプレイング、ペーパー試験など)
- 対面面接(オンサイト面接)
- 給与交渉とオファー
技術職に必須の技術面接では実際に会う面接の前に、まず基本的な理解度を判断するための課題が与えられます。会社によりますが、私が受けたところでは、ビデオ通話でエディタを画面共有してアルゴリズムの問題を解くものや、宿題を与えられて期限までに実装して提出するものがありました。パスすれば後日会社に呼ばれ、その課題を掘り下げる面接が行われたりします。
1. レジュメ通過
私はデベロッパーとしての経験がなかったので、まず面接に進むまでに苦労しました。在学中から度々レジュメを送っていましたが、電話面接に進む返事が来ることはありませんでした。そこで試したのが下記の方法です。
1-1. レジュメに書ける仕事をする
レジュメの内容が薄いことが面接に進めない原因だと推測してからは、しばらく知り合いからReactのフリーランスの仕事をもらったり、React Nativeで個人プロジェクトを作成したりすることで、アピールできる実績を作ることに専念しました。
1-2. 技術とポジションを絞る
1番興味のあったReact/React Nativeに技術を絞って勉強し、レジュメもその方向でアップデートしました。応募する会社も要項が近く、外国人を雇っていそうな会社を選ぶことで反応が良くなりました。それまではひたすらデベロッパーと名の付くポジションの求人に応募しては撃沈していました...
その他にも最初はポートフォリオサイトを用意したり、Githubで1日1コミットして芝を生やしたり、アルゴリズムを解いたり、形からデベロッパーらしいことを試していきました。
2. 電話面接通過
顔の見えない相手との会話はすごく気を使いますし、聞き取りが難しいです。そのためできる限りの事前準備を入念に行いました。
2-1. スクリプトの用意
面接でよくある質問、考えられる質問に対する答えをあらかじめ用意しておき、電話中に手元に開いて確認していました。すると全く同じ質問でなくとも、用意した回答を組み合わせてスムーズに回答することができました。また面接前日はその会社のリサーチを行い、質問したい内容もまとめていました。
2-2. 聞き返す
とにかく質問の意味が分からなければ何度でも聞き直し、他の言葉で言い直してもらったりします。英語のリスニングテストではないので、確実に質問を理解して、相手の求めている答えを提供するように努めます。言い回しが分からず、結局ほぼすべての質問を聞き直した気がします。
2-3. ゆっくり、明るくはっきり話す
たくさん話す必要はなく質問されたことに答えれば良いので、相手が話している間は軽く相槌を打つ程度で大丈夫だと思います。その上で表情が見えない分、自分が話すときには意識して朗らかにはっきりと話すようにしました。
3. 技術面接通過
電話面接の反応が良かったとしても、肝心の技術が伴っていなければ先へ進むのは厳しいです。私は技術面接が通らないと気づいたときに一旦就活をやめて、個人のReact Nativeのプロジェクトをリリースすることに注力することでまず技術と自身を付けました。
3-1. 課題
問題を予想してReact用のdirectoryを用意したり、使えそうなコードをすぐに参照できるようにして、自分ができることを確実に見せられるように事前準備をして臨みました。
3-2. 技術面接、ペアプログラミング
事前に出題されそうな問題を解いて勉強しました。この試験ではアプローチ方法を見られているため、面接中は解決方法が分からない場合でも何に悩んでいるのか、何をしようとしているのかをとにかく口に出して説明し、沈黙する時間を無くすようにしました。
大抵ここを通れば脈アリです。あとは社風に合う人物かどうかを判断する面接(Cultural fit interview)を残すのみです。私はチームになる予定のメンバーとのランチでしたが、CEOや社長との雑談が一般的なようです。その面接まで呼ばれてオファーをもらえなければ、性格的にマッチしなかったということなので、その会社は潔く諦めましょう。
おわりに
私は英語で流暢に自分の意見を伝えられるわけでも、飛び抜けた技術を持っているわけでもありません。就活中は都度自分に何が足りないかを分析して、一つずつ確実に克服してきました。もちろんこれは一例に過ぎませんが、この記事で海外就職を目指している方の背中を押すことができれば幸いです。