プロジェクトに取り組むことで自分が大きく成長したのを実感|maxさんインタビュー

今回インタビューさせていただいたのはmaxさん。「Recursionを始めて大きく成長できたと実感している」と嬉しいお言葉をいただきました。maxさんが実践した学習方法や意識したことなど詳しく伺ってみました。初心者ユーザーに向けてアドバイスもいただきましたので、ぜひ最後までご覧になってください。


maxさん

Twitter : https://twitter.com/learner_mx

Recursionプロフィール:https://recursionist.io/dashboard/users/maxazm

Recursionのロードマップに沿って一歩ずつ着実にステップアップ

――maxさん、インタビューをお受けいただいてありがとうございます。早速ですが、経歴とプログラミング経験についてお聞かせください。

maxさん(以下敬称略):

大学では国際関係学を専攻していて、ゼミでは東アジアの政治経済、主に中国のスタートアップエコシステムについて学んでいます。22年4月からSierにてSEとして働くことになりました。

プログラミング経験については、ProgateでHTML, CSS, PHPを学んだことがあります。その他にはStanford Universityが主催していたcode in place(以下CIP)という5週間のPython学習プログラムに参加して、Pythonの基礎を学んだあと簡単なプロジェクトを作成した経験があります。

――Recursionを始めたのはいつ頃ですか?またその理由は何ですか?

max

昨年5月からRecursionを始めました。始めた理由は、CIPでプログラミングに興味をもち、さらに学習したいと思ったからです。また、今年4月からはSEとして働くので、CSの知識を身につけておきたかったからです。

――Recursionをどのように利用されていますか?また進捗状況も教えてください。

max

今は、上級コースが98%まで終わっています。他にはプロジェクト3とVue.jsのCar Ecommerceまで終わりました。

1日あたりの学習時間は、多い時で10時間ほど。少ない時は30分から1時間くらいですが、日によっては全くできないこともあります。

――どの項目を一番学習しましたか?

max

プロジェクトの完成度に大きく関係すると思いましたので、フロントエンドを最初は学習しました。

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

基本的には学習ロードマップに沿って学習を進めていました。その中でより学習を深めたい言語や概念があればYouTubeだったり、Udemyで補強していきました。Recursion教材の進め方はレイナさんのツイートを参考にしました。

――ポートフォリオは作っていますか?もしあればその完成度と作成時に意識したことを教えてください。

max

Recursionのプロジェクト3のClicker Empire Game をポートフォリオとして用意しています。作成時に意識したのは、自分で利用し、適宜バグを修正することで、ちゃんとゲームとして成り立つようにしたことです。また、関数の役割を分けることも考えて作りました。

チーム開発に参加して良かったのはユーザー同士で交流を持てたこと

――maxさんはチーム開発にも参加されましたね。参加してみてどうでしたか?

max

チーム開発では得るものが非常に多かったです。主に以下の3点です。

  • Gitを用いたコード管理
  • チームでの働き方
  • ユーザーとの交流

チーム開発に参加するまでは、GitやGitHubの使い方を知りませんでした。チーム開発を通じてこれらの使い方を学べたのは大きかったです。最近では個人での開発においてもGitやGitHubを使用するようになりました。

次にチームでの働き方に関しては、他の人のコードの書き方を学べるだけでなく、協働を通して自分の働き方やチームメイトとの接し方みたいなCS以外のことにも気づきを得ることができました。こういった取り組み方や性格というのは働き始めてからも大切になると思うので、チーム開発で経験できたのは良かったです。

それから、ユーザーとの交流はチーム開発に参加して一番良かったと感じている部分です。同じように学習に励んでいる人と知り合うことができて刺激になると同時に、チーム開発が終わった後でも同じチームで開発をするなど仕事や大学以外で関係を構築できたのは貴重な経験だと思いました。

作成したプロジェクトに見る成長の証

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

max

そうですね。Recursionを始める前に作ったプロジェクトと、Recursionで作ったプロジェクトで比較してみてください。

Recursionを始める前のプロジェクト

https://codeinplace.stanford.edu/2021/showcase/1496

概要:「ツェラーの公式」という西暦の年・月・日から、その日が何曜日であるかを算式をコードによって実現したものです。ユーザーに自分の誕生日を入れてもらって、その誕生日の曜日を当てるという意図で作りました。

Recursionで学習中のプロジェクト

https://clicker-empire-game-six.vercel.app/

概要:このゲームの目的は一攫千金を目指して、街に帝国を築くことです。あなたは現在20歳で、ファーストフード店でハンバーガーを焼く仕事をしており、ハンバーガーをひっくり返すごとに25円稼ぐことができます。お金を貯めることによって、アップグレード、投資、あるいは、不動産の購入をすることができます。 最初の時点であなたは5万円を持っていて、グリル(ハンバーガー)をクリックすると25円獲得できます。また、あなたはゲーム内で様々なアイテムを購入することができ、アイテムによっては 1日(1秒)につき収入が入るものもあります。

Recursionを始める前と後の差

一番の違いは、DRY、可読性だと思います。

Recursionを始める前は、DRYのようなコーディングの基礎が全くなっておらず、可読性の低い、デバッグのしにくいハードコードしか書けませんでした。それにフロントエンドの知識が全くなかったためコンソール上で動くものしか作れませんでした。

しかしRecursionでCSを学んでからはDRYや可読性を意識してコードを書けるようになりましたし、フロントエンドの知識もついたのでインタラクティブなWebアプリケーションを作成できるようになりました。

もちろんまだまだ初心者の域を抜け出せていないので、引き続きRecursionで学習を進めたいと思います。具体的にはリファクタリングや再利用性を意識したコードを書けるようになりたいので、OOPやデザインパターンを学習したいです。

Recursionを始めたばかりのユーザーへのアドバイス

――まだRecursionを始めたばかりのユーザーにむけて、やっておいた方が良いことや学習で意識したことなどアドバイスをいただけますか?

max

まずは、とにかく手を動かすことです。難しく読んでも理解できないときはとりあえずコードを書いたり、紙に書き出したり図式化したりしていると徐々になれてきます。

それから、プロジェクトに取り組んでみることですね。始めたばかりのときは「プロジェクトなんて手に負えない」と思い、コーディング問題ばかり進めていました。しかし一度プロジェクトに挑戦してみると、基本コースとは違う楽しさ、達成感がありました。それだけでなく、自分で1から考えてコーディングすることで、終了後は大きく成長できたと実感しました。

なのでRecursionの基本コースをある程度進めている人ならば、プロジェクト1~3を自力で完成させられると思うので、ぜひ早めに挑戦することをおすすめします。

――maxさん。大変嬉しい話を聞かせていただいてありがとうございました。4月からSEとして働かれるそうですね。今後のご活躍を期待しています。