プログラミングが上達するコツって?上達しない人には理由があった!

どうも、こんにちは。インストラクターの佐野です。

突然ですがあなたは、

プログラミングが一向に上達しない..こんな頑張って勉強しているのに..
このままで大丈?一体どうすればいい?

と、お困りではないでしょうか?やってもやっても中々自分が思った通りに上達しないと不安になりますよね。

実は、プログラミングが上達しない人には共通項があります。もしかしたらこの記事をご覧のあなたは、その共通項に当てはまってしまっているのかもしれません。

でも安心してください。上達しない共通項を理解して、修正し、正しい勉強方法を実践すれば、プログラミングは確実に上達していきます。

そこでこの記事では、過去20人ほどインストラクターとして指導してきた僕が感じる「プログラミングが上達しない人の共通項」を提示しながら、効率的にプログラミングが上達していく勉強方法を紹介していきます。

この記事でプログラミング上達のコツを掴んで、楽しくプログラミングを学んで頂ければ幸いです。それではどうぞ!

>> その悩み、オンラインレッスン(無料)で解決してみませんか?

プログラミングが上達しない人は手段の目的化が起きている


画像:shutterstock

まずは結論として、プログラミングが中々上達しない人に共通している点を紹介します。

それは、「手段が目的になってしまっている」という点です。

手段が目的になる」というのは、「目的を達成するためにプログラミングという手段を使っているが、いつしかプログラミングを学ぶことが目的になる」ということです。

ちょっと難解なので、具体例をあげてみましょう。

具体例1.技術書を終えることが目的になる

技術書は分厚く、ちょっとやそっとじゃ終わりません。何事も最後までやり遂げる根気は必要だと思いますが、技術書に書いてあることが全てあなたにとって今必要な知識とは限りません。

技術書を最後まで終わらせることがいつの間にか目的になっていませんか?

具体例2.1つの用語を完璧に理解することが目的になる

分からないことを理解することにこだわりすぎて、学習が思うように進まない人などが当てはまります。これは真面目な方や完璧主義な傾向がある方によく見られます。

分からない用語が1つあったら、ただひたすら1つの用語を理解できるまで調べ続け、なかなか理解ができないまま時間が過ぎてしまう。そういった経験はないでしょうか?

なぜ手段が目的になってはいけないのか?

一言でまとめると、「遠回り」だから、です。プログラミングを学ぶことはあなたにとって「手段」でしかないはずです。プログラミングを学ぶのは、その先に叶えたい「目的(夢や目標)」があるからだと思います。

例えば、

  • フリーランスエンジニアになりたい
  • WEBサービス・アプリを作ってみたい
  • ビジネススキルの一環として身につけたい
  • (プログラミングスキルを身につけて)起業したい

このような目的があるはずです。

プログラミングの教科書や技術書を買って学習する、スクールや塾に通って学習することは目的を達成するための1つの「手段」として使っているだけです。教科書や技術書を完璧に理解すること、スクールに通い続けることが目的ではありません。

サービスを作ってみたい」という目的を持った人であれば、教科書の内容で理解できない、分からない部分が多少あっても問題になることは少ないです。

WEBフレームワークやプログラミング言語の仕様を全て理解できなくとも、見よう見まねでコードを書けば動くものは作れます。知識が不十分でも実際にサービスを公開することもできます。

「サービスを作ってみたい」という「目的」を一度でも達成することが重要なのです。そうしないと、いつまで経っても次のステップへ進めません。分からなかった部分や言語仕様を理解したりすることは、次のステップで行った方がいいと考えます。

>> 目的・目標設定はプロのオンラインレッスン(無料)を受けてサクッと時間をかけずに解決しましょう

手段を目的にしないことで得られる3つのメリット

手段を目的にしないことによって、学習の進捗が劇的に変わる「3つのメリット」があります。

1. 理解が早くなり、結果として学習時間が短くなる

理解ができない部分はとりあえず飛ばして、一通り学習を終わらせても最低限の知識しか身につきません。しかし、一通り学習することで「スタートからゴールまでの流れや全体を把握すること」ができます。

そうすると自分が分からなかったのはどういう部分だったのか、足りない部分はどの部分なのかが理解できるようになります。

あとはこの部分が理解できればOK!

という状態になるわけです。

それによって明確に自分の分からない部分を質問することだってできるようになります。それによって学習がスムーズにいき、結果として理解が早く上達が早いのです。

2. 学習のモチベーションが維持できる

プログラミングは一朝一夕で習得できるようなスキルではありません。継続して学習していくことが非常に重要なのです。そのためには、「モチベーション」は必要不可欠です。

