留学先でAIエンジニアの職を獲得するために準備していたこととは?

今回はカナダのバンクーバーに留学中に、AIエンジニア兼バックエンドエンジニアとしてのお仕事を獲得されたLuckさんに、どのような就職活動をされたのかについてインタビューを行いました。

  • 留学中にソフトウェアエンジニアとして働きたい
  • 海外就職するためのプログラミング学習法がわからない
  • カナダ留学でプログラミングを勉強したいと思っている

そんな方にLuckさんの成功体験をお伝えします。

Recursionユーザー Luck

Luckさん

大学ではハードウェア工学を専攻。大学院を休学中にカナダバンクーバーに留学し、現地企業でAIエンジニア兼バックエンドエンジニアとして勤務。

大学院を休学してバンクーバーへ留学へ

――Luckさん、インタビューをお受けいただいてありがとうございます。早速ですが簡単な経歴を教えていただけますか?

大学では、ハードウェア工学(電気回路、電子回路、コンピュータの仕組み等)をメインで専攻しました。AIという技術に興味があったため、研究室配属で自動運転用のAIプロセッサ関連の研究室を選択し、ニューラルネットワークを軽量化する研究に取り組みました。

その後大学院へ進み、軽量化したニューラルネットワークをFPGAと呼ばれるプロセッサに組み込んで、処理を高速化する研究に取り組んでいます。

現在は、大学院を一年休学し、海外留学をしています。留学中、日本の企業でバックエンドエンジニアとしてリモートで働いています。また、留学先で、AIエンジニア兼バックエンドエンジニアとしても働いています。

――Recursionを始める前に、プログラミングの経験はあったのですか?

大学2年生の時のプログラミングの授業がきっかけでプログラミングに興味を持ちました。その後、自分でPythonの入門書を買って取り組み始めました。

――Recursionを始めたのはどうしてですか?

研究を始めるにあたって、コンピュータサイエンスの基礎を体系的に学べる教材を探していたところ、Recursionを見つけました。試してみたら、アウトプットメインの学び方が自分にあっていたので、始めることに決めました。

――どのようにRecursionを利用されましたか?

Recursionで学習する際に選択した言語については、1周目はPython、2周目はJavaを選択しました。実務では、日本企業でC#、 海外企業でJavaScript(Node.js)とPythonを使用しています。

学習時間は、週末に平均で6~8時間くらい勉強しました。

始めた目的が「コンピュータサイエンスを学ぶ」だったため、「コンピュータサイエンスの基礎」というコースを最も注力して学習しました。コンピュータサイエンスプロジェクトはBanking Appまで進めています。

――Recursion以外で学習していたものや、取った資格はありますか?

有名なサービスをいくつか利用し、Pythonを学ぶ際に「独学プログラマ」という本を読みました。また、ネットワークやコマンドラインの知識は、研究で必要になることがあったので勉強しました。

フロント側については、RecursionのHTML, CSSコース以外で学習していません。たまに実務で触ることがありますが、今のところRecursionで学んだ知識十分だと感じています。

研究室のメンバーとAIに関する一般的な知識を証明するG検定という資格を取得しました。AI分野について浅く広く知れたので取得して良かったと思っています。

コンピュータサイエンスが新しい技術の習得に役立った

――Recursionで学習してみてどうでしたか?何か変化があったでしょうか。

コーディング面接対策でLeetCodeという競プロサイトを利用しているのですが、Recursionで学んだコンピュータサイエンスの基礎が役に立っていると感じます。理由は、コーディングで主に問われることが、データ構造とアルゴリズムだからです。また、コンピュータサイエンスという普遍的な知識を得ることで、新しい技術や言語を学ぶ際の手助けになっていると感じます。

――今、Recursionを始めたばかりのユーザーさんはどのように学習すると良いと思いますか?

Recursionはコンテンツが多く、どれを学習すればいいか迷うかもしれませんが、まずはコンピュータサイエンス基礎「初級」〜「上級」に取り組むのをおすすめです。途中で気分転換にコンピュータサイエンスプロジェクトに取り組んでみるのも良いと思います。やめてしまうのが一番勿体無いので、続けることを意識していました。

また、コンピュータサイエンスの基礎は、復習として他の言語でもう1周することをお勧めします。僕の場合は、動的型付け言語 -> 静的型付け言語という流れで進めました。

カナダへ留学中にAIエンジニアとして現地企業へ採用

――Luckさん、バンクーバーでソフトウェアエンジニアのお仕事を獲得されたそうですね。おめでとうございます。就職活動はどのようにされていたのですか?

海外で働くことになったきっかけは、たまたま街で話しかけた人が経営者だったことです。AIエンジニアを探しているという話を聞いたので、自分が参加することを提案したところ、ぜひ来てほしいということで参加が決定しました。

――たまたま話しかけたんですか。チャンスをつかむきっかけは意外なところにあるのかもしれませんね。採用試験はあったのですか?

僕の場合は簡単な面接1度のみでした。ポートフォリオ、英語のスキル、プライベートでどれくらい勉強するか等をチェックされました。それから、プロジェクトに対してどのようなアプローチをとるか(使用するAIのモデル)、バックエンドフレームワークについて話し合った後で、給料が提示されました。

――コーディング試験はなかったのですか?

ありませんでした。ただ、海外ではほとんどの場合、コーディング面接があるとのことでした。

――どのような点を評価されたと思いますか?

面接の際には、経歴はもちろん、英語での最低限の会話や、仕事時間以外の学習意欲をチェックされました。アピールしたのは、自分で開発したAIをバックエンドに組み込めるところなどです。大学院でAIを研究しているという経歴と、バックエンドエンジニアとしての開発経験を評価していただいたのかなと思います。

留学中にチャンスを掴むために準備に力を入れた

――どのような点を評価されたと思いますか?

少人数のチームなのですが、AIモデル開発、バックエンド全般を担当しています。留学先で参加させてもらっているプロジェクトでは、1時間あたり$40頂いています。給料にも、プロジェクトの内容にもとても満足しています。

――実務未経験者が内定を取るためにやっておいた方が良いことはなんでしょうか

まずはポートフォリオを作ることだと思います。僕が海外で働けたのは運によるところが大きいですが、たまたま出会ったチャンスに乗れたのは、ポートフォリオを作って準備していたからだと感じているからです。

ポートフォリオを作る際に意識したのは、見る人が、できるだけ早く全ての内容を見れるようにページの遷移を工夫したことです。内容は、アルバイトで開発したWebアプリケーションのリンクと説明、ReactとDjangoで開発したTodoリスト、自分なりにコンピュータサイエンスについてアウトプットした記事が記載しています。

――事前にポートフォリオをきちんと準備していたからこそ、たまたま降ってきたチャンスを手にすることができたんですね。大変興味深いお話を聞かせていただいてありがとうございました。今後のご活躍を期待しています。