より良い1日を読者と追求するブログ。

1か月半でJQuery、SQL、JavaScriptを動かせるようになるために有効だった3つの方法とDEEPWORKで紹介されていた学習法

f:id:k-tanaka-dog:20180513102813j:plain
おはようございます、けんぞうです。

最近仕事でプログラミングをがっつりやり始めました。最初はほぼ何もできないところから始まり、今はJQueryJavascriptSQL、HTML&CSSなどの一連のコードは動かせるようになってきました。

プログラミングの知識をかなりのスピードでキャッチアップし、仕事を進めるために僕が有効だと感じたポイントをざっとまとめようと思います。

『DEEP WORK』という本で紹介されている短期間で異業種から高級プログラマーに転身したジェイソン・ベンという人の学習法も紹介します。

Progateで基礎知識を反復学習し、リファレンス無しでできることを増やす。

プログラミングに関してよく言われるの、『やりたいこと・作りたい機能は分かっている。でも実装できない』というのは僕もなんどもぶち当たった壁です。

そして今振り返って考えると、この状態は基礎的な知識が大幅に不足していることが原因で生じていると思います。

コードを書けるようになる、さらに言うと速く書けるようになるためには、その言語に関する基礎知識が不可欠です。

もちろん分からない部分をGoogleで逐次検索するという手もありますが、Googleでヒットした情報が自分が得たい情報と完全にマッチしないことが多くありますし、いちいち検索するのは非効率です。

なのでリファレンス無しで『この場合は、このメソッドだな』と言う形でスラスラ出てくるようになるまで基礎知識を反復して学習することが大切で、プログラミングの基礎学習にはProgateが最もおすすめです。

prog-8.com


Progateは環境構築を学べないなどのデメリットも指摘されがちですが、そうは言っても基礎レベルのコードを手を動かして学ぶことができ、フィードバックを迅速に得られると言う点ではかなりメリットのあるサービスです。

僕はSQLJQueryJavascriptなどはこの1ヶ月でそれぞれ2〜3回程度復習しました。

関連記事
www.kenzoooo.com

www.kenzoooo.com

バックを取りながら、手を高速で動かし続ける。

プログラミング初心者の人が一発目から想定通りに動くコードを書けることはなかなかありません。

最初は多数のエラーを発生させながら、それらをシューティングしていくことでちゃんと動くコードにたどり着くことが出来ます。

なので、最初からエラーなしなんて無理でむしろエラーを積極的に出していこう、そしてシューティングの仕方を学んでいき、次類似コードを書くときには一発で書けるようになろうというのが基本的な心構えとして持っておいたほうがいいと思います。

大切なことは、とにかく手を動かす、手から学ぶことだと個人的には思っています。

コードを書いていく中で部分的にうまくいくコードをかけたら、即座にバックアップをとるようにすると、コードを追記して行ったり一部修正をするときにストレスフリーで行うことが出来ます。

個人的な経験からしても頻繁にバックアップを取りながらストレスフリーでコードを高速で書くことを意識していたから、より早いスピードでプログラミングを習得することが出来ているのだと思います。

ノート、付箋などオフライン環境を有効に使う。

プログラミングを学習する中でもペン、ノート(もしくは紙)、付箋は必須アイテムだと思います。

Progateなどで学習していても関係のないサイトを開いてしまったり、通知が入ってきて集中力を阻害されてしまうと言うリスクがあります。こういったオンライン環境では深い集中状態を維持できないので学習が進まないことがあります。

僕がよくやるのは、ペン・ノート・付箋を用意してバイスのスイッチを全て切る。そして自分が作りたい機能をまずノートの一番上に書きます。

そして下の部分に、その機能を実現するために何をしなければいけないのかをできるだけ具体的に掘り下げて書いていきます。

掘り下げが完了したら、要点を付箋に書き写して、PCに貼り付けてそれを見ながら実装していくという方法です。
f:id:k-tanaka-dog:20180513090350j:plain

DEEPWORKで紹介されていたジェイソン・ベンのプログラミング学習法

集中力に関して科学的な見地から解説されているDEEPWORKという本の中で金融業から半年で高級プログラマーに転身したジェイソン・ベンという人について書かれています。

本書を引用すると、

彼のやり方は思い切ったものながら効果的だった。「コンピュータのない部屋に、プログラミングのテキストとメモカード、マーカーだけを持って閉じこもった」。そしてテキストに印をつけ、それをメモカードに移し、声を出して読んだ。

引用元:大事なことに集中する―――気が散るものだらけの世界で生産性を最大化する科学的方法

先ほど紹介した方法とかなり似ていますが、この方の場合は基本的な知識の習得に関してもオフラインで実践したということです。

オフラインでやることの一番大きなメリットは、余計な集中を阻害するものがないので長時間一つのことに意識を向けることができるということですね。

かつオフラインで自分で考え続けると、どこの部分に関して自分の知識が不足しているのかがくっきりと見えてくるようになります。その段階で初めてネットを開くという風にすると効率的かつ健全にインターネットを活用することができます。

僕もまだまだこれからですが、プログラミングはやればやるほど面白いことは間違いありません。僕が通っていたテックキャンプなんかもお勧めですよ↓


テックキャンプを見る

週末は趣味を楽しんで、来週も頑張っていきましょう!