プログラミング

プログラミングができない人はいない:センスや向き不向きは関係ない

こんにちは、かないゆうきです。

現在はwebエンジニアとして活動しています。

 

そんな中、web上(TwitterやGoogle)では下記のような情報を見かけます。

  • 限られた理系の人にしかできない
  • プログラミングに不向きな人はこんな人
  • プログラミングにはセンスが必要である

こんなのは嘘もいいところ。全然間違っている。それに、将来的にプログラマー不足が騒がれている中で、初心者の出る目を潰すのはいかがなものか。

僕は高校にスポーツ推薦で入学し、大学にもスポーツ推薦的な自己推薦で入学。これまで勉強というものをしたことがありませんし、大学での専攻はスポーツ関係。完全に文系です。

そんな僕でもある程度の力をつけることのできたプログラミング。あなたに出来ない訳がありません。自信を持ってプログラミング学習に取り組んでもらいたい。

ほんで本記事では、プログラミング学習をする上で持っておくべき「考え方」とその「学習の方法」をお教えします。

あわせて読みたい
未経験:最短でエンジニア:プログラマーになるための簡単3ステップこんにちは、かないゆうきです。 「他職種からプログラマーに転職できるの?」 「未経験の学生でもエンジニアとして就職できる...

 

プログラミングにセンスは必要ない

プログラミングにセンスは全く必要ありません。必要なものは、「体系化された学習方法」と「学習の継続」。たったこれだけです。

先ほども少し触れましたが、僕はドがつくほどの文系で、スポーツしかしてこず2年前まではPCさえ持っていませんでした。しかし今では、webエンジニアとして活動しています。ではなぜ、プログラミングで稼げるようになったのか?

話は少しずれますが、プログラミングは自転車や自動車の運転技術の習得に似ています。初めて乗った自転車には補助輪がついていて、両親や兄弟、友達が教えてくれて乗れるようになったはずです。自動車でも、座学を学び教習所内で教官に習いつつ実践することで運転ができるようになります。

まれにバランス感覚があって、すぐに自転車に乗れるような子もいますが、それはそれです。確かに、エンジニアの中にも天才と呼ばれるスーパーエンジニアがいます。しかし、ほとんどの人が天才になりたいわけではなく「ある程度稼げるようになるため」だったり「必要に迫られているから」習得することを目指しているはずです。

免許が欲しいけどレーサーになりたい人はほとんどいませんよね。そんなもんです。

「ある程度稼げるようになるため」だったり、「SEになるため」みたいなレベルであれば、車の免許が誰でも取れるように、プログラミングスキルも絶対に身につけることが可能です。

 

できる人とできない人の違いは「今できることを積み重ねているか」どうか

プログラミングができる人とできない人の違いは、「今できることを積み重ねているか」どうかです。上記で自転車の例を出したので、ここでも自転車に例えて話します。

自転車が乗れるようになるまでの過程⤵︎

  • 補助輪付きで乗れるようになる
  • 左右に曲がることができるようになる
  • 補助輪を外して少しずつ自力での走行を試みる
  • 真っ直ぐ走れるようになり、左右に曲がれるようになる
  • それでも毎日乗っていると立ち漕ぎができるようになり、遂に両手放しで運転することもできるようになったりする

初めから補助輪なしで自転車に乗れる人はいませんし、真っ直ぐ走れないのに両手放しをしたら大怪我をしますよね。

プロラミング学習には、このような「考え方」と、つまずくポイントを押さえた上での「体系化された学習教材」が欠かせません。

友人に教えていたことがあるのですが、プログラミングができるようにならない人の共通点は、「自分のレベルに合っていないことをやっている」ことでした。教材に乗っている通りにコードを書いているが、そのコードが何を示しているのか理解していないことが、プログラミングができるようにならない原因です。そんな方はエラーが起こると絶対に解決することができません。

その一方で、プログラミング学習がスムーズに行く方は、自分ができることと、できないことが分かっています。例えば、教材の書き写しをする際にも分からないコードがあれば、調べたり確認しながら進みます。なので、エラーが出ても出る前のコードに戻してエラーが出た原因を判別することができるのです。応用の課題が出た時でも、まずは自分のわかるところまでプログラミングし、その後に必要な要素を積み重ねていくことができます。できる事を積み重ねていくことにより、徐々にできる事が広がっていきます。

さらに、ここで重要なのが分からなければすぐに誰かに聞くこと。独学者に多いのが、クラスなどの概念で挫折する方です。(初心者は絶対にここでつまずきますが・・・)こういうポイントで誰かに聞ける環境や、体系化された教材(つまづくポイントを理解して繰り返し教えてくれる)、自力で調べて解決できる力を身につけることがとても重要になります。

 

とはいえ、「プログラミングなんて本当に私にできるかな…」そう不安になる気持ちもわかります。

そんなあなたにはプログラミングスクールがおすすめです。現役のプログラマーが、スキル習得からツール作成まで、1からしっかりと教えてくれますよ。最近はオンラインで受講できるスクールも多く、スキマ時間に学べるところも多く嬉しいですね。

体系化された教材を持つスクールで、手っ取り早くスキルを身につけたい方はこちらをご覧ください。

あわせて読みたい
初心者におすすめのプログラミングスクール3つ:独学→スクール経験者が語るこんにちは、かないゆうきです。 日本では「将来的なエンジニア不足」が深刻化すると言われ、2020年からプログラミングが小学...

 

結局:継続しなければ芽は出ない