手段が目的にならないということは、自分の立てた目的を最短最速で達成できます。そのため、さらなる学習意欲が湧きます。小さな目的達成をすることで、成長を感じられ充実感も味わえます。

さらに、自分に足りない部分がわかるので、ゴールまでの道のりがより明確になります。

3. 目的を達成しやすくなる

当たり前ですが、目的を達成しやすくなります。「手段が目的」にならないので、「手段」を選ばなくなります。とにかく「目的」を達成することに意識を集中するので、遠回りすることがないです。

これは、もはやプログラミングの上達だけに関した話ではありません。

  • 英語がしゃべれるようになりたい
  • 料理が上手くなりたい

こういった、ありとあらゆる目的に共通して言えることです。

具体的な解決策

では具体的に、「手段を目的にしない」ためには何をすれば良いのでしょうか?

目的の再確認

答えは簡単です。今一度、あなたの『プログラミングを学習する目的(夢・目標)』を確認し直してください。

日々の勉強方法はその目的を達成するための1つの手段にすぎないということを理解することです。これは、何度も何度も念じて頭にすりこまねばなりません。「エビングハウスの忘却曲線」によると、人間の記憶力はなんと「1時間で56%で、1日経つと74%忘れる」、と言われています。

img
参照元URL:http://matome.naver.jp/odai/2135467329396936701

本来の目的を忘れ、プログラミングを学習すること自体が、いつしか目的にすり替わってしまうのも仕方ないと頷けます。目的を再確認し、それを毎日しっかりと自分の意識の中に落とし込むことが必要です。

期限を決める

そして次に、『期限を必ず設ける』ことです。あいまいな期限を設定しても意味はありません。目的(目標)を達成できる可能性が下がります。

  • 〇〇技術書を来週の日曜日までに終わらせる
  • 〇〇技術書記載のサンプル改造を来月の1週目までに終わらせる
  • オリジナルアプリのワイヤーフレームの企画をその次の週に終わらせよう

目的(目標)設定は必ず、「SMARTの法則」を意識して設定することです。

  • SMARTの法則
    • Specific:具体的である
    • Measurable:計測ができる
    • Agreed upon:同意している
    • Realistic:現実的である
    • Timely:期日が明確

当てはめるだけで、最高の目的(目標)設定ができるので、ぜひ参考にしてみてください。

>> SMARTの法則を本当の意味で使いこなす方法をオンラインレッスン(無料)で知る

プログラミングが上達する5つのコツ


画像:shutterstock

ここまでの解説で、プログラミングが上達しない人の共通項と、その解決策がお分り頂けたかと思います。では、次にどのように勉強していけばプログラミングが上達するのか?そのコツやポイントを紹介していきます。

具体例があった方が分りやすいかと思うので、ここでは「オリジナルのWEBアプリを作る」という目的を持った人を例として、効率的な勉強方法・コツを紹介していきます。

大まかなポイントは以下の5つです。

  • 1.教科書の通りに見よう見まねでコードを書く(写経)
  • 2.とりあえず動くものが作れるまでやってみる
  • 3.終わったらまた分からなかった部分へ戻って詳しく調べてみる
  • 4.時間を置くことも大事
  • 5.悩むのは30分。それでも分からない部分は分かる人に質問する

それぞれポイントを解説していきます。

1.見よう見まねでいいからコードを書く(写経)

学習動画や参考書などのサンプルコードを、見よう見まねでいいので、そのまま書き写す事を「写経(しゃきょう)」と言いますが、これは一つの効率的な勉強方法です。

すでに書いてあるコードをそのまま書き写すだけで意味あるの?と思う方もいるかもしれませんが、写経によって、

  • デバッグ能力が身につく
  • 実際に動作を確認できる
  • タイプミスするポイントを掴める

など、様々なメリットがあります。コードを眺めて時間を消費してしまっているよりも、圧倒的にプログラミングの基礎能力を向上させることができるので、どんどん実践してみましょう。

ただし、コピー&ペーストでは意味が無いので注意が必要です。

2.とりあえず動くモノが作れるまでやってみる

理解しようとし過ぎるのも良くありません。これも手段が目的になってしまう時の例です。まずは細かい事を気にし過ぎず、とにかく動くモノが作れるまでやってみましょう。

究極を言えれば、コードの意味をあまり理解していなかったとしても、自分が作りたいモノを作れればそれでオッケーなのです。

エンジニアの方でさえ、みんながみんなきちんとロジックを理解しているかというとそうではありません。とにかく手を動かして作るという事を意識しましょう。

3.終わったらまた分からなかった部分へ戻って詳しく調べてみる

