「プログラミング始めたけど、覚えること多いなー」
「もっと効率の良い学習方法とか覚え方ないかなー」
「プロのエンジニアはどれくらい記憶しているものなのか知りたい…」

プログラミング初心者にありがちなこういう疑問に答えます。

本記事の内容は、覚えることが多くて困っているプログラミング初心者の方向けに、

「プログラミングを学習するうえで、暗記は必要ない」
「効果的な学習法と対処法」

について解説します。

わたし自身、実はWeb系スクールで講師をしていた時期がありました。

20代の学生から30代の社会人、主婦(主夫)さんまで、様々なバックグラウンドをもつ初心者さんに、デザインやプログラミングを教えてきたのですが、
途中で学習をしなくなってしまう人には共通点がありました。

結論から言うと、挫折しまう人のほとんどが、「覚えなくていいことを覚えようとする」ということですね。

今回は、現役フリーランスでもあるわたしが過去の経験をベースに解説してまいりますので、学習で行き詰まった初心者さんは一旦手を止めて読んでいただければと思います。

プログラミングは、暗記する必要ありません。ノートはしまってください

断言しておくと、プログラミング学習をするうえで、「暗記」は必要ないです。

ノートなんて作らなくていいですし、マーカーもペンもすべてしまってください。

講師時代に感じたのは、マジメな人ほど覚えなくていいことを覚えようとしてしまうんですよね。
学校のテストじゃないので、わからなくなったら調べていいですよ。

今思えば、大学のC言語の授業もムダばかりだったなと思いました。
プリントを配られ、空白欄にコードを埋めるようなテストもありましたし。

みんなテストでいい点数を取るために、必死に暗記してましたね…闇が深いです。

プログラミングで上達しないなら、ノートも取らなくていいですし、ソースコードを紙とペンで書き写す必要もないですよ。

わからなくなったときは、調べればいい

暗記はする必要なくて、わからないときに調べればOKです。

テストじゃないので、カンニング禁止とかそういうルールはありません。
現役エンジニアもわからないときは調べながら、プログラミングしてますよ。

わたしが講師時代にも感じていたことですが、「挫折しがちな人」と「継続できる人」の違いを例にしたいと思います。

CSSを学習した場合ですが、

挫折する人の例

  • CSSのフレックスボックスって便利!プロパティと値をそれぞれメモしておこう

挫折する人はflexboxのレイアウトの組み方をこと細かにメモしようとして、「覚えることが多すぎる」と嘆いてしまいがちです。

継続できる人の例

  • CSSで柔軟にレイアウトを変えられるのは便利だな。floatとは似てるのかな?
  • 調べたら、こんなチートシート見つけた。floatと違ってこんなに柔軟にレイアウト組めるのか。

継続できる人は、

  • CSSで柔軟にレイアウトを変えられる
  • floatより柔軟なレイアウトの組み方もある

ということだけ覚えているんですよね。覚えきれないディテールの部分は、「これは無理に覚えなくてもいい」と認識できている人が多いです。

これはCSSだけでなく、PHPやRubyの関数、WordPressの関数なども同じことです。

関数ひとつひとつをメモして覚える必要はまったくないですよ。
「何ができるか」という事実のみを知っておけばOKです。

何ができたかだけ覚えておけば、「CSS レイアウト」と検索したり、「CSS flexbox」と検索すれば、一発で出てきます。

ノートは書いてる時間がもったいないので、手を動かしながら学習をどんどん進めていったほうがいいですよ。

下記、講師時代によくあった質問もご紹介しておきます。

受講生からの質問

  • 覚えることたくさんあるんですけど、どうやって覚えるんですか?
  • ドキュメントとかよく見ますか?

講師陣の答え

  • WordPressとかPHPとかもそうですけど、多くの現役エンジニアは覚えてないです。公式のドキュメントをみたり、情報発信しているエンジニアさんのブログを読んだりしてますね。
    わからなくなる度に検索して、ドキュメントとか見ながらコードを書いてます。
  • 繰り返し同じようなコードを書く時が多いので、機能やパーツごとにテンプレを作っておいてコピペすることも多いです。

という感じのやりとりは多いです。

すべて覚えるのは無理なので、わからなくなったときに「自力で調べられる力」があるかのほうが重要ですね。

写経で手を動かして、自分の目で確認するのは効果的

