プログラミングと聞くと、
「難しそう」「私にはできない」
と感じてしまう人、多いと思います。
なぜそう感じてしまうかというと、プログラミングには特別なセンスが必要というような認識があるからではないでしょうか。
結論から言います。
プログラミングにセンスは必要ありません。
では、プログラミングが早く上達する人とそうでない人の差はどうしてなのでしょうか。
- どうして、センスが必要ないのか。
- プログラミングが早く上達するには。
[toc]
プログラミングにセンスが必要ないって本当?
プログラミングとは、様々なコードを組みあわせて自分の作りたいプログラムを作る作業です。
そのプログラムは、ウェブサイトであったり、ゲームであったりその用途や目的は多種多様ですがそれら全て、コードの組み合わせなんです。
例えば、スポーツであったら歩くという動作ひとつとってみてもトップアスリートと全く同じ動きをすることはできません。
つまり、トップアスリートがやっている練習をそのまま真似てみてもその競技において強くなれるとは限らないわけです。
これこそまさに、その選手の持つ微細な感覚「センス」と言えるでしょう。
一方で、プログラミングはどうでしょうか。
すでにできあがっているプログラムがあったとします。
初心者であっても最低限の知識があれば、それと全く同じプログラムを作ることが可能ですよね。
もちろん、上級者と初心者では同じプログラムを作るためにかかる時間は雲泥の差ですが、最終的には同じものを作ることができます。
プログラミングをするということにおいて「センス」は必要ないと言えるでしょう。
プラミングにおいて「できる人」と「できない人」の差は?
プログラミングをするということにおいて、「センス」が必要ないことは分かっていただけたでしょうか。
そうはいっても、個人間で上達速度が異なったり、どれだけ練習しても長年プログラマーとして活動している人には及ばなかったりすることがあります。
この「差」が生じる理由には、
- 学習の仕方の差
- 経験の差
が挙げられるでしょう。
この差を埋めるためには、どうしたらいいのかを解説します!
誰よりも早く上達する方法!
1.真面目になりすぎない
学習というとどのようなイメージがありますか?
「受験のための勉強」のような学習のイメージが強いのではないでしょうか。
受験勉強は、できるだけわからないことをなくして、全てを理解しようとしましたよね。
受験では、限られた範囲しか出題されないためわからないことをなくそうとしました。
しかし、プログラミングは限られた範囲というものがありません。
日々、情報が更新されていくため、わからないことをなくすことは不可能といえるでしょう。
自分の目的に合ったことをまずは理解していくようにしましょう。
また、受験と違って暗記する必要もありません。
ほとんどのプログラマーは、コードを丸暗記している訳ではありません。
必要なコードがあったら調べれば良いのです。
コードを暗記するために使う時間を実際に手を動かしてプログラミングする時間に当てましょう。
2.徹底的にパクる
プログラミングを始めたばかりの時に、一からプログラムを作ることは非常に難しいです。
最初から難しいことに挑戦するのではなく、まずはすでにあるプログラムをそのまま真似てみる「写経」をやるようにしましょう。
そうすることによって、基本的な構成はどのようになっているのかを学ぶことができます。
繰り返し様々なプログラミングの「写経」を行うことによって、よく使うコードなどは覚えてしまうこともあるでしょう。
このようにして、プログラミングをするスピードが上がっていくのです。
3.実務経験を積む
どうしてプログラミングを学習する人の多くは、プログラミングを仕事に活用するためでしょう。
実際、仕事にプログラミング技術を活かしていくには学習しただけでは足りません。
経験を積む必要があります。
一通り学習が終わったと感じたら、実務経験をこなしていくようにしましょう。
基礎構文を学んでも活用するには応用力が必要なのです。
「写経」をすることによってプログラミングスピードを上げたり、基本的なコードを打てたりするようにはなっています。
しかし、応用力はまだ足りないでしょう。
応用力をつけてプログラミングを仕事に繋げましょう。
最後に、
プログラミングにおいて「センス」は必要かどうかについて検証してみました。
プログラミングにおいて、生まれつき個人間で差ができているということはありません。
正しい学習法でプログラミングを学び、経験を積んでいくことができれば必ず優秀なプログラマーになることができるでしょう。
紹介した方法を実践してプログラミングができるようになりましょう!
CodeCoachingは案件を実際にこなしてもらうところまでサポートしています。
「実務経験の積み方がわからない」
という方はCodeCoachingの無料相談に是非お越しください。
株式会社CodeCoaching 取締役CTO。
富士通において文教、医療・ヘルスケア、自動車、警察・消防などの分野において、自らがプロマネをしながら、PythonでAIのプログラミングも行ってきた現役の技術者(エンジニア歴:20年)。
過去に、マーケット調査、ビジネス企画立案、顧客提案、AIプロトタイプ開発(ハイブリッドアジャイル方式)、ビジネス性検証、事業化までの一連プロセスを経験。
テクノロジーとビジネス両方の知見を活かしAI人材不足解消のため、CodeCoachingのサービスに情熱を注ぐ。
東京工業大学大学院理工学研究科博士前期課程修了。北京大学経済学院EMBA修了。