【注意】間違ったプログラミング学習方法と正しいアプローチとは?

自習をリアルに見守るテックジムだからこそ見えてきた、講師陣が指摘する「間違ったプログラミング学習方法」をまとめてみました。オンラインの向こうのメンターや授業をやっている講師が気づき難いことだったりするので、注意してくださいね。

■お手本を見ながら写経する

写経コーディングという言葉があるように、お手本をなぞることはプログラマーは誰でもやってきたことです。
ただし、一般的な解釈での「お手本を見ながら書く」という「写経」では考えずにただ写すだけなので身に入りません。
そこでポイントなのは、お手本は何度も見ていいが、コーディングするときは、お手本を見ずに書くということです。
これを神経衰弱方式と呼んでいます。
逆に神経衰弱というゲームと割り切ることで、何を書いているかわからなくても気が楽になります。
そのうち分かるようになるから写経コーディングが有効であるのは先輩たちが証明しているわけですが、
それにもやり方がありますのでご注意ください。

■ビルド(実行)する前にいちいち考える

あるひとまとまりのコーディングを終えて、ビルドする前に見直そうと立ち止まる人がいます。
その時間がもったいない。すぐにビルドしてエラーを拾った方が早いことが多いのです。
エラーを起こしたくないばかりに慎重に見直したく気持ちもわかりますが
「コーディング→ビルド→エラー」のサイクルを増やした方が効率的です。
プログラミング学習は「エラー」からはじまります。
「エラー」から学ぶことが多いのですから、「エラー」を怖がらずに行きましょう。
プログラミング初心者が知るべきエラーメッセージとの向き合い方については「エラーメッセージは怖くない!プログラミング初心者が知るべき解決策」で詳しく紹介しています。

■ググりすぎて沼る

わからないとググるのは当たり前ですが、理解を深めようとするあまりに沼る人がいます。
ググるのは英単語帳のように使うのが理想的です。一分以上かけないとルールを決めるといいでしょう。
ちょっとググってなんとなく閃いたら、すぐにエディタに戻ってコーディングしましょう。

■適当に検索をする

検索ワードは適切に選びましょう。
といっても最初のうちには仕方ないかもしれませんので、無駄だったと思ったことをやらないように意識的になりましょう。

■参考書をダラダラ読む、授業をダラダラ見る

プログラミングスキルはコーディングしている時間に比例して向上します。
それ以外の時間はスキルが停滞していることに気づきましょう。
わかったつもりで「書けない」のは、まさに「プログラミングが書けない」ということです。
ちなみにテックジムでは参考書も授業もありません。
それでも、ググったり師匠に聞いたり、答えから類推したりして、プログラミング技術を習得できるのです。
それはテックジムの卒業生が証明しています。

■いちいち理解しようとする

うちの学生エンジニアが受講生にアドバイスしていた言葉が印象的でした。
それは「理解しようとするな」ということです。
理解しようとしても理解できないから、そこで止まってしまうのです。
「やっていくうちにわかるや」と開き直って、もくもくとコーディングしていると急にわかることも多いのです。
これを、私は「理解の自動化」と呼んでいます。
赤ちゃんの言語取得も「理解の自動化」の賜物だと思います。
時々、「何がわからないかもわからない」という方もいます。
そういう方は、プログラミング以前の国語の問題だったりします。
コミュニケーションがうまくいかない方に多いです。
人は不安なときや過労のときに知能が落ちるそうです。
そう言う時は環境をきちんと整えてから、新しい事に挑戦した方がいいでしょう。
プログラミングにおける暗記不要論については「プログラミングに暗記は不要!効率的な学習法」で詳しく紹介しています。

■「なんか動きません」と言う

このマインドは本人の成長を阻害します。
原因があるから動かないのですから、試合は放棄するべきではないのです。
言われた方は「ちゃんと調べたのかよ」と言いたくなります。
「どこをどうやったらこうなった」というところまできちんと説明できるようにしましょう。

■いちいちノートにとる

ノートは必要ですが、板書は不要です。
どんな時に必要かというと、理解のプロセスで、図解など思考の整理の時にペンを取った方が早い時です。
あとで見返すものではなく、思考の作業場という感じです。ホワイトボード的な使い方ですね。
しかしながら、ググったらすぐ出るようなことを、わざわざ書くのは時間も無駄でしょう。
リファレンスを自分で作る人がいますがご愁傷様です。
ペンで書いて覚えるとか、何度も見返して覚えるというのは、プログラミング学習において不要なことです。
ある種の自己満足になるかもしれませんが、「わかったつもりで書けない」という沼にはまります。
暗記に頼らない学習法については「暗記に頼らないプログラミング学習法|関数・用語を覚えなくても大丈夫」で詳しく紹介しています。

■意地になって自分で解こうとする

受験時代、赤本を解く時、どんなやり方をやってましたでしょうか?
私は「どうせできないから」という前提で、わからなかったら答えを見てました。
「どうせ何回もやるのだから、その時にできればいいや」というスタンスです。
2回目、3回目とやっていくうちに正答率が高くなってきます。
答えは暗記できませんが、解き方のプロセスをうっすら覚えているのでそれを元に解いていくという感じです。
これを最初から「意地でも自力で解こう」としたらどうでしょうか?
膨大に時間がかかります。中には捨て問題もあるのに勿体無いですね。
プログラミング学習における「捨て問題」は「ケアレスミス」です。
ケアレスミスに膨大に時間を取られるのは学習の本質ではありません。
そんなときは、「おおよそ書けているから良し」として、次の復習の時にちゃんと解けばいいのです。

