Recursionを活用し、アメリカでバックエンド開発の仕事をGET|Kwonさんインタビュー

今回インタビューをさせていただいたのはKwonさん。経営専攻、ラグビー部所属からのコンピュータサイエンスという異色の経歴の持ち主です。チーム開発での成果物とその経験を評価され、バックエンドとしての仕事が決まったそうです。KwonさんがどのようにRecursionで力をつけたのか詳しくお話を聞かせていただきました。


Kwonさん

Twitter : https://twitter.com/usoreu

プロジェクトの楽しさにハマり1日8時間学習

――Kwonさん、インタビューをお受けいただいてありがとうございます。まずは、簡単な経歴とプログラミング経験の有無について教えていただけますか?

Kwonさん(以下敬称略):

大学では経営を専攻していました。ラグビー部に所属していて、練習が終わって寮につくのが夜の9時とかだったので学業に励む時間は正直あまりありませんでした。授業以外で補習する習慣もなかったです。

プログラミング経験については、Recusionを始める前に1か月程Progateとドットインストールで学習していましたが、コンピュータサイエンスという言葉自体も知りませんでした。

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

Kwon

プロラグビー選手としてのスカウトがもらえなかった事で一般企業への就職を考えたのですが、今までスポーツしかしてこなかった自分が一般企業に就職してやっていけるのか自信が持てませんでした。体育会系特有の忍耐強さだったりリーダーシップだったりは自分の強みだと思うのですが、それだけでは厳しいだろうと考えました。

その時は曖昧な知識でしたが、「コンピュータサイエンスを学べば自分のスキルとして自信をもって社会にでれる」と思ったので、コンピュータサイエンスを学びにアメリカへ留学する事を決めました。

いきなり英語でCSについて学ぶことは難しかったのでRecursionを利用させていただきました。

――Recursionをどのように利用されていますか?

Kwon

最初はJavaScript、Javaを選択して学習を進めました。C++を学校の授業で以前学習したことがあったので、上級コースはC++で進めていました。

1日の学習時間については、正直、Project3を完成させる前までは勉強時間に波はありました。でも、Project3を完成させてからは習ったことを応用して何かを作るという事に楽しさを感じ、最低でも大体1日8時間はやっていたと思います。

――8時間はすごいですね。どのあたりまで進んでいますか?

Kwon

上級やOOPなどを終え、今はDjangoのコースまで進んでいます。

特に注力して学習したのは、上級コースのデータ構造です。Recursionのコースでも中級に比べかなり難しくなる部分です。それまでEasyレベルの問題しかすらすら解けなかったのが、上級コースを学習してからは、Medium問題でも解けるようになり自分の実力がついてきたと実感しました。

――プロジェクトは進んでいますか?

Kwon

Project5のブラックジャック以外はすべてやりました。そのうちいくつかはポートフォリオにさせていただいてます。私のポートフォリオはこちらです。

https://tkwon-portfolio.vercel.app/

ポートフォリオの完成度についてはまだまだだと感じていますが、Shinyaさんにアドバイスいただいたことを参考に改良しています。具体的には、GitHubのREADMEや、ポートフォリオサイトでの説明文などをしっかり書くようにしました。

ポートフォリオを作る際に意識したのは、RecursionのコンセプトにもあるようにThink for yourselfを実現するようにして作ったことです。

――Kwonさんのポートフォリオにはチーム開発で作成したプロジェクトもありますね。参加してみてどうでしたか?

Kwon

今までチーム開発に2回参加させていただきましたが、参加するごとに一番成長できたと感じました。

特に他のメンバーの方が書いたコードを見たり、お互いレビューしあったりする事で、自分の中で新しい発見があり成長につながったと感じています。また、Gitの使い方についても学べたので非常に得られる部分が多かったです。

1回目のチーム開発で一緒のチームになったユーザーの方々とは、1ヵ月の期間が終わってからも実装できなかった部分を追加で実装するなど、交流を続けていることも非常に嬉しいです。

チーム開発の一番の醍醐味は、1ヶ月という短い期間で自分一人では到底作ることができないものでも、チームのみなさんと協力することで素晴らしい成果物を作る事ができるということだと思います。

また、Recursion内のプロジェクトを進めていく際にどのように設計していくのかわからないといった疑問があったのですが、チーム開発ではメンターの方がうまくタスクを分解してくださっていたり、締め切り日から逆算して優先的なタスクは何か判断してくださったりするので、それを間近にみて教わる部分は特に多かったです。

――コンテンツはどのように学習しましたか?

Kwon

学習方法としては、レイナさんの学習方法を参考にさせていただきました。

また、コース内にあるエディタは飛ばさず課題をクリアしてから進めるように意識しました。詰まってしまった時には、Discordのコミュニティを見るとすでに同じような質問があったのでそれを参考にさせていただいたり、積極的に自分でも質問を書き込んだりしました。

