この記事では、プログラミングを始める前に知っておきたい基本と学習の鉄則を解説します。
あなたがプログラミングの学習において気をつけていることは何ですか?
ただ何となくやっているのであれば、それは大変もったいないことです。
プログラミングは独学の場合、「約1000時間」の習得が目安とされています。これは脱初心者で、という意味です。もちろん、その半分の時間で習得される人もいれば、倍の時間がかかる人もいるでしょう。
ではその時間の差は一体なんでしょうか?
それは今回ご紹介する「3つの鉄則」をおさえられているかです。「基本」というのは、とても大事なことです。
堀江貴文さんも次のように言っていることから、基本をおろそかにする人ほど失敗の可能性は上がります。
僕がいつも言っていることは基本に忠実になれということです。
基本に忠実なんて言うといやな顔をする人が多いかもしれません。なんだそんなことかと。
しかし、これは大事なことなのです。多くの人は基本に忠実にやらないで失敗するのです。
プログラミング学習でいう失敗とは「挫折」や「諦め」ですね。この記事を見ているあなたは、もちろんこうなりたくないはずです。
ではプログラミング学習における「基本」とは、一体どんなことなのか。この記事では、「プログラミングの基礎知識」と「プログラミングを始める前の心得」をご紹介していきたいと思います。
- 「暗記しない・理解に徹する・発信する」はプログラミング学習の鉄則
- 初心者は「インプット(座学)→アウトプット(実践)」の順で学習がおすすめ
- 学習中の挫折を防ぐには相談できる先生を見つけること
はじめに覚えておきたいプログラミングの基本
そもそもプログラミングって何?
プログラミングとは、一言で言うとコンピューターに「この仕事をしてくれ」と命令することです。
コンピューターは、人間の言葉を理解できず、また曖昧な命令も理解できまず、実行できません。コンサートや運動会のプログラムのように、頼みたい仕事内容を順番に書き出して、その指示書を渡す必要があります。
つまり、「コンピューターに理解できる言語で、仕事内容を順番に書き出し、コンピューターに指示を渡すこと」をプログラミングと言います。
プログラミング言語って何?
プログラミングはコンピューターに対する「指令」だといいましたが、コンピューターに話しかけても理解してくれないですよね。コンピューターになにかしてもらうためには「プログラミング言語」を用いる必要があります。
言語ごとに得意なことや出来ないことが決まっているので、プログラミング言語の選定は今後のプログラミング人生を左右しかねない超重要事項です。学習前に各言語の特徴を知っておきましょう。
弊社が行った、2020年1月から11月31日までに受講を開始した受講生を対象とした、人気のプログラミング言語に関するアンケートによると、41.45%の受講生が「PHP」を選んでいることがわかりました。
なお、プログラミングを学びたい気持ちはあるものの、どの言語が自分にあうのか、どう学習を進めればいいのかなどがあいまいな人は「プログラミング学習プラン診断」をお試しください。
かかる時間は1分ほど。4つの質問に答えるだけで、あなたにあう言語や学習プランを診断してもらえます。
効率よくプログラミングを学習したい人は、ぜひ一度お試しください。
\ 4つの質問に答えるだけ /
プログラミング学習における3つの鉄則
原則1:暗記しないこと
真面目な人ほど、「暗記」しがちです。そして、日本人の性質なのか、学習者の大半がこの過ちを犯しています。プログラミングを暗記しようなどと思ってはいけません。
プログラミングを何の文献も参考にせずに行うなど、プロのエンジニアでもごくわずかです。使い倒された古いやり方のみであれば、できることもあります。しかし、比較的短期間で情報が刷新されていくプログラミング界で全てのコードを暗記、などというのは難しいでしょう。というよりも、不可能です。
「何も見ないでも作れる!」という状態を目指すのは、プログラミング言語自体を高度に楽しみたい哲学者がすれば良いことです。
では暗記がダメなら、どうすれば良いか、それは「理解」し「把握」をするということです。
原則2:理解、把握に徹すること
プログラミングは実践してやっと自分のものになります。現場にでて使ったり、実際にアプリケーション開発に乗り出してみて技術が磨かれます。
初心者は、このフェーズまでにたどり着くまでを最短で目指すべきです。こういった理由からも「暗記」はご法度なのです。何せ時間がかかりますからね。
しかし、全くもってわかっていないのも、ダメです。その状態で、実践環境でやりだしても、「?」すぎて、全く前に進めなく頓挫してしまうからです。
ここまで書けばご理解いただけるでしょう。そうです。暗記ではなく「理解」し、「把握」をするんです。
例えば…
一つ例に出して説明します。
HTMLには、『br』というタグがあります。※わかりやすいようにプログラミング言語ではなくHTMLで説明しています。これは、『改行』を意味するタグですね。
ダメな学習者ですと、「『br』という記述を書けばそこで改行ができるのか。覚えとかなきゃ。」と「暗記」しようとします。なんなら、メモとかしてしまいます。
これは完全にNGです。
お手本は、「あ、HTMLって改行できるんだ」
これだけで十分です。実際にこのタグを使う際に思い出せなければ【 HTML 改行 】で検索をかければ暗記していなくても一発で出てきます。
簡単そうで、意外とできていないのではないでしょうか?
プログラミング学習はこういった瞬間が何百何千回と訪れます。毎回毎回「〇〇は△△か!覚えよう!」なんてやっていたら、とてつもない労力と時間を費やしてしまいます。
調べたらすぐに見つかることに対して、「コレを覚えないと次に進んじゃダメだ!」と自分で制約をかけて時間を使うのはとてつもなくもったいないことです。まずはざっくりと「この技術はどこでどのように使われるものなのか?」、「どのようなことが出来るのか?」を把握することが学習スピードの向上に繋がるでしょう。
なお、IT企業への転職や副業での収入獲得を見据え、独学でプログラミングスキルを習得できるか不安な人は「侍エンジニア」をお試しください。
侍エンジニアでは、現役エンジニアと学習コーチの2名体制で学習をサポートしてもらえます。
「受講生の学習完了率98%」「累計受講者数4万5,000名以上」という実績からも、侍エンジニアなら未経験からでも挫折なく転職や副業収入の獲得が実現できますよ。
\ 給付金で受講料が最大80%OFF /
原則3:発信すること
プログラミングは自分で生産する、つまりアウトプットという行為によってはじめて成果を出すことができます。
ネット教材や技術書のサンプルなどの「真似をする」というのはとても大切なことではありますが、出来ることなら、自分なりに処理を変えたり加えたりする努力をしてください。
もし、エラーなどが出たら、それがあなたの理解度を深めてくれます。漢字なども「読めるけど書けない」という状態になるのは難しくないですが、実際に書くのは身体で覚えるしかありません。
いきなり作るのは腰が重い…
こういった方はまず、ブログやSNSなどで発信することです。学習進捗をある程度まとめることが出来る場合は、Qiitaに書き込むのがいいでしょう。
ブログであれば、はてなブログがおすすめです。テック系の読者が多いので、高いスキルを持った先駆者から良い(時には辛辣な)フィードバックをもらえます。
後々仕事を獲得する段階で、ポートフォリオやキャリアとして書くものが薄い人にはひとつのアピールポイントとしても提示出来るでしょう。初歩レベルのものでも、それはそれで需要の有る情報なので、恥ずかしがることはありません。堂々と書いて下さい。
余りまとめている時間がないというときは、Twitterで発信するのもよしです。
とにかく何かしらの進捗を発信することが重要です。そしてそれを習慣にすること。「他人が見るところに発信する」という負荷をかけることで、否が応でも理解しようとしたり、努力をするはずです。
ここでドラッカーの金言を捧げます。
成果をあげる人とあげない人の差は才能ではない。いくつかの習慣的な姿勢と、基礎的な方法を身につけているかどうかの問題である
ドラッカー名著集4 非営利組織の経営
まさにこの言葉通りです。
習慣と基本。これで、あなたはエンジニアになれます。絶対になれます。
なお、副業での収入獲得を目指しているものの、どんな仕事が自分に合うかわからない人は「副業診断」をお試しください。
かかる時間はたった1分ほど。5つの質問に答えるだけで、自分にあう副業を診断してもらえます。
自身が取り組みやすい副業で収入を獲得したい人は、ぜひ一度お試しください。
\ 5つの質問に答えるだけ /
初心者におすすめのプログラミング学習法
これまでプログラミング学習をする上で覚えておきたい3つの鉄則を紹介しました。
しかし、
なんて思っている方も多いと思います。ここでは、今からプログラミングを始める人向けに学習方法を紹介します。
インプット → アウトプットで学習を行う
スキルを身につける基本であるインプット→アウトプットの順で学習をおこないます。
インプットには「Progate(プロゲート)」や「SAMURAI TERAKOYA(侍テラコヤ)」などの学習サイトがおすすめです。
学習手順は
- 1周目:とりあえずプログラミングがどんな物か知る(理解度30%)
- 2周目:分からないところがでてきたらググりつつ進める(理解度60%)
始めにProgateを使ってプログラミングの基礎を理解しましょう。ここでのコツは、分からないところは覚えようとせずにとりあえず進めることが大切です。
基礎がある程度理解できたら、次はアウトプットです。最終的にサービスが作ることができる参考書を使い、実際にサービスを作りながら学習を進めましょう。
ここでも全て理解しようとせずに、数回繰り返し学習することが、効率良くプログラミングを習得するコツなんです!
なお、どのプログラミング言語を学べばいいのか、どう学習を進めればいいのかなどがあいまいな人は「プログラミング学習プラン診断」をお試しください。
診断にかかる時間は1分ほど。4つの質問に答えるだけで、上画像のようなあなたにあうプログラミング言語やおすすめの学習プランを診断してもらえます。
どうプログラミング学習を進めていけばいいのかわからない人は、ぜひ一度お試しください。
自分にあうプログラミング言語や学習プランを診断してみる先生を見つけて挫折を防ぐ
どんな習い事にもいえますが、挫折なく効率的に学習するには「先生から教わる」ことが重要です。英会話でも未経験の状態から先生なしで学習するのはキツイですよね。
特に、プログラミング学習においては途中で挫折する独学者が多くいます。事実、弊社の調査では
- 不明点を聞ける環境になかった
- エラーが解決できなかった
- モチベーションが続かなかった
などの理由から、87.5%がプログラミングの学習途中で「挫折や行き詰まりを感じた」と回答しています。
また、こうした背景もあってか、弊社がプログラミングに興味がある人100名へ実施した別の調査では
- 確実にスキルを身につけられると思ったから
- 独学では不安がある
- 効率よく学べそう
などの理由から、61%が「プログラミングの勉強を始めるならスクールを選ぶ」と回答しています。
加えて、プログラミングスクールの卒業生に「独学ではなくスクールを活用した理由」を聞いたところ「できるだけ短い期間でITエンジニアへの転職や副業に必要なスキルを身につけたかった」という回答も多く寄せられました(※1)。
上記から、1人でプログラミングスキルを習得できるか不安な人や短期間でスキルを習得したい人ほど確実性を求め、現役エンジニアといったプロの講師に質問できるプログラミングスクールを利用する傾向にあるのがわかります。
いざ独学でプログラミングを学び始めても、勉強の最中に挫折しまっては学習にかけた時間を悔やむだけでなく「プログラミングスキルを身につけるのって思っていたよりも難しいんだな…」とスキルの習得自体を諦めかねません。
仮にわからないことを飛ばしながら勉強を進めたとしても、ITエンジニアへの転職や副業での収入獲得を実現できる実践的なスキルが身につかなければ、結局後悔することになります。
そこで、おすすめしたいのが「SAMURAI ENGINEER(侍エンジニア)」です。
分割料金 | 一括料金 | 受講期間 |
---|---|---|
4,098円~ | 16万5,000円~ | 1ヶ月~ |
- 転職・副業・独立などの目的に特化したコースあり
- 累計指導実績4万5,000名以上
- 給付金活用で受講料が最大80%OFF
侍エンジニアをおすすめする最大の理由は「挫折しづらい学習環境」にあります。
先ほど述べたとおり、独学者の多くは自力で不明点やエラーを解決できないためにプログラミング学習を挫折しています。そのため、未経験者が現役エンジニアのようなプロに質問や相談できない状況で、プログラミングスキルを習得するのは非常に難易度が高いといえます。
しかし、侍エンジニアでは
- 現役エンジニア講師による個別レッスン
- 現役エンジニアに質問できるオンラインでのQ&Aサービス
- 不安や悩み・勉強の進み具合を相談できる学習コーチ
といったサポート体制を整えているため、学習中に出てきたわからないことや不明点をいつでも相談可能です。「受講生の学習完了率98%」「転職成功率99%」という実績からも、侍エンジニアなら挫折しづらい環境でプログラミング学習を進められるといえます。
また、侍エンジニアではカウンセリングにてプログラミングを学ぶ目的や理想の生活・仕事像をヒアリングしたうえでカリキュラムを作成するため、限られた受講期間でも効率的に必要なスキルだけを習得可能です。
最短距離で目的を実現できるようカリキュラムが組まれているため、勉強する順番や内容を誤り非効率に時間や手間を費やす心配もありません。
なお、侍エンジニアでは最大80%OFFで受講可能な「給付金コース」を提供中。金銭面での支援を受けつつ、理想のキャリア実現に向けたスキルの習得から、転職活動・就業後のフォローアップ(※1)までを一貫してサポートしてもらえます。
学習と金銭面をどちらもサポートしてくれる侍エンジニアなら、未経験からでも安心して転職や副業などの目的が実現できますよ。
公式サイトで詳細を見るまとめ
この記事ではプログラミング学習の鉄則というべき、3つの事象を紹介しました。
プログラミング学習を成功させるためには、基礎知識が必要不可欠。今回ご紹介した内容をもとにプログラミング学習を始めてみてはいかがでしょうか。
この記事の監修者
フルスタックエンジニア
音楽大学卒業後、15年間中高一貫進学校の音楽教師として勤務。40才のときからIT、WEB系の企業に勤務。livedoor(スーパーバイザー)、楽天株式会社(ディレクター)、アスキーソリューションズ(PM)などを経験。50歳の時より、専門学校でWEB・デザイン系の学科長として勤務の傍ら、副業としてフリーランス活動を開始。 2016年、株式会社SAMURAIのインストラクターを始め、その後フリーランスコースを創設。現在までに100名以上の指導を行い、未経験から活躍できるエンジニアを輩出している。また、フリーランスのノウハウを伝えるセミナーにも多数、登壇している。