Pocket

『自分の手でコードを書いて、新しいサービスを生み出したり仕事としてゴリゴリ稼ぐ』

そう決心してプログラミングを始めたとしても、実際にコードを自分の手で書こうとすると

『えっ‥なんだよこの暗号の羅列は‥理解不能だわ‥』

そのような現実に直面する瞬間が必ずあります。

結論から言ってしまえば、このような現実に直面しても乗り越えることは可能なのですが、いざ自分が当事者となると、その現実にぶち当たって心が折れてしまうこともあります。

avatar
一度心が折れると立ち直るのに少し時間がかかります。

プログラミングの学習に心が折れてしまい、就職することを目標にしていた人であっても、途中でこの業界から去ることは珍しくはありません。

人生を変えるためにプログラミングを学び始めても、そのほとんどは最初の段階で心が折れてしまいます。

周りがプログラミング学習を進めている中で、自分だけがプログラミングを理解できない状況になった場合、どのようにして乗り越えていけば良いのか?

今回はその対処法や考え方について、私の経験を交えながら詳しくお伝えしていきたいと思います。

プログラミングが理解できないと思っている人はたくさんいる

まず、現時点でプログラミング学習がなかなか捗らない場合、視野が狭くなってしまい

『自分はプログラミングの才能がないのかもしれない』

そう思ってしまうかもしれません。

しかし安心してください。

どんなに頭の良い人であっても、最初からプログラミングをスラスラと理解できる人なんてごく少数の天才以外存在しません。

avatar
えっ?そうなんですか?
avatar
多くの人は勘違いしてしまいがちですが、どんなに凄い人であっても、最初はかなり苦戦しているんですよ。
avatar
それは勇気が出る話ですね!

今凄腕エンジニアとしてバリバリ働いている人であっても、最初は誰よりもプログラミング学習で苦しんだ経験を持っているはずです。

エンジニアあるある

どんなに今活躍している人でも、最初はみんな同じようにプログラミングの基礎を学ぶ段階で苦しんだ経験を持っています。

誰もがプログラミングをできない経験を経て今のスキルを身につけていますので、まずはこれをしっかりと理解しておきましょう。

プログラミングをできるようになる人・できないままの人は何が違うのか?

ある意味プログラミングというのは

『難しい・できないかもしれない』

『難しい・できないかもしれない』

そう思った瞬間がスタートラインだと考えるべきです。

avatar
イメージとしては、英語を勉強するために初めて英字新聞を読んだような感覚ですかね。
avatar
なるほど。そうなると、確かに難しい・できないと思ってしまいますね。

一度現実にぶち当たることによって、初めて自分に何が足りないのかが浮き彫りになります。

このときにプログラミングで挫折してしまう人の多くは

『うわっ、こんなの自分には無理だわ』

という感じで『無理』のフィルターを自分自身で作り出してしまいます。

このフィルターを作ってしまうと、その先どんなに勉強をしても知識が頭に入ってこなくなるため、まずはこのフィルターを取り払い

『今は知識がないからできないだけ』

というフィルターに付け替える必要があるのです。

できるようになる人は『暗記』よりも『全体像』を理解している

私自身は様々なプログラマー・エンジニアの方に話を聞きましたが、やはりできるようになっている人は共通した考え方を持っています。

その一つが

『全体像を把握すること』

です。

実際にプログラミングの学習を始めると、とにかく今まで見たことないコードと向き合うことになります。

この瞬間、私たち日本人が小さい頃から受けてきた

『暗記主体の勉強法』

を無意識的に実践しようと思うため、目の前のコードを丸暗記するための勉強を始めようとするのです。

avatar
暗記主体の学習に関しては、私も体に染み付いてしまっています。
avatar
この学習方法全てが悪いわけではないのですが、プログラミングにおいては悪い方向に作用することがほとんどです。
理数系の人がプログラミング学習の飲み込みが早いのも、暗記主体ではなく論理的思考を用いて学習を進めていくからです。

しかし、これは完全にプログラミング学習を失敗する人の考え方です(詳細は後ほどお伝えします)。

プログラミングができるようになる人たちというのは、最初の段階で暗記をしようとせずに

『コードの羅列を全体像として把握し、それを1つ1つ掘り下げていく』

ような考え方を持っています。

これは『地図』を見るときと同じ感覚です。

まずは自分が行きたい目的地を設定し、その目的地にたどり着くための手段を考えます。

そして目的地に最短でたどり着くためのルートを導き出し、そこに向かって走り出します。

