あなたは大丈夫?プログラミングが上達しない人の共通点

1845
佐野裕史
書いた人 佐野裕史

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

突然ですがあなたは、
プログラミングが一向に上達しない…」「頑張って勉強しているのに…」「どうすればいいんだろう?
と、お困りではないでしょうか?

そんなあなたに質問です。

手段が目的になってはいませんか?

プログラミング学習のスピードや上達が、「早い人」に共通して言えることは「手段が目的になっていない」ということです。逆に、「手段が目的になっている」人は一貫して、プログラミングの上達スピードが「遅い」です。

これは、過去20人ほど、インストラクターとして、プログラミング学習をお手伝いさせていただいて確信が持てたことです。では、一体「手段が目的になる」とはどういうことなのでしょうか。

手段が目的になるって?

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

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

具体例

技術書を終えることが目的になる

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

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

1つの用語を完璧に理解することが目的になる

分からないことを理解することにこだわりすぎて、学習が思うように進まない人などが当てはまります。
これは真面目な方や完璧主義な傾向がある方によく見られます。
分からない用語が1つあったら、ただひたすら1つの用語を理解できるまで調べ続け、なかなか理解ができないまま時間が過ぎてしまう。

そういった経験はないでしょうか?

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

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

例えば、

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

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

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

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

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

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

手段を目的にしないことで得るメリットは?

手段を目的にしないことによって「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:期日が明確

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

どのように学習すれば良いか?

これは一概には答えられません。あなたの目的によるからですね。なので、ここでは「オリジナルのWEBアプリを作る」という目的を持った人の学習方法を例にあげてみます。

  1. 教科書の通りに見よう見まねでコードを書く
  2. とりあえず動くものが作れるまでやってみる
  3. 終わったらまた分からなかった部分へ戻って詳しく調べてみる
  4. それでもどうしても理解できない部分は分かる人に質問する

「手段が目的になっていない」人の学習方法はだいたいこんな感じでした。

みんながみんな、きちんとロジックを理解しているかというとそうではありません。WEBの世界に初めて触れるような方も多くいらっしゃいました。分からないことや理解できないことは他の人よりも多かったかもしれません。

何度も言うようですが、とにかく「手段を目的にしない」ということ。これが、プログラミング学習をするうえで絶対に忘れてはいけないことです。

まとめ

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

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

関連記事

最短でプログラミングを習得したい方へ

元々ITリテラシーのある方やプログラムの学び方がわかっている方は独学で習得することも可能でしょう。

ただし、実際の学習期間中はつまづいている時間がほとんどです。

「もう挫折したくない」
「本業と両立しながら、好きな時間で自分のペースで勉強を続けていきたい。」
「自分だけのカリキュラムで効率的に勉強したい」

そんな方はお気軽に侍エンジニア塾までご相談ください。

弊社では、

  • プログラミング基礎学習
  • オリジナルアプリ開発
  • 仕事獲得

までをひと通り学習できます。

まずは無料体験レッスンで、弊社のコンサルタントと一緒にあなた専用の学習方法やカリキュラムを考えてみませんか?

挫折しない学び方や、通常1000時間以上かかる学習時間を1/3にする方法などより具体的なアドバイスもさせていただいています。

詳しくは下の画像をクリックして弊社サービス内容をご確認ください。

cta1

プログラミング学習者必見

専属講師に質問し放題、レッスンし放題、最短1ヶ月でフリーランスエンジニア
月額たったの2980円で質問し放題!驚きの新サービス登場
プログラミング学習カリキュラム無料公開中
 1記事最大11,000円!テックライター募集


LINEで送る
Pocket

この記事が気に入ったら
いいね!をしてフォローしよう

最新情報をお届けします

書いた人

佐野裕史

佐野裕史

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

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

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

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

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