とりあえず動くものをつくってみよう。話はそれからだ。
こんにちは。YAMAP でフロントエンドエンジニアをしている @SotaSuzuki と申します。
この記事は YAMAP エンジニア Advent Calendar 2019 の 23日目の記事となります(3日遅れ)。
拙い文章で恐縮ですが何卒よろしくお願いいたします。
tl:dr
とりあえず動くものをつくってみて、それからインプットとアウトプットを行うと学習効率が高い
はじめに
エンジニアとしてスキルアップしていくためには能動的な学習はかかせません。
ただし、やみくもに技術書や技術系の記事を読み漁る、あるいはチュートリアルをこなしたり GitHub のソースコードを写経するなどしていても、効率よくスキルアップすることはできません。それならば、なにをどうすれば効率よくスキルアップできるのでしょうか。
インプットだけでは足りない
先述した、やみくもに技術書を読み漁る学習スタイルは、いうなればインプット偏重の学習スタイルといえます。
インプットに偏った学習だけというのは一番効率の悪い学習方法と言わざるをえません。スキルアップするということは、「できることを増やす」と言い換えることができます。インプットするだけではできることは増えません。
アウトプットだけでも足りない
それではアウトプットだけの学習スタイルはどうでしょうか。
アウトプットといえば、世間ではアウトプット関連の書籍が飛ぶように売れているという話も聞きますね。
先述の、チュートリアルをこなしたり GitHub のソースコードを写経することはアウトプット偏重の学習スタイルといえます。アウトプットすることは必然的にインプットを伴うため、インプットするだけの学習スタイルと比較すると学習効率は高いと考えられます。
ただし、アウトプットにも意味のあるアウトプットとそうでないアウトプットが存在します。意味のないアウトプットを続けたところで、それはインプット偏重の学習スタイルとさほど変わりません。
重要なことは自分の頭で考えることです。
とりあえず動くものをつくる
インプットだけでもアウトプットだけでも足りないことについて見てきました。アウトプットだけの学習スタイルは、意味のあるアウトプットができている場合に限り効果があります。
そして、とりあえず動くものをつくってみることは意味のあるアウトプットのひとつだと筆者は考えます。
自分の頭で考える
とりあえず動くものをつくるとき、それが意味のアウトプットになるかどうかは、どのくらい自分の頭をひねったかが関係しています。ほとんど自分の頭で考えず、ドキュメントやチュートリアル記事からのコピペ、あるいは書き写しばかりで動くものを完成させたとしても、それでは学習効果は半減してしまいます。誰かわかる人に教えを乞うて動くものを作り上げたとしても、同様に学習効果は低くなるでしょう。
重要なのはどのくらい自分の頭で考えたか、です。つまり考えた量です。
インプットで点と点をつなげる
自分の頭で考えることは、いうなれば頭の中のマップに点を置くような行為です。自分の頭でどのくらい考えたかは、すなわち頭の中のマップに何個点を置けたかという話に置き換えられます。
点とは、アウトプットする中で生じた疑問点であったり、インプットしたことであったりします。
点単体の生存期間はそれほど長くありません。なにもしないとあっという間に頭の中のマップから消えてしまいます。
点と点はうまくつなげる必要があります。どういうことかというと、頭の中のマップ上にある既存のネットワーク(点と点の間に線が引かれている、蜘蛛の巣みたいなイメージ)とつながりをつくることで、点とネットワーク間で相互作用のようなものが引き起こされます。それが、人が「学習する」ということなのではないかと思います。
点とネットワーク間の結びつきを強くする
人間は、一度身につけた知識や技術でも使わないとすぐに忘れてしまうものです。先程の点の話でたとえると、点とネットワークが線で結びついたとしても、直後は非常に弱い結びつきなのです。
点とネットワークに結びつきが出来たあとは、インプットとアウトプットを繰り返すことです。これをすると、結びつきがどんどん強化されていきます。この段階は非常に楽しいものです。
ここでいうインプットとアウトプットは、以下のようなものが挙げられます。
・身につけたことに関する他人のアウトプット(技術ブログなど)を読む
・前段階で行ったインプットを繰り返す
・身につけたことをブログなどに体系的立ててまとめる
・身につけたことを応用してなにかつくってみる
・身につけたことを人に話したり、教える
重要なのは自分の頭で考えることです(大事なことなので繰り返します)。
「とりあえず動くものをつくる」ことがもたらすこと
とりあえず動くものをつくることには、スキルアップ以外にもいくつか恩恵があります。
たたき台や成果物になる
とりあえず動くものは Web 上にアップしたり、GitHub のレポジトリにあるだけで、そのまま他人にみせることができる成果物になります。
そして、その成果物をベースに議論をすることで、よりよいものをつくるためのたたき台にもなります。
自信がつく
とりあえず作りきったという満足感や自信が得られます。
おわりに
以上です。ポエム地味た記事になってしまいました。
一言でまとめると、とりあえず動くものをつくってみて、それからインプットとアウトプットを行うと学習効率高いですよ、という話でした。
それではよいお年を。