途中で細かいルートを修正しながら進んでいくことで、最終的に目的地にたどり着くことができます。

これをプログラミングで考えると

  1. まず最初に作りたいサービスを決める
  2. そのサービスを作るための全体像を把握する
  3. 具体的な設計をしていく
  4. その設計図をもとにコードを書いていく
  5. サービスを作り上げる

大体このような感じで進めていきます。

できる人というのは、最初の全体像を把握することの重要性を理解しているため、早い段階で1つ1つのコードの意味を理解できるようになるのです。

できない人は『プログラミング=暗記』という考え方が強い

そしてこれは日本で受ける教育の弊害だと思いますが、とにかく日本人は暗記することに力を入れたがります。

avatar
高校・大学に通っていた人たちのほとんどは、とにかく暗記する勉強に力を入れてきたと思います。

日本の学校は、暗記ができればそれなりに偏差値を上げることができるため、基本的には暗記主体の勉強法を実践している人が大半です。

しかしプログラミングの場合、いくら暗記をしたところで全体像が分かっていなければ新しいサービスを生み出すことができません。

あるある

逆にコードの知識はググって解決し、全体像を把握しているだけの人の方が開発がスムーズに進んだりします。

暗記することは悪いことではありません。

しかし全てを暗記に頼ってしまうと、ちょっと分からないことが出てきたときに何を調べれば良いかが分からないこともあるのです(全体像を把握していないため)。

プログラミングが一生できない人は基本的に存在しない!

これははっきりと断言させて頂きますが、毎日ちょっとずつプログラミングを学習しているのに全くできるようにならない人は、基本的には存在しません。

もしできない場合、高い確率で学習する方法を間違っています。

avatar
私の元にそのような人たちから質問を受けるのですが、ほとんどの人たちは以下の項目に当てはまっています。

▼プログラミングができないと言う人がやりがちなこと

  • 教材を見て実践せずに終わっている
  • コードを眺めているだけで書いていない
  • 暗記することに全力を注いでいる
  • ただプログラミングを勉強しているだけ

このどれかだと思います。

avatar
うわっ。ほとんど当てはまってる。
avatar
やはりそうでしたかw

そもそも、プログラミングはコードを書かなければ何も始まりません。

どれだけ知識を脳みそに入れたとしても、それを自分の手で吐き出すことができなければ、それはプログラミングができることにはなりません。

本を読んで、その内容を全く話すことができない人と同じですね。

プログラミングができないと話している人の多くは、できないのではなく

『やり方を大きく間違っているだけ』

のことがほとんどなのです。

私が0からプログラミングを始めて重要だと感じた3つのステップ

今ではこんなに偉そうなことを言っている私ですが、プログラミングを始めた当初は、プログラミングができない人たちがやりがちなことを全てやっていました笑。

avatar
今では笑い話ですけどねw。

おそらく、普通にプログラミングを勉強しようと思ったら、誰もがこのようなミスをすると思います。

そして途中でおかしいことに気づき

『ちょっとやり方を変えてみよう』

と思い、そこからようやくプログラミングができるようになっていく感じです。

avatar
間違いは誰もがやってしまいます。重要なのはそこから『どう軌道修正するか?』を考えることです。

その軌道修正する際に、特に重要だと感じた3つのステップをご紹介しておきます。

これらを意識するだけでも、格段に学習スピードをアップさせることができます。

最初の段階でプログラミングができる人から教わる

プログラミングを勉強するとなると、まず大きく分けて2つの選択肢が出てきます。

1つは自分で教材を購入して自分一人で勉強する独学。

そしてもう一つは、プロにマンツーマンで教わる方法。

プログラミングというジャンルは、実際にやってみると分かりますが、自分一人で理解するのは基本的に無理ゲーです(本当にパソコンが好きな人であればいけますが)。

補足

考え方としては、英語を話したいと思っているのに、最初の段階で日本にある教材だけを使って勉強する人と、英語を日常的に使っている外国人に英語を教わるくらいの違いです。

もちろん前者でも結果を出せる人はいますが、そのハードルの高さはなかなかのものです。

avatar
この2つの選択肢が出てきたときに、自分一人でプログラミングを勉強することを選択してしまうと、それが結果的にかなり無駄な時間を使うことになります。

今ならスクールやオンライン学習教材で1ヶ月〜3ヶ月でプログラミングのスキルを身につけられるのに、それを完全独学に頼ってしまうのは自ら遠回りしているようなものですからね。