■独学にこだわる

お金がない。WEBのタダの情報で十分だ。色々な言い分があるかもしれません。
しかし、独学で変な癖がついて、あとで厄介なことになるのは、先人たちが知っています。
これはトレーニングジムにもいえるそうです。
独学でトレーニングをやっている人はこだわりが強く、プロのトレーナーから見て、トンチンカンになっているというのです。
優れた師匠をつけるのが上達の近道であるのは、スポーツでも、職人でも、経営でも同じ。プログラマーも同じです。
プログラミング独学の注意点については「独学は百害あって一理なし?プログラミング学習で失敗しない方法」で詳しく紹介しています。

■いまやるべきこと以外のことをする

「学習」において、教科書やテキストには、「ここでは、ここを学んで欲しい」という意図があります。
学習期間に学ぶべきことと、仕事の実践で学ぶべきことも、違います。
だから、師匠の言うことに素直に聞くべきです。
時々、「どうでもいいことで悩む人がいる」ということを講師陣から聞きます。
もちろん、遠回りもいいことですが、モチベーションがなくなるのであれば時間の無駄です。
変なプライドがある人もまた、学びが遅いということがあるようです。

■その他の注意すべき間違った学習方法

プログラミングの学習を進める中で、無意識のうちに効率の悪い方法を選んでしまうことは少なくありません。
ここでは、先人たちの失敗や指導の現場から見えてきた、上記以外で注意すべき誤った学習方法をいくつか紹介します。
心当たりがないか、ぜひ確認してみてください。

教材やチュートリアルを何周も繰り返す

「Progateを5周します」というように、同じ教材を何度も繰り返す学習法はあまり効果的ではありません。
何度も同じ内容に触れることで「わかった気になってしまう」という錯覚に陥りやすいからです。
プログラミングのスキルは、教材を補助として知識をインプットした後に、実際に手を動かして何かを作ってみるというアウトプットの過程で身につきます。

教材は最低限の範囲を1周だけ学習し、すぐにオリジナルのアプリ開発など実践的な学びへ移行しましょう。
ただし、無駄な反復学習は避けつつも、基礎が疎かにならないよう心がけてください。
効率的なプログラミング勉強法については「プログラミングの効率的な勉強法10選」で詳しく紹介しています。

目的なくただコードを眺める

全く処理を追わずに、上から下へと目だけを動かしてコードを読む「自称コードリーディング」も非効率な学習法です。
目的を持たずに他人のコードを眺めていても、情報がただ頭を通り過ぎていくだけで、本質的な理解にはつながりません。

「ここの処理を理解しないと自分のタスクが進められない」「この実装を実現するために読む必要がある」といった具体的な必要性がある環境下でコードを読むことが重要です。
ただ眺めるだけではなく、実際にデバッグしながら処理を追うなど、能動的にコードと向き合う習慣をつけましょう。

一夜漬けでまとめて学習しようとする

週末などの休日に長時間まとめて学習し、平日は全くコードを書かないといったスタイルは、よくある間違いの1つです。
人間の脳は、一度に大量の情報をインプットしてもすぐに忘れてしまうようにできています。
これは、数学の公式を一夜漬けで暗記しても試験後には忘れてしまうのと同じ現象です。

同じ時間をかけるのであれば、毎日少しずつ時間を確保して学習する「分散学習」を取り入れた方がはるかに記憶の定着率が高まります。
週に1回、まとめて10時間勉強するよりも、毎日1時間ずつコードに触れる方がスキルの向上につながります。

モチベーションに頼って学習する

「やる気が出ないから今日は勉強しない」というように、モチベーションの上下に頼って学習を進めようとするのは危険です。
モチベーションは本来、無理に高めるものではなく、一定に保つべきものです。
感情の起伏に左右されて学習のペースが乱れると、プログラミングに必要な継続的な学びが途絶えてしまいます。

「少し疲れていてもまずはコードを書く」というように、自分の感情に打ち勝ち、学習を習慣化することが大切です。
小さな成功体験を日々積み重ねることで、やる気に依存しない強固な学習リズムを作り上げることができます。

■素質のある人の特徴とは?

・素直
・前向き
・一生懸命
テキストの意図通りに学習を進め、師匠の言う事に逆らわないというのが素直な人です。
エラーが起きても「これはヒントなんだ」と良い方向に考えるのが前向きな人です。
ゲームを楽しむように難しいことに挑戦する人が一生懸命な人です。
プログラミング初心者が知るべき心得については「プログラミング初心者が知るべき10の心得」で詳しく紹介しています。

■創意工夫をしてますか?

・マウス利用をやめてみる
・ショートカットを覚える
・気分転換に早打ちゲームをあうる
・解いた時間を測る
・復習ごとの目的をセットする
・疲れない姿勢をとる
・ディスプレイを磨いてPCを労う
こういったことを、自分なりに創意工夫をする癖は、ビジネス全般にも応用できますので、どんどんトライしましょう。
プログラミング学習を通じて「創意工夫」が楽しくなれば、人生で大切なことが手に入っているはずです。

プログラミング学習に興味がある方は、まずは無料体験会へ

無料体験会・お申し込みはこちら