はじめに
幅広いIT学習を進める中で、記事投稿を始めたことがきっかけで、思いがけないメリットを得られたのでご紹介します。
それは、自分の知識を外部のプラットフォームに記録しておくことで、必要なときに必要な知識をすぐに取り出せるという点です。
今回は、少しポエム的な内容も含みますが、科学的な根拠を基に、アウトプットすることのメリットについてお話しします。
世の中の天才たちには、逆転の発想で勝ち抜く
私はもともと短期記憶や瞬時の判断力が得意ではありません。さらに、学生時代は体育会系の部活に熱中しており、勉強にはほとんど時間を割かず、なんとなく日々を過ごしていました。
そのため、「自分には勉強の才能がない」と簡単に片付けてしまうこともできます。
しかし、23歳の頃に本気で危機感を抱き、「このままでは人生が行き詰まる」と感じて、約2年半前から覚悟を決めて行動を始めました。
私の強みといえるのは、長期的な記憶(いわゆるエピソード記憶)が得意な点です。一方で、必要な知識を瞬時に引き出す能力は苦手で、これが自分の弱みだと感じていました。
引用画像:https://www.irasutoya.com/2016/04/blog-post_766.html
この弱みにどう向き合い、克服していくのかを模索する中で、世の中の天才や優れたエンジニアと同じ土俵で戦うには、自分の行動や考え方を根本的に変える必要があると気づきました。
今回は、自分の弱みを客観的に分析し、それを強みに変えることができた勉強方法や学習スタイルについてご紹介します。
そもそも、エンジニアは学ぶべきスキルが多すぎる
IT学習を2年以上続けてきた経験から、この業界では習得しなければならない知識の多さを痛感しています。
引用画像:https://www.irasutoya.com/2014/09/blog-post_2.html
私の場合、ネットワークやサーバー、クラウドといったインフラ周りを専門領域としていますが、それだけでは不十分です。フロントエンドやバックエンド、セキュリティ、さらには生成系AIといった幅広い分野のスキルをキャッチアップする必要があります。
結局のところ、システムというのはこれら多岐にわたる専門知識が複合的にキメラ結合して構築されているものです。
そのため、幅広い知識を身につけることで、システム全体を俯瞰する視点を得ることができます。
人間は、忘れて当然の生き物である
人間の記憶は、エビングハウスの忘却曲線に示されているように、インプットした知識の半分以上を1時間以内に忘れてしまうという現実があります。
引用画像:https://nenzureba.jugem.jp/?eid=937
定期的に復習することで忘却を緩和できますが、学んだ知識を100%定着させるのは難しいものです。
つまり、IT学習は「忘れる前提で復習を中心として進める」ことが重要です。
そして、人間は忘れる生き物であるという事実を受け入れることが、学習を効率的に進める第一歩となります。
注目されている勉強方法:アクティブリコール
最近話題の「アクティブリコール」という学習法があります。これは、学んだ知識を能動的に思い出すことで記憶を強化し、定着させる方法です。
引用画像:https://www.daredoku.site/dokugaku/
例えば、書籍で学習した後、「名前解決の仕組みはどうなっていたか」を頭の中で思い出してみる。このプロセス自体が記憶の定着に効果的だとされています。
わからないことが出てくるのは当然ですが、自分の記憶や情報の中から探し出し、思い出そうとする行為が記憶定着に良い影響を与えると科学的に証明されています。
それでも頭の中はいっぱいになってしまう
前述したアクティブリコールは、科学的に効果があるとされており、私自身も積極的に取り入れている学習方法です。
しかし、思い出すという行為には限界があります。 頭の中から必要な知識やデータを引き出す際、情報量が多すぎるとどうしても対応できなくなることがあります。
引用画像:https://www.irasutoya.com/2014/09/blog-post_849.html
そのような場合、QiitaやZennといった記事投稿サイトを活用することをお勧めします(私も190本以上投稿しています)。
これらのプラットフォームにインプットやアウトプットを記録として残しておけば、必要な情報を後から効率的に取り出すことができます。
わからないことはまず記憶を頼りにし、それでも解決しない場合は過去の記事を検索して確認します。
私も日常的にこの方法で「どう解決したか」「どのコマンドを使ったか」を振り返っています。
学んだ知識はアウトプットしたもの勝ち
最近特に感じるのは、学んだ知識やスキルは積極的にアウトプットした人が結果的に有利になる、ということです。(少し強気な表現ですが、そのくらいの意識が大切だと思っています。)
引用画像:https://www.irasutoya.com/2015/09/blog-post_80.html
アウトプットには非常に大きなメリットがあります。
むしろ、インプットした知識をすべて記事として投稿するくらいの意気込みがちょうど良いと思っています。
【私のマインドセット】
※「忘れる前提」で学んだ知識を、「忘れても取り出せる知識」に変えること
この発想の転換が重要であり、とにかくアウトプットを積極的に行うことが学習の鍵だと考えています。
この考え方は、データベースのCRUD処理から学んだ
普段何気なく行っているアウトプットが、データベースのCRUD処理に似ていると感じることがあります。
全体的なプロセスとして、CRUDを活用することで学習効率が向上します。特に、情報検索(SELECT)が効果的です。
操作 | CRUD対応 | 説明 |
---|---|---|
記事投稿 | INSERT | 知識や理解を外部プラットフォームに記事としてアウトプットすること。 |
情報検索 | SELECT | 優れた検索機能を活用して、自分の知識を効率的に引き出すこと。 |
記事修正 | UPDATE | 定期的に記事を見直し、内容を更新することで復習や知識の定着を図る。 |
データベースのCRUD処理については、過去の記事で詳しく紹介していますので、ぜひ参考にしてみてください。
必要な知識をすぐに取り出す工夫が大切
ここでは、私が普段どのように外部プラットフォームから必要な知識を取り出しているか、一例をご紹介します。
※知識の取り出し方は人それぞれだと思いますが、以下は私自身の方法です。
まず、Qiitaのプラットフォームの検索機能を活用します。検索画面に今取り出したい単語やキーワードを入力するだけで(user:free-honda OpenVPN
)、関連する情報を見つけることができます。
例えば、自宅に構築したOpenVPNに関して、どのようにアクセスログを取得したかを振り返る場合を考えます。
検索ボックスに「OpenVPN」と入力すると、過去に投稿した記事が一覧で表示されます。
その中から、当時の技術検証で成功したコマンドや手順を確認することができます。
このように、頭の中に知識を蓄えるだけでなく、外部にアウトプットし、検索機能で引き出す方が効率的と思っています!
まとめ
最後までお読みいただきありがとうございました。私自身、なんとなく始めた記事投稿にここまで熱中するとは思っていませんでした(笑)。
しかし、向き合いたくない自分の弱みと正面から向き合った結果、この学習方法にたどり着けたのだと思います。
これからもインプットと技術検証を並行しながら、記事投稿を続けていく予定です。この勉強方法が、どなたかの学習の参考になれば幸いです!
参考記事