不細工なコードでも、ある程度作り終えたら、そのあと分からなかった部分を調べると理解度が増します。

「手を動かして書いてみる→無理やり作る→分からなかった部分を調べる」これを反復していくうちに、次第にプログラミングが上達していきますよ。

ちなみに、「調べる」際はポイントがあり、実はこれはプログラミングの学習効率にかなり影響してきます。「検索のコツ」に関しては以下の記事で詳しく解説しているので、目を通してみてください。検索力で学習効率は一気に上がりますよ。

プログラミングが上達するコツって?上達しない人には理由があった!
更新日 : 2019年8月22日

4.時には時間を置くことも大事

分からない部分に悩んでいる時、段々と頭が熱くなってしまったり、視野が狭くなってしまったりする事は誰にでもあります。

煮詰まってしまったら、一旦寝たり、シャワーを浴びたり、体を動かしたりして、リラックスすることも非常に大切です。そうやって頭が整理されると、学習に戻った際に急にエラーが解決できるというのは意外とあったりします。

もちろん、休憩のしすぎには気をつけましょう。

5.悩むのは30分。それでも分からない部分は分かる人に質問する

これはプログラミングを上達する為に最も大切な事と言えます。

プログラミング学習をしていて、必ずぶつかるのが「エラー」ですよね。中には、「一つのエラーを解決するのに丸一日かかってしまった」なんて経験をした事がある人もいるのではないでしょうか?

これでは、時間を消費してしまうのは勿論のこと、モチベーションがドンドン下がり、上達どころか結果として挫折してしまいます。プログラミング独学の挫折率はよく8割ほどと言われますが、この理由のほとんどがエラーとの戦いに消耗してしまうことです。

なので、「一つのエラーと向き合って悩むのは30分まで」と決めてしまいましょう。もし30分で解決できなかったら、分かる人に聞くしかありません。

周りにエンジニアや、コーディングができる人がいる方は、その人に聞くといいでしょう。とは言っても、「聞ける人なんていないよ!」と思っている人も多いことでしょう。

その場合は、やはり多少お金はかかりますが、プログラミングスクールを利用して、メンターを作り、効率的にプログラミングが上達する環境を作る事をオススメ致します。

最速でプログラミングをマスターしたい人は

ここまで、プログラミングが中々上達しない人の共通項と、その解決策、効率的な学習方法などを紹介してきました。

様々な要因がありましたが、プログラミング上達に最も大切なことをまとめると、「目的を明確にし、最適な学習環境(メンター)を作る」となります。どちらか一つの要素でも欠けていると、プログラミングの上達は中々難しく、挫折してしまう可能性もあります。

もし現在、上記の点において少なからず不安がある方は、弊社「侍エンジニア塾」を利用してみてはいかがでしょうか?

弊社では、まずあなたの目的を明確にし、その目的達成の為の「あなただけのオーダーメイドカリキュラム」を作成した上で、現役エンジニアがマンツーマンで指導を行います。

だからこそ、最短・最速で目的を達成しやすく、結果としてプログラミング上達への近道となります。

興味がある方は、まずは月間500名以上が受講している無料体験レッスンを利用してみてください。

弊社随一のコンサルタントがあなたの目的をヒアリングし、あなたにぴったりの学習プランを提供させて頂きます。入会する、しないに関わらず、今後のプログラミング学習の効率が上がる内容となっているので是非ご活用ください。

下記カレンダーから直接予約が可能となっています。オンラインでの利用もできるのでまずはお気軽にご相談ください。

まとめ

いかがでしたでしょうか?意外とハッとした方もいらっしゃるのではないかと思います。そんな、あなたのお役に立ったのであれば幸いです。

一番重要なのは、本来の「目的」を忘れないこと。意識するだけで、あなたのプログラミング上達スピードは飛躍的に向上するでしょう。

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

佐野裕史

佐野裕史

侍エンジニア塾インストラクター。
主に技術担当をしています。

【経歴】
力仕事、接客業、営業職など様々な業界を経てIT業界に参入。
IT未経験からスタートし、1ヶ月で仕事獲得に奇跡的に成功。
1年半後にフリーランスに転身。

Web開発を主に行っており、得意とするのはRails、Ruby。
【技術スキル】
Rails、Ruby、Swift、Java(Android)、JavaScript

【趣味、趣向】
麻雀
MTG(マジックザギャザリング)
ダーツ、卓球、野球、ボウリングなどの球技

【Facebookページ】
https://www.facebook.com/hiroshi.sano.7
【Twitter】
プログラミング講師@佐野裕史
自分でプログラミングができない人のために情報を発信しています。
お気軽にフォローください。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説