転職保証付きのプログラミングスクール

Tech Academy (全額返金保証あり)

TECH::CAMP (転職成功率99%)

テキストではなく動画から学ぶ

もしプログラミングを学ぶと決めたら、最初に必ず

『動画コンテンツ』

を提供しているサービスを使うことをお勧めします。

もちろんテキストでも勉強することは可能なのですが、動画とテキストのどちらが頭に入ってきやすいかと問われれば、間違いなく

『動画』

です。

avatar
動画の場合、話しながらコードの解説を聞くことができるため、テキストで見るよりも圧倒的に分かりやすいです。

親切なサービスであれば、一つ一つのコードの意味を掘り下げて解説してくれるので、テキストだけの学習よりも短期間で学ぶことができます。

動画でプログラミングが学べる無料サービス

基礎を入れてとりあえず簡単なサービスを作ってみる

プロが作った動画教材を使えば、自分のやる気がなくならない限りはプログラミングの基礎を身につけることが可能です。

そして最も重要なことなのですが、プログラミングに関しては

『学習する時間よりもアウトプットする時間をたくさん取る』

ことが成長の近道となります。

例えばHTML/CSS・PHPの基礎を学んだとしましょう。

そうすると、ほとんどの人はもっと知識を入れたいと思い、そこから『JavaScript』などの勉強を始めます。

avatar
しかし、このときに圧倒的な成長をする人というのは、HTML/CSS・PHPの基礎を学んだ時点で、何かしら1つのサービスを作成します。

そしてそのサービスで基礎のアウトプットが終わったら、そこからJavaScriptの知識を入れて、HTML/CSS・PHP・JavaScriptを使った新しいサービスを作るのです。

つまり、インプットの量よりも圧倒的にアウトプットの量が多いため、基礎を学び続けている人よりも格段に成長スピードが早くなるのです。

プログラミング学習においては、学習することよりも『アウトプット』する方が何倍も大事です。

この点は必ず頭に入れておきましょう。

プログラミング学習は結局『自転車』に乗るときと同じ感覚です

私はいつもプログラミング関連の質問をされるときに

『プログラミングは自転車に乗る時と同じ感覚ですよ』

という話をします。

小さい頃の記憶を思い出してください。

自分が自転車に乗ろうと思った時、最初に自転車に補助輪を付けて倒れないようにしてから漕いでいきます。

そして補助輪ありで乗れるようになったら、次第に補助輪が邪魔になってくるため、補助輪を外して乗ることに挑戦します。

このときに、最初は何度も自転車から転げ落ちてしまう経験をするはずです。

しかし、その転んだ経験から様々なことを学び、徐々に転ばずに自転車に乗ることができるようになります。

そして気づいたら、そこまで意識せずとも自転車に乗ることができているため、移動手段として自転車の項目が自分の中に追加されるのです。

avatar
このことから分かる通り、プログラミングも全く一緒です。

最初は教材やプロのエンジニアからプログラミングを教わります。

そしてそこで得た知識を元に自分の手でコードを書いていき、最初は実在するサービスを模写しながら全体像を覚えていきます。

そしてある程度の型が分かれば、そこからは自分の力でコードを入力していき、新しいサービスを作っていきます。

この際に様々なエラーと格闘することになりますが、それを繰り返していくうちにエラーに慣れてきて、気づいたら自分の手でサービスが作れるようになっています。

自転車とプログラミング。

一見何の関係性もなさそうなものですが、使いこなすという点では同じような考え方となりますので、この意識を持ってプログラミングも勉強してみてください。

そうすると、失敗することも全く怖くなくなりますよ。

まとめ

正直、就職という視点だけで考えれば、全くプログラミングができなくても企業の研修でプログラミングを覚えることは可能です(年齢に制限はありますが)。

avatar
ただ、個人的にはプログラミングスキル なしで企業に入ると、結局安く働かされるだけのエンジニア(IT土方とも呼ばれる)にしかなれないことが多いため、なるべく自分の手で知識を頭に入れてから働き始めることをおすすめします。

なかなかプログラミングができないと思っていても、毎日30分でも1時間でも勉強する時間を確保することができれば、必ず結果を出すことは可能です。

補足

基礎を身につけた後にサービスを作り、それをポートフォリオとして企業の面接などに足を運ぶと、以外と良い答えが返ってきたりしますからね。

今の時代行動できた一部の人だけが良い想いをできますよ。

Pocket