フロントエンドエンジニアのフリーランスhoshi(@funclur)です。
プログラミングの勉強法としてアウトプットが大事なことはよく聞くことかと思います。
またプログラミングに限らず何かを学習する上でアウトプットすることは欠かせないのですが、
- そもそもなぜアウトプットするのか
- アウトプットの手段
- 何をアウトプットしたらいいかわからない時に便利な方法
- アウトプットの継続するための方法
について書きましたので
なんでアウトプットしなきゃいけないの?
インプットだけで十分だよ
という人は是非読み進めていただければと思います。
なぜアウトプットするか
そもそもなぜアウトプットするのかということで、主に下記5つの目的があります。
- 記憶の定着
- 理解度の向上
- 効率化
- 仕事を得るため
- 自己肯定感が高まる
順番に解説します。
1.記憶の定着
人はインプット、つまり教えられてるときや技術書を読んでるとき時に覚える量より、思い出したり人に教える時の方が記憶が定着するそうです。
そのためインプットだけでは記憶の定着率が低いのです。
例えば、新しく覚えた用語や記法など目では覚えづらく、実際に書くことで思い出すという作業が生じるので記憶を定着させることができます。
2.理解度の向上
記憶を定着させることは必要ですが、プログラミングでは暗記の必要はあまりありません。
大事なのはコードの意味を理解し自ら考えることです。人に伝えることで自分がぼやけていた理解度も上げざる負えない状況になりますので、理解度が向上します。それができないと壁にぶち当たった時に解決できないという事態に陥ります。
3.効率化
それでも人間の記憶というものは脆いもので、記憶は削られていきます。その時に必要になるのが記録したもの、つまりアウトプットです。後に説明しますが、アウトプットした各手段で記録すれば、記録したことについては覚えているのでそれを読み返すことですぐ以前の覚えた状態に戻ることができ効率的です。
もしその記録がない場合、すぐ検索して記事を見つけられればいいですが記事が見つからなかったりすると時間がかかってしまい最悪の場合思い出せずじまいということになりかねません。
プログラミングは一度大きな壁にぶつかった時に乗り越えられても、またしばらくして同じ問題にぶつかることがあります。あんなに苦労して解決したのに割と覚えてないものです。そのため記録して読み返せる状態にしておくことは効率化につながります。
4.仕事を得るため
アウトプットをすることで思わぬ副産物を得ることができます。それは仕事を得ることです。
例えば後に解説する手段でアウトプットしていけば転職や就職に有利だったり、フリーランスとして仕事を得ることもできます。ただどちらかというと仕事を得るためにアウトプットをしようというよりは、初めのうちはアウトプットしていたら、転職の準備に役立ったという形が理想かと思います。
5.自己肯定感が高まる
言い換えれば自己満足できるということです。自己満足といったらあまりいい言い方ではないのですが、プログラミングはメンタルがやられがちなので自己肯定してモチベーション維持できるかが、プログラミングを続けるためには重要になってきます。アウトプットすることで、形として学びの量を振り返ることができ、自己肯定感を高めます。
以上が、アウトプットすることで得られるものになります。デメリットなしのメリットだらけだということがお分かり頂けると思います。
アウトプットの手段
ではアウトプットする手段は、何がいいでしょうか。
現在では多くのアウトプット手段があり、どんなアウトプット方法があるの?というよりかはいろんな手段の中でどれを選んだらいいの?という疑問がわくのではないでしょうか。
たしかに、全ての手段でアウトプットする必要はありません。最低一つ、多くて二つかなと思いますが、一つずつ解説します。
反応が得やすいのでアドバイスを貰えたりするため、モチベーション維持がしやすいです。
また、スマホでもアプリを起動して短文で送って完結させられるので非常に手軽にアウトプット可能です。
時間にしても軽いものであれば1分前後で可能です。
ただ、深い内容にツッコむのはわりと向いていないです。
Qiita
Qiitaは技術情報共有サイトでプログラミングをしてる人では知らない人がいないですね。
Qiitaでは最新の情報のインプットとアウトプットができます。
また、Qiitaも反応が得やすくいいね数を多くあつめることで一躍有名になることも可能です。
サーバーのレンタルなどの手間もないので深い内容までつっこめるのに手軽です。
ブログ
技術ブログに特化することで、自分の世界観を作り上げられることがQiitaと比べてのメリットです。
またその中で収益を生むこともできますので、アウトプットもできて収入も得ることができ一石二鳥です。
github
githubにアップすることでソースを共有することができます。例えば自分が作り上げた成果物のコードを披露したい時はgithub一択です。なぜならqiitaやブログは全容を見せるには向かないですが、githubはファイルやバージョン全体を見せることができるからです。最近の技術者採用ではgithubのアカウントを求められることも多くなってきました。
おすすめの手段は
自分としては、ブログとTwitterをアウトプットの手段として選んでいます。
githubもアカウントはありますが、そこまで力を入れられていないという状態です。
おすすめのアウトプット手段としては、軽くアウトプットできるTwitterのようなサービスと、深く解説できるブログかQiitaを組み合わせることです。
なぜならどれか一つでもいいのですが、組み合わせることで効果は2倍、3倍と膨れ上がります。
ちなみに自分の場合は、現在ブログで書いたことをTwitterで発信したり、Twitterで発信したことをブログに落とし込んだりしています。そうすることで閲覧者は多くなります。Qiitaの場合も記事を書いて終わりではなく、SNSで拡散することでいいねが増えますよね。
また人に教える(発声)ということもおすすめです。人はいろいろな刺激で記憶を定着させるので発生するというのは、他で上げたアウトプット方法とは異なる刺激とした手段になります。また、例えば会社教えることを想定した場合、信頼性も上がり、自分の技術力向上にもつながるのでいいこと尽くしです。
アウトプットの具体的な方法
自分がやってるアウトプットの具体的な方法を解説します。
ハッシュタグ
Twitterであれば毎日取り組むことで効果を発揮します。例えば#100daysofcordや#30DAYSトライアルのハッシュタグをつけてtweetすることで仲間も増えモチベーションが維持されます。
検索履歴
これは自分で編み出したものなので、やってる人は少ないかもしれませんが、おすすめです。
例えばいろいろ勉強になった一日があったとして、さてアウトプットしようとした時に、あれ何を覚えたんだっけ?という状況になることがあります。例えば壁にぶつかって必死に検索記事にたどり着いたり、参考書を読んでいたがわからないので検索して別な記事で理解できたときなどです。
いろいろ覚えたんですが一つずつ思い出すのに時間がかかる。
そういった場合は検索履歴をみると、あたりまえですがなんと自分が検索した結果を一覧で出すことができますね。検索したということは、わからないことということです。そして次に記事が表示されていればその記事を見て理解できたかがわかる、ということになります。その中でどれをアウトプット対象に選択するかは簡単で時間効率化にもつながるのでとてもおすすめです。
アウトプットする時の注意点
アレンジしよう
アウトプットする時は、技術書やWeb記事をそのままではなく自分なりにアレンジしたり、情報を付け加えるとなお良いです。なぜならそこで考えたり、思い出そうとすることでさらに記憶、理解度の定着につながるからです。
過去の自分でもわかるように
もう一つはわからなかった時の自分や同じレベルの人に説明するようにアウトプットする
分かりやすく解説することで自分の理解を噛み砕いて教えることができます。
アウトプットの継続
アウトプットは継続させることで意味があるため、継続できないことはしないべきです。
つまりハードルが高いと思うことはせずに、まずは継続できると思うことから焦らず始めましょう。
アウトプット習慣化させる3つの原則
ではどうすれば継続、つまり習慣化できるかです。
それは
同じ時間にやる
小さな成功体験を重ねる
これに関して長くなってきたのでまた記事にしたいと思います。
まとめ:アウトプットするのは簡単
アウトプットの重要性とやり方について書きました。
こうして見てみるとアウトプットって簡単なのに効果が高いということがお分かりいただけたのではないでしょうか。
インプットとアウトプットをバランスよく行い学習効率を高めていきましょう
▼【リスクなし】最強の無料プログラミングスクールはこちら▼
コメント