プログラミング学習で「体系化された教材」の次に重要なのが「学習の継続」です。

1度で記憶できる人はいない

東大法学部を首席で卒業し、財務官僚を経て弁護士になった山口真由さんでさえ、自身の著書で下記のように語っています。

一度読んだだけで理解しようとすることが誤りです。反復・継続しなければ、人は学ぶことができません。一を聞いて十を知る人は、私に言わせれば、その能力の高さゆえに異常な人に分類されます。十を聞いて一を知ることができれば、大したものじゃないか、そう思います。

引用元:天才とは努力を続けることができる人であり、それには方法論がある

東大首席と聞けば天才が思い浮かびますが、彼女でさえこう言っているのです。プログラミング初心者が1度コードを書いたからできるようになるなんてことはあり得ません。

また、全ての学習者のバイブル的な書になるであろうと勝手に感じている『使える脳の鍛え方』では、下記のように記されています。

どんな分野であろうと、習熟するには徐々に知識を増やし、概念を理解し、判断を下し、身につけていかなければならない。

引用元:使える脳の鍛え方 ピーターブラウン

1度ではなく、何度も何度も繰り返すことで、やがてスキルとして定着するのです。

 

点と点が繋がり線となる日がくる

また、プログラミング初心者は『一度で全てを理解しようとする気持ち』と『全てを完璧に理解しようとする気持ち』を捨てると勉強が捗ります。

何度もプログラミングが向いていないと感じていた僕は、分からないことや理解できない概念がたくさんありました。そういうときは、とりあえず諦めればオッケーです。

学習を続ける中で、いつか点と点が繋がり線となります。『使える脳の鍛え方』では、下記のように記されています。

新しいことを学ぶには、土台となる知識が必要である。

引用元:使える脳の鍛え方 ピーターブラウン

新しい知識を身につけるには、それを理解できるだけの下地が必要です。プログラミングで分からないことがあれば、あまり深く考えずに諦めて、同じ箇所を2週でも3週でもやればいいのです。

僕の場合、3週〜4週目ぐらいで「そういうことだったのか!あれは〜という意味で、これに繋がるのか!」と腑に落ちることが多かったです。今も。

 

継続は力なり(経験談)

上記でも少し説明しましたが、プログラミング学習において「継続は力なり」です。

プログラミング初心者のころは、HTMLのチュートリアルでつまづいたり、CSSのfloatの概念が理解できなかったり、変数がなんだかよく分からなかったり。他にもクラスの概念や、関数や引数など、初めは何が何だか分かりませんでした。

それもそのはずです。これまでの人生で1度も勉強してきたことがなかったのですから。そんなやつがいきなりプログラミングを学ぼうと言うのです。正直無理だろうと思っていました。

しかし、「体系化された教材」を用いて「学習を継続」することである程度のスキルを身につけることができました。

これは、他の分野でも同じです。僕がずっと続けてきたスポーツでも、何百回と同じ動きを繰り返して、何百回と同じ練習をして、何百回とミスをして、初めてスキルが身につくものです。

皆さんが読むことのできるこの記事でさえ、小学生のころは読めなかったはずです。しかし、日々の生活を通して、国語の授業を通して、漫画を通して、ある程度高度な日本語を操るようになるのです。

そこには、紛れもなく「体系化された教材(学校の教科書)」と、膨大な量の「学習の継続」の存在がありました。

あわせて読みたい
大学生が絶対にプログラミングを学ぶべき:驚きの4つの理由とはこんにちは、かないゆうきです。 現在の経済の流れと人口分布、世界の情勢を見てみると、『プログラミング・エンジニアリング』の...

 

おすすめする学習方法は「チュートリアル3週」

 

僕がおすすめする学習方法は、与えられたチュートリアルを最低でも3週することです。

1週目で「全体の流れ」と「雰囲気」を掴む。

2週目で「理解できない箇所」と「理解できる箇所」の判別をする。

3週目で「理解できている箇所」の復習と「理解できていない箇所」の理解を深める。

 

こうすることで脳への定着は増し、より新しいことを吸収するときに楽に吸収できるようになります。また、3度も実践を繰り返すことで基礎が当たり前のように身体に身につき、スキルの応用ができるようになっていきます。

体系化されたチュートリアルを何度も繰り返すことが、「スキルの習得」への近道だと僕は考えています。

 

まとめ

  • プログラミングは理解できないのが「普通」なので「諦め」も肝心
  • まずは継続すること:目安は1日たった「3時間」をたったの「1年間」
  • できればスクールなどの体系化された教材を用いる

以上、プログラミング初心者向けの心構えとその方法を記した記事でした。
最初はつらいですが、継続していくと、辛さが楽しさに変わり始めます。ぜひ頑張ってください。

 

合わせて読みたいおすすめの記事はこちら

あわせて読みたい
未経験者がプログラミング言語を選ぶときの注意点:Web系がおすすめこんにちは、かないゆうきです。 「プログラマーになってリモートワークとかしたいな・・・。」 「でも具体的にどの言語を学べ...
あわせて読みたい
未経験:最短でエンジニア:プログラマーになるための簡単3ステップこんにちは、かないゆうきです。 「他職種からプログラマーに転職できるの?」 「未経験の学生でもエンジニアとして就職できる...
あわせて読みたい
初心者におすすめのプログラミングスクール3つ:独学→スクール経験者が語るこんにちは、かないゆうきです。 日本では「将来的なエンジニア不足」が深刻化すると言われ、2020年からプログラミングが小学...