学習するときは、覚えるより、写経して実際に手を動かすほうが大切です。
実際に手を動かしながら、「こんなことができるんだ」「お、動いた」という、気づきや感覚を得ることが、プログラミング学習では効果的だと思います。

書籍を使った写経

書籍のコードを試しつつ、実際に手を動かして動作を確認する

書籍のコードをマネしつつ、アレンジしてみる

こんな感じでOKです。

書籍を写経するデメリットは、「たまに間違っていることがある」という点です。
新しい書籍は特にですね。(何年か前の書籍で増刷されているものは、改定されている可能性は高いです。)

間違ったコードを写経してしまい、動かなくなると地獄です…
どこが間違えているか原因を探るのは、初心者ではなかなか難しいですからね。

動かなくなった場合は、Qiitaなどの質問サイトで質問しましょう。

動画チュートリアルを使った写経

個人的にオススメな学習法は「Udemy」で、動画を見ながら写経することです。

Udemy プログラミング言語

Udemy

書籍1冊分(1万円くらいの教材が1500円くらいまで値下げされている)の値段で動画を見ながら、実際に手を動かせます。
動作をひとつずつ確認できる点がいいですね。

「PHP」や「Ruby」、「フロントエンド」などのキーワードで検索すれば動画がたくさん出てくるので、興味のある動画を購入してみてください。
一度購入した動画は何度も見られるので、安心です。

わたしも「Udemy」の動画にはお世話になったので、初心者の方もチェックしてみてください。

環境を変えてしまうのが一番効果的

写経はあくまで独学になるので、実績にはなりにくいです。
プログラミングをもっと上達したいなら、環境を変えてしまうのが一番効果的ですね。

わたしの過去の経験は下記です。

学生時代でやったこと

スクール ✕ 独学 ✕ ITスタートアップ = 卒業後に即戦力

  • Web系スクールに飛び込む
  • 独学でチュートリアルもやる
  • IT系スタートアップでアルバイトして雇ってもらう

社会人になってからやったこと

本業 ✕ 副業 ✕ スクール講師 = 独立後も安定した

  • 大学卒業後、Web系企業入社
  • 本業が終わったら、副業
  • 暇な時は、講師活動

こういった感じで学習しながら、ある程度自信がついたら、いい環境に飛び込んでしまうのがベストかなと思います。
環境を変えてしまったほうがお金をもらいつつ、スキルを身につけられるので、手っ取り早いですね。

環境を変えることで、ノートなんて書く暇がないくらいプログラミングに没頭できるので、基礎を身につけたら自信持って面接に行きましょう。
20代ならすぐ受かると思います。

あとは行動するのみです。

まとめ

プログラミングは、いちいちすべてを覚える必要ないです。というより覚えられないです。
ノートにメモしたり、コードを紙に書き写すことは時間のムダなので、やめましょう。

HTML、CSS、JS、PHP、Ruby、WordPressなどもすべて同じことです。
関数やタグなど、一つ一つをメモして覚えるのではなく、その言語を使って「どんなことが実現できたか」という事実のみを知っておけばOKです。

実際プロのエンジニアも、わからなくなることが何回もあるので、検索しつつ、公式ドキュメントなど確認しながら、作業してます。
なので、わからなくなったときは「検索」して、「自分で解決できる力」も少しずつ磨いていきましょう。

プログラミングを上達したいなら、実際に手を動かして、動作を確認することが一番大切です。

本章でも紹介しましたが「Udemy」の動画は、動画を見つつ、手を動かしながらプログラミングできます。(講師時代にも、受講生によくオススメしてました。)

動画教材もわかりやすいものが多いので、Udemyで「学びたいプログラミング言語」を検索してみてください。

というわけで、今回は以上です。

「プログラミングは人生変える」と胡散臭いことを言う人もいますが、わりと事実だとわたしも思ってます。
わたし自身、「人生を変える」みたいな言葉を信じないタイプですが、講師時代にプログラミングを「半年〜1年」継続して、大きく変わった受講生をたくさんみてきたので、頑張る価値はあるかなと。

写経するのもいいですが、環境を変えて、1年くらい頑張ってみることをおすすめします。
1年くらいで副業できるくらいの力を身につけてしまえば、どこでも活躍できるようになりますよ。

暗記より、手を動かして、上達していきましょう。

Udemyのおすすめ講座