コーディング問題に関しては、自分で解いたあとに必ず模範解答を見てより良いコードの書き方は何か確認するようにしました。

――Recursion以外のサービスを利用しましたか?

Kwon

アメリカ企業のインターンではコーディング問題が出ますから、その対策としてLeetcodeという競プロのサイトを利用しはじめました。

他には、最近、データベース、ネットワーク関連の本を読み始めました。アルゴリズムとデータ構造に関するものはRecursionでのコンテンツに加えて本でも学びましたが、ネットワークやWeb周りの知識は最低限の事しか知らないので、これから本格的に学んでいく予定です。

読める!公式ドキュメントが難なく読めることに成長を実感

――Recursionを始める前と比べて何ができるようになったと感じますか?

Kwon

Progateを終えてRecursionを始めたばかりの頃、初級コースの機内食オーダーの問題で何時間も悩んでいたのを覚えています。

それからRecursionで初級、中級、上級コースを進めていくにつれて、以前よりもコードの可読性やDRYを意識するようになりました。Recursionを始める前は可読性やDRYなど考えず、とりあえず出力だけ意図したものが得られればと思っていたのでその点が大きく変わったと思います。

それにRecursionを始める前と比べ、公式ドキュメントを読んで理解できる部分が増えました。始める前は公式ドキュメントは難しく避けていましたが、Recursionでのコースを進めるにつれて公式ドキュメントに書いてある内容が理解できるようになってきました。

なので、新しいフレームワークなどを学ぶ際の学習コストは以前に比べてかなり低くなったと思います。

また、今の大学ではコンピュータサイエンスを専攻していて、Recursionを利用してからは授業の内容をすぐ理解できるようになりました。わからない事があっても自分で調べて解決できる自走力がついたのがRecursionを始める前の自分と比べると大きく変わった点かと思います。

――今後どの分野を勉強していきたいですか?

Kwon

仕事も主にバックエンド開発がメインなのと将来バックエンドエンジニアとして働きたいのでバックエンドをしっかりやっていきたいと思います。

特にデータベース、ネットワーク、Web周りの知識が足りないので補っていきたいと思っています。

バックエンド開発で内定獲得!チーム開発の経験を評価された

――Kwonさん内定獲得おめでとうございます!新しい業務の内容を差し支えない範囲で教えていただけますか?

Kwon

在籍している大学での学部生アシスタントの仕事です。大学側と提携を結んでいる企業が主なクライアントで、C# .NETとSQLでのバックエンド開発がメインだと聞いています。

――採用試験ではどんなところが評価されたと感じましたか?

Kwon

自分で何かを作っていた経験ですね。

特にチーム開発の経験や、ポートフォリオに載せていた成果物を評価してもらえました。

現地の方よりもやはり英語力では劣ってしまうので、自分を目立たせるためには何かしらの成果物がないと難しいと思いました。RecursionでCSの基礎を学習したこと、チーム開発に参加したことは、大きな評価につながったと改めて感じています。

――試験ではコーディング試験はありましたか?

Kwon

Recursionの中級コースを学習していれば解けるような問題が3問と、SQLの簡単な問題が1問ありました。

――書類や面接でどのようなことをアピールしましたか?

Kwon

大学での活動とは別に自分が取り組んだ部分について特にアピールしました。

学校の授業だけでは、チーム開発やCSの基礎的な部分を完全に網羅することができなかったので、別でRecursionのようなサービスを使って学習を進めてきた事を特に強調して伝えました。

――試験において何を重視して確認されました?

Project > コーディング問題 > コミュニケーション > 人柄の順で重視されていたと思います。

――面接対策として準備したことや取り組んだことはありますか?

Kwon

以前、RecursionのユーザーとしてセイトさんのYoutube動画に出演させていただきました。

この動画でセイトさんが指摘されているように、自分の考えがまとまっていなかったり、質問の意図に沿った答えができなかったりしていることがわかりました。自分自身の考えの浅さを思い知りましたね。

その際に色んな方々からフィードバックをいただいて、それを元に今回の面接では事前に受け答えのシミュレーションをしたり、いくつかの想定される質問に対しては自分の考えをまとめて整理したり、ある程度考えをまとめてから試験に臨みました。

Recursion初心者ユーザーへのアドバイス

――Recursionを始めたばかりのユーザーがやっておいた方が良いことは何でしょうか?

Kwon

優秀なユーザーはたくさんいますが、自分のペースでロードマップに従って継続的にRecursion内のコンテンツを進めて行けばいいと思います。

それとチーム開発に参加する資格があればぜひ参加したほうがいいと思います!

――Kwonさん、貴重なお時間を割いていただいてありがとうございました。これからのご活躍を期待しています。