留学先でAIエンジニアに!チャンスを掴むためには事前の準備を怠らない事|Luckさんインタビュー

今回インタビューさせていただいたのは、バンクーバーでAIエンジニア兼バックエンドエンジニアとしてのお仕事を獲得されたLuckさん。日本企業のバックエンドエンジニアとしてリモートで働きながら留学されていて、それだけでもすごいのですが、留学先でのお仕事も獲得されたそうです。Luckさんに詳しいお話を伺ってみました。


Luckさん

Twitter:https://twitter.com/luck_atjm

Recursionのアウトプットメインで学ぶ方法が自分に合っていた

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

Luckさん(以下敬称略):

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

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

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

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

Luck

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

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

Luck

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

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

Luck

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

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

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

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

Luck

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

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

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

コンピュータサイエンスという普遍的な知識が新しい技術の習得に役立った

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

Luck

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

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

Luck

Recursionは大変コンテンツが多くて、どれを学習すればいいか迷うかもしれませんが、まずはCS基礎の初級、中級、上級に取り組むのがおすすめです。もし飽きたら、先にプロジェクトに取り組んでみるのも良いと思います。やめてしまうのが一番勿体無いので、続けることを意識していました。

また、CSの基礎は1周した後で、他の言語でもう1周することをお勧めします。僕の場合は動的型付け言語 -> 静的型付け言語という流れで進めました。

きっかけはたまたま話しかけた人が経営者だった!海外でAIエンジニアとして採用

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

Luck

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

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

Luck

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

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

Luck

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

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

Luck

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

チャンスを掴むために大事なことはきちんと準備しておくこと

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

Luck

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

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

Luck

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

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

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