この記事はLITALICO Engineers Advent Calendar 2023 カレンダー3の22日目の記事です。
はじめに
今年2023年9月にLITALICOに中途入社した@hokhokと申します。弊社が提供している就労移行支援サービス・LITALICOワークスのフロントエンドエンジニアとして従事しています。
この記事では自分が資格試験の勉強をしたり、新しい知識・技術を学ぶ際に、普段どのように学習を進めているのかを振り返りながらまとめたものになります。現在、Reactをイチから学んでいる最中なので、具体例としてはそれに即して記述していきたいと思います。
学習の流れ
大まかには以下の流れで進めていきます。
資格試験など受験日が決まっているものと、趣味の勉強(終わりがないもの)とで若干異なる場合もありますが、ほぼ変わりありません。
- 動機・目的・ゴールを考える
- 教材を選定する
- スケジュールを立てる
- 手を動かす
- 振り返りをする
1.動機・目的・ゴールを考える
もしかしたら最初のこの作業が1番大事かもしれません。
私にとって学習や資格の取得はひとつの手段であり、ゴールではないと考えています。したがって「なぜこれを学びたいと思ったのか」「この勉強を通して・資格を取得して何を実現したいのか」を最初にじっくり考え、文章に起こして改めて見つめ直します。
例えば今回学習しようと決めたReactに関しては以下のように考えました。
- 前職ではモダンな技術を使用する機会がなかったため、キャッチアップを図りたいと常々考えていた
- 業務利用関係なく技術を身に着けたいため、基礎からきちんと学んだ上で応用が利くようにしたい
- 現職でReactを使用したサービスを扱うことになったため、学んだことを実務ベースで活かせるようにしたい
ちなみに私は簿記や宅建など、現職とは全く関係ない資格を過去にいくつか取得しています。どれも上記の考えを経た上で取得に至ったので、おかけでモチベーション保ちながら学習できたかなと思っています(ちなみに簿記は各企業の決算書を読めるようになりたかったから、宅建は不動産の価値判断を自分でできるようになりたかったから、というものでした)。
2.教材を選定する
ゴールが見えたら、実際に何を利用してどう学習を進めるのかを決めます。
選定にはかなり慎重に時間をかけます。学習内容によってはどの媒体を利用するのかも併せて考えます。
2-1.書籍
テキストなしに学習することはほぼないので、軸となる書籍を1冊選びます。
なぜ1冊かという理由は以下の通りです。
- まずは基礎固めができる本に目を通したい
- 初歩的なところでつまずいた時に参照できる、拠り所となる本を選びたい
- いきなり複数冊購入したとしても、それが後々必要となる本であるとは限らない
- 応用・派生した内容については別途追々購入すれば良い
- 資格取得であれば何周も繰り返すことを前提とするため、同じ1冊を繰り返した方が記憶の定着が図れそう
また、選定の際にはネットのレビューも参考にしますが、最終的には必ず書店で自分の目で見て判断し、その上で購入します。なぜかというと、他人がおすすめするものが必ずしも自分に合うとは限らないからというのと、一方で多くの高評価を受けているものはそれなりの理由があるから、というのが大きな理由です。人の意見を参考にしながら、その上で自分に合うかどうかの判断をします。
実際に自分の目で見る、というのはかなり大事です。レイアウトや配色ひとつとっても自分に合う合わないを感じることは多いです。例えば、私はフルカラーよりもほぼモノクロで、重要な部分は一色で記されているようなシンプルな方が頭に入るタイプです。一方で、カラフルな誌面ではないと分かりづらいという方もいると思います。とてもささやかなことですが、しばらく自分の相方になる存在ですから単純な点でもこだわる方が後々困らなくて済むなと感じています。
Reactの学習については最終的に選定した本はこちらでした。
モダンJavaScriptの基礎から始まり、Reactの基本的な実装方法について浅く広く解説されており、まずはここからという1冊で個人的にはとても良かったです。フルカラーですが、個人的には見やすくてストレスなく読み進められました。
2-2.動画教材
近年ではYoutubeやUdemyなどを通じて動画で学べる機会がかなり増えたなと感じます。どうしても自分1人では分からなかったり、理解が及ばない時に解説してくれる存在があるのはかなり心強いです。書籍と同様に、もしかしたらそれ以上に吟味が必要かなと思うのですが(動画は数も多いので)、こちらも基本的には書籍の選定と同じように内容・評価・自分に合うかどうかという観点で選びます。
技術系の学習の場合、バージョンが変わったりアップデートに伴って書籍の情報が古くなるということが往々にして起こりがちです。そういった場合、すぐに修正対応して最新の情報を届けてくれやすいのも動画教材のメリットかと思います。またUdemyの場合、コメントで質問を受け付けてくれる教材もあるので、自分一人ではつまずいてしまいがちな点を解決しやすいというのも有難い点です。
以下はどちらかというと資格取得の際に言えますが、暗記が必要な部分や理解が難しい部分に関して、覚え方やゴロ合わせなどを解説してくれるのは書籍よりも動画が多いような気がします(個人的な体感)。音声だと繰り返すことでリズムや流れで頭に入ることも多いので、そういった点でも個人的には重宝しています。
かなり余談ですが、高校の時の英語教師が単語の覚え方をダジャレで教えてくれたり、文法の解説を歌にして歌ってくれたりしていたことがありました。そのおかげで今でも覚えている知識が結構あるので、それが身に染みてるんだろうな……と思います。
今回に関しては、私はUdemyから3講座を選択しました。
理由としては、段階に分けて勉強したかったこと・学習総時間が明示されているので学習計画が立てやすいこと・進捗が可視化されるのでモチベーションが保ちやすいことが挙げられます。
この3講座は以下のように選択・利用しました。
1つ目に関してはかなり初心者向けな部分が多いのでそのあたりは飛ばしながら、自分の理解があいまいな部分だけをピックアップしました。
2つ目は「メカニズム」と謳っているだけあり「なぜこういう動きになるのか」を考えるためにチョイスしました。深堀して考えていける点が良かったです。
ここまででがっちり基礎固めをした上で3つ目のReact入門に着手しました。こちらは書籍の項目で挙げた著者と同じ方の講座なので(講座が先で書籍の出版が後なのですが)、より理解しやすそうだということもあり、この講座を選択しました。
3.スケジュールを立てる
3-1.学習日数を考える
資格試験の場合だととても計画を立てやすいです。なぜなら試験日が決まっているので、そこから逆算して残り何日余裕があるのかを算出できるからです。この場合、必ず「試験日まであと何日あるのか」をきっちり考えます。次の作業に関わってくるからです。
また、資格試験の場合だともう1点必ず決めるものがあります。それは予備日です。
1週間7日間で考えるのあれば、6日間を学習に充てます。1日を予備日として扱い、その日は学習日として扱いません。なぜなら、きっちり予定を立てたとしても必ずしも予定通りにはいかないからです。予定より早く進む分にはいいのですが、人間ですから遅れることの方が多いです……私の場合は……。
急な仕事が入ったり、遊びに出かけることもあったりするので、1週間の内に1日バッファを持っておくとと精神的な余裕が出てきます。その日で後れを取り戻すも良し、復習や深堀りに当てるも良し、余裕があれば先へ進むも良し。
また、この予備日に1週間の振り返りもします。何がどれくらいできたのか・理解度はどうか・進捗率は何%などを確認します。
自分ができたことを評価すること・全体を見た時に自分が今どの位置にいるのかを確認することは、私にとってはかなり重要です。進歩を確認する意味合いもありますが、自分は自分に対する評価がすごく低い&下手で、やったことにあまり目を向けず「もっとできたのでは」「あれもできたのでは」と思いがちな面があります。自分がやったことを客観的に評価することはポジティブにモチベーションを保ち続けるためには重要だなと思っています。
そういうわけなので、問題なのは趣味で勉強する時です。特にゴールがなく試験も何もなければ、自分で律しないとだらだらしがちです……私の場合は……。
とはいえ、あまり自分に厳しくしても楽しく進められないため、ざっくりで良いのでいつまでに教材を終わらせたいか・アプリ等を作るのであればいつまでに完成させたいかを決めます。
3-2.1日の学習時間を決める
平日(仕事)と休日でそれぞれ時間を決めます。
資格試験の場合だと、試験前に変動することもありますが、基本的には毎日無理なく机(PC)に向かえる時間を考えます。特に趣味の勉強の場合、大事なのは楽しく続けられるかどうかも重要なので「0.5h~1h」などというざっくり時間でもOKだと自分に言い聞かせています。
3-3.課題を分割し、1日のタスクを決める
教材で章立てされているテーマの数を数え、内容の重さや再生時間(動画教材の場合)を確認します。それを日ごとに割り振っていき、1日のタスクを決定します。資格試験の場合だと、過去問や模擬試験をいつからやりこむかを逆算した上で、テキストや動画を何周したいかも踏まえて決めていきます。
4.手を動かす
ここまで行うと実際に1日ごとに何をやるのか具体的な内容が決まるので、あとはそれに沿って学習を進めて行けば良いという状態に仕上がっています。
淡々と手を動かすだけなので特筆することも少ないのですが、学習終わりに必ずやっていることがあります。それは、学習の記録を付けるということです。且つそれはできる限り紙(手帳)を使用します。
記載内容は以下の通りです。
- 勉強時間
- 勉強内容
- シールを貼る
自分の軌跡を数字で把握することは重要だと思うので、勉強時間は必ず記入します。また、勉強内容に関しては予定通りに進まなかった場合や、逆にプラスアルファで扱った内容は特に残しておきます。自分が後々分かればよいので、綺麗に書く必要はありません。というか雑なので綺麗に書けません。記入することに意味があるので、それが達成できたらOKです。
さて、最後の「シールを貼る」というのは何なんだ?というところですが、これはもうそのままです。タスク完了したら可愛いシールを貼る、です。私は自分の特性として、タスクをこなしたらチェックを入れたり、斜線を引いたりして完了が分かるようにすることに満足感を覚えるタイプなので、小さなご褒美が大きな力になっているなと感じています。
傍から見るとしょうもないことかもしれませんが、自分で自分のモチベーションを維持するというのは結構大事だなと痛感するので、自分にとっての「ちょっと楽しいこと」を用意するのは結構おすすめです。
また、同じシールが続くと自分が継続して学習できていることが見て取れますし、複数の学習を同時並行する場合はそれぞれで色分けしていつ何を勉強したか把握することもできるので、効率の部分でも役に立っているなと思っています。
実際の手帳はこんな感じです(字の乱雑さには目をつむっていただいて……)。
タスクによって色分けしてシールを貼っていました。
5.振り返りをする
学習の「終わり」を決めるのはなかなか難しいですが、ひとまずの区切りとして資格試験の場合は試験・それ以外の場合はテキストや教材を最後まで終えたりアプリを作り終えたりしたところを終わりにしています。
学習過程ももちろんですが、やりっぱなしでは少しもったいないです。学習の足跡を振り返り、次へ活かすために何をすれば良いかを考えて、できる限りテキストに起こして残しておきます。
何を学べたのか・できるようになったのか
学習を始める前に検討した「動機・目的・ゴール」に即して考えます。最初に述べた通り、学習は手段でありゴールではありません。学んだことが実現したいことに繋がっているのかどうかも含めて、具体的に理解した点を列挙します。
また「できたこと」を振り返るのは自己肯定感を高める点でもかなり大事だと思っています。先述しましたが、私は「これはできたけど、あれはできなかった」と「できなかったこと」に目を向けがちな点が自分のあまり良くないところだなと自覚しています。折角「できたこと」があるにも関わらず、それが蔑ろにされてしまうからです。なので、身に付いた部分は意識的にきちんと認めるように心掛けており、また自分の成長を自分で褒める行為も次に繋げていくためには大事な作業だなと感じています。
次に何をすれば良いのか
これに関しては考えるのがとても容易いです。この部分をもっと深く知りたいなだとか、この点がよく分からないなだとか、そういった課題は学習を進める内に次々に出てくることが多いからです。そのような気づきを得た際にはメモ程度でもいいので簡単に残しておいて、振り返りの時間に改めて整理します。
おわりに
義務教育から高校・大学そして社会人と時間を経る度に、だんだんと自分の特性や得手不得手を認識する内に、学習を繰り返しながら自分なりのやり方が少しずつ確立されてきたのかなと思いました。むしろ、学生時代よりも学ぶべき・学びたいものが多いと感じることも多いです。そのため、学習方法についてはこれからもブラッシュアップしていかなければ、仕事や生活をしながら効率よく且つ自分が楽しんで知識を得ることはますます難しくなるんじゃないのかなと改めて思いました。
現状は今のやり方が自分にとってベストだと思いながらも、この先へ進むにつれてまだまだいいやり方はあるんだろうなと思います。これからも研鑽に励みながら、より良い方法を模索していきたいなと感じました。
個人的には初のアドカレ参加で何を書くか相当悩みました(現在もこれで良かったのかと心配しつつ)。が、上記で散々述べた通り、今の自分ができたことは評価しつつ、今後もっとやりたいこと・できるのではと思ったことを次の機会に活かしていきたいなと思います。
お読みいただき有難うございました。
明日のLITALICOのアドベントカレンダーは以下の方々です!
- @R-Tsukadaさん
- @KakkiiiiKygさん
- @s_nrmさん
どうぞお楽しみに!