こんにちは、『プログラミングの王様』編集部のヒロキ(@pgm_osama )です。
クライアントは主に東京の上場企業でWebマーケティングやプログラミング開発を行いながら、個人の活動としては株式投資で資産運用をしています。
2000年からプログラミングの学習を始めたので、今年で20年のキャリアになります。
私自身が常にプログラミング学習において大切にしていることは「基礎を正しく理解する」ということです。
- 何となくスキルを身につけよう
- 儲かるからエンジニアになろう
そんな中途半端な感覚でプログラミングの学習を始めても、ほとんどが挫折してしまいます。
プログラミングの向き不向きを効率的に解消する1000時間の学習方法【センス不要】でも解説していますが、プログラミングを独学でマスターしようとすると「約1000時間」の学習時間を必要とします。
この1000時間は「プロフェッショナルになれる」のではなく、初心者から中級レベルになれるまでの時間で最低1000時間です。
もちろん、人によっては半分の時間で習得できたり、逆に2倍以上の時間がかかる人もいます。
では、このプログラミングスキルの習得時間の差は一体何から来るのでしょうか?
そこで先日に以下のツイートをしました。
何事もそうだけど
基本・基礎を軽視して手軽に使えるテクニックを求める人はほぼ確実に失敗に繋がっている。
何より大切なことは初心者でも知ってるような基本。
基本に忠実になる程に学習効率は良くなる。
基礎的な知識やスキルを丁寧に身に付け習慣的な姿勢で行動すれば、いやでも結果は出る。
— ヒロキ@起業家→株式投資の世界で修行中 (@hiroking10ten) January 28, 2020
何事もそうだけど
基本・基礎を軽視して手軽に使えるテクニックを求める人はほぼ確実に失敗に繋がっている。何より大切なことは初心者でも知ってるような基本。
基本に忠実になる程に学習効率は良くなる。
基礎的な知識やスキルを丁寧に身に付け習慣的な姿勢で行動すれば、いやでも結果は出る。
本記事ではプログラミング学習を始める上で、大切になる「基本」について深掘りしていこうと思います。
プログラミングに限らず「基本をおろそかにする人」ほど、失敗の可能性が大幅に上がります。
プログラミング学習における失敗とは「挫折したり、諦めたり」することです。
そこで本記事では初心者が理解すべき「プログラミング学習における基礎知識」について、具体的に解説していきたいと思います。
最短期間で効率的にプログラミングスキルを身につけたい方は、必ず最後までご覧ください。
理解すべきプログラミング学習の基礎知識
- プログラミングは市場価値の高いスキルになる
- プログラミングの需要が年々伸びている
- プログラミングは効率的に稼ぎやすい
プログラミングへの注目が年々増える中で、プログラミング学習を始める人も増加しています。
では、そんな初心者の方に質問です。
プログラミングって何をすることですか?
プログラミングとはコンピューターに指令を出すコードを書くことです。
パソコンなどのコンピューターは自分で物事を考えて発信することはできません。
そこでコンピューターやパソコンを動かすためには、人間が指令を出す必要があります。この「指令を出す手段」がプログラミングになります。
ただ、これは教科書的な回答であって、本質的な答えは「問題を解決する手段」がプログラミングです。
- 同じ作業を繰り返すのが面倒くさい
→ プログラミングで作業を自動化する - 1人で複数の人とコミュニケーションがしたい
→ プログラミングで複数に自動発信する - 暇な時間を潰したい
→ プログラミングで遊べるゲームを作る
このように、常にプログラミングは「人の問題」を解決するための手段であるという本質をまずは理解しておきましょう。
この辺りの考え方についてはプログラミング初心者が何からやるべきか?最短で学習する方法を解説も合わせてご覧ください。
プログラミング言語の違いについて理解する
プログラミングは「目的や手段」に応じて、利用する言語が異なります。
それぞれの言語ごとに得意なことや、できることが決まっているので、初心者の場合は「どのプログラミング言語を自分は勉強するべきなのか?」を最初に理解する必要があります。
例えば「ゲームを作りたい」のに、人工知能が得意なPythonというプログラミング言語を勉強しても意味がないということです。
この辺りは、初心者の段階ではかなり重要な視点になりますので【初心者向け】プログラミング言語の選び方を目的に分けて詳しく解説も合わせてどうぞ。
プログラミングを勉強したいけど何を勉強したら良いのかわからない...
独学で勉強しているけど、よくわからない...
そんな方も多いと思いますが、朗報です!
有名プログラミングスクールのテックアカデミーの講座を
無料で受講することができます!
パソコンさえあれば、自宅で学習をすることができます。
30秒で登録が終わります。
いつまで無料で体験できるかわからないので、
今すぐ無料体験に登録してみてください!
» TechAcademyの無料体験に申し込む
プログラミング学習を最短にする3つの基礎知識
プログラミング学習を始める前に、理解すべき基礎知識があります。
それは以下の3つです。
- プログラミングの暗記は無意味
- プログラミングは手を動かすことが重要
- 情報発信を合わせてする
それぞれを簡単に解説します。
プログラミングの暗記は無意味
初心者は「プログラミングを暗記」しようとしてしまいます。
特に日本人は子供の頃からの学習の習慣から「勉強は暗記すること」という間違った認識があります。
プログラミングに限らず「暗記」では知識は身につきません。
まずもって日々改善され続けるIT業界において、全ての知識や情報を暗記するなど不可能ですし、暗記できても実益はありません。
つまり「暗記しても稼げるようにはならない」ということです。
何度も言いますがプログラミングは暗記する必要はありません。暗記ではなく、必要となった時に「調べて情報を引き出せばOK」ということです。
分からないことがあれば、ググって情報を調べて、使えそうな情報を使って対処すれば良いだけです。
そのためにも大切なことが「プログラミング自体を理解する」ということです。
プログラミングは手を動かすことが重要
プログラミングは自分で実践して、失敗して、修正することで、やっと自分のスキルとして身につきます。
それこそプログラミングの知識がない初心者でも、半年間ほど現場に出て、実際にWebアプリの開発をすれば嫌でもプログラミングスキルは身につきます。
大切なことは「いつまでも勉強する」のではなく、最速で現場で実践と向き合うということです。
それこそ上述した「暗記」なんてしていたら、いつまで経っても現場に出ることはできません。
分からないことは調べたら解決策が見つかります。
「知識を確実に覚えていないと通用しない」とか無意味に悩むよりも、まずはざっくりでも良いので「このプログラミングでコードを書けば、どう動くのだろうか?」と少しづつ理解を深めながら挑戦をすることです。
ちなみにプログラミング歴20年の私でも、いまだにプログラミングで分からないことがあれば、その都度「情報をググって調べて」解決しています。
その対応が正解です。
情報発信を合わせてする
プログラミングスキルを短期間で伸ばすために「アウトプット」が効果的です。
プログラミングの参考書やサンプルコードを真似て作ることも大切ですが、できれば自分なりにコードを書き換えたり、プラスで動きを加えるなど改善する努力をしていきましょう。
プログラミングでエラーが出れば、それはプログラミングの理解度が深まるチャンスです。
そのためにも、自分で挑戦したことをアウトプットで発信することで、復習も兼ねてスキルの定着になります。
この辺りはプログラミングができない人はアウトプットの努力不足【恐怖に勝て】でも詳しく解説しています。
情報発信はブログかSNSがベスト
情報発信はブログがオススメです。
この内容については別記事ですがお金を稼げる優秀なプログラマーになる方法【3つの手順で情報発信】をどうぞ。
ブログで情報発信を続けると、将来的に仕事を獲得したり、就職(転職)活動をする上でも、ポートフォリオの証明になります。
初歩レベルの情報であっても、それは「別の初心者にとって必要な情報」になります。恥ずかいことなんて1つもありません。
もし「ブログを書く時間がない」という場合はTwitterでも良いですね。
とにかく何かしらの進捗や情報を常に発信することが重要です。
そして、情報発信も習慣にしましょう!これも基礎をしっかりと固めるために重要な視点ですよ。
もう一度、最初のツイートをどうぞ。
何事もそうだけど
基本・基礎を軽視して手軽に使えるテクニックを求める人はほぼ確実に失敗に繋がっている。
何より大切なことは初心者でも知ってるような基本。
基本に忠実になる程に学習効率は良くなる。
基礎的な知識やスキルを丁寧に身に付け習慣的な姿勢で行動すれば、いやでも結果は出る。
— ヒロキ@起業家→株式投資の世界で修行中 (@hiroking10ten) January 28, 2020
プログラミング初心者がやるべき効率的な学習方法
本記事ではプログラミング学習を始める上で、理解すべき基礎知識について紹介しました。
ただ初心者の方は「では、具体的にどうやって勉強すれば良いの?」と疑問に感じるはずです。
そこで、いかにプログラミングを始める初心者向けに、効率的な学習方法を解説します。
ステップ1:学習するプログラミング言語を選ぶ
まず始めにするべきことは、自分が学習するプログラミング言語を選びましょう。
プログラミング言語の選び方は「目的から逆算」が近道です。
この辺りは【初心者向け】プログラミング言語の選び方を目的に分けて詳しく解説で詳しく解説していますので合わせてご覧ください。
ステップ2:無料サイトで基礎学習をする
学習するプログラミング言語が決まれば、まずは無料の学習サイトを利用しましょう。
オススメはProgate(プロゲート)です。プロゲートでは各種のプログラミング言語を学ぶことができます。
学習手順としては
1回目の学習では、理解度は30%程度でOKなので、プログラミング言語で何ができるのかを感覚的に掴みましょう。
2回目の学習で、細かい部分も深掘りしていきます。分からない部分があれば、その都度ググったりして学習を進めてください。
この段階でも50%程度の理解度で大丈夫です。
重要なことは「最初から完璧を目指さない」ということです。
プロゲートはあくまで基礎理解のために使うサービスです。
分からない部分があっても、無理して「解決しよう」とはせずに、気楽に勉強してもらえればと思います。
そして、プロゲートを活用して基礎がざっくり理解できれば、ここから「学習の定着フェーズ」として、より深掘りしてプログラミングを勉強していきます。
最大に効率的な学習は知っている人から教えてもらうこと
プログラミングに限らず、何事も同じですが、効率的に学習して、スキルを身に付けるためには「すでに知っている人」から教えてもらうのがベストです。
サッカー選手になりたいなら、サッカー経験者から教えてもらうのがベストですよね。だから、子供たちはサッカーチームに入って、コーチに教えてもらうわけです。
なぜなら、それが一番効率よくスキルが身に付くことを知っているからです。
プログラミングも同じですね。
わざわざ独学で遠回りする必要はありません。
知識がある人に教えてもらうことができれば、1日かかって調べていたものが5分で解決します。
この時間の差で学習効率と成功がきまります。
ちなみに、プログラミング初心者の独学は90%以上が挫折するという統計データもありますので、この辺りはプログラミングの独学は正直にきつい【挫折しない3つの戦略も紹介】を合わせてご覧ください。
プログラミング初心者スクールが1番の近道です
最近ではSNSでプログラミングに関する情報を発信している人が増えました。ただ、知識もスキルもない状態で、そういう人の情報を受け取っても学習は全く進みません。
そこでオススメは、プログラミングスクールの受講です。
なぜなら、プログラミングスクールは「初心者が最短期間で学習できる」ように考えられたカリキュラムを用意してくれているからです。
その他にも、プログラミングに関する悩みや学習の不安などを、現役エンジニアの講師に質問することで、すぐに解決できる環境は、初心者にとって大きなメリットです。
それでは最後に初心者が知っておくべきプログラミングスクールに関する情報を下に貼っておきますので「プログラミングを最速で習得したい」という方は合わせてご参考ください。
プログラミングスクールは高いけど今すぐ受講すべき理由【注意点もある】
「プログラミングスクールは意味ない」そんな初心者の90%が挫折する理由
乱立するプログラミングスクールの中で本当にスキルが身に付く2校を紹介
人気記事社会人におすすめのプログラミングスクールはテックアカデミー【比較】
人気記事【最短最速で稼ぐ】副業で稼ぐためのプログラミングスクールの選び方