
プログラミングを始める前に知っておきたい基本と3つの鉄則
あなたがプログラミングの学習において気をつけていることは何ですか?ただ何となくやっているのであれば、それは大変もったいないことです。
プログラミングは独学の場合、「約1000時間」の習得が目安とされています。これは脱初心者で、という意味です。もちろん、その半分の時間で習得される人もいれば、倍の時間がかかる人もいるでしょう。
ではその時間の差は一体なんでしょうか?
それは今回ご紹介する「3つの鉄則」をおさえられているかです。「基本」というのは、とても大事なことです。
僕がいつも言っていることは基本に忠実になれということです。
基本に忠実なんて言うといやな顔をする人が多いかもしれません。なんだそんなことかと。
しかし、これは大事なことなのです。多くの人は基本に忠実にやらないで失敗するのです。引用元:名言DB
堀江貴文さんもこのように言っているように、基本をおろそかにする人ほど、失敗の可能性は上がります。
プログラミング学習でいう失敗とは「挫折」や「諦め」ですね。この記事を見ているあなたは、もちろんこうなりたくないはずです。
ではプログラミング学習における「基本」とは、一体どんなことなのか。この記事では、「プログラミングの基礎知識」と「プログラミングを始める前の心得」をご紹介していきたいとお思います。
はじめに覚えておきたいプログラミングの基本

そもそもプログラミングって何?
プログラミングとは、一言で言うとコンピューターに「この仕事をしてくれ」と命令することです。
コンピューターは、人間の言葉を理解できず、また曖昧な命令も理解できまず、実行できません。コンサートや運動会のプログラムのように、頼みたい仕事内容を順番に書き出して、その指示書を渡す必要があります。
つまり、「コンピューターに理解できる言語で、仕事内容を順番に書き出し、コンピューターに指示を渡すこと」をプログラミングと言います。
プログラミング言語って何?
プログラミングはコンピューターに対する「指令」だといいましたが、コンピューターに話しかけても理解してくれないですよね。コンピューターになにかしてもらうためには「プログラミング言語」を用いる必要があります。
言語ごとに得意なことや出来ないことが決まっているので、プログラミング言語の選定は今後のプログラミング人生を左右しかねない超重要事項です。学習前に各言語の特徴を知っておきましょう。
弊社が行った、2020年1月から11月31日までに受講を開始した受講生を対象とした、人気のプログラミング言語に関するアンケートによると、41.45%の受講生が「PHP」を選んでいることがわかりました。

プログラミング学習における3つの鉄則
原則1:暗記しないこと

真面目な人ほど、「暗記」しがちです。そして、日本人の性質なのか、学習者の大半がこの過ちを犯しています。プログラミングを暗記しようなどと思ってはいけません。
プログラミングを何の文献も参考にせずに行うなど、プロのエンジニアでもごくわずかです。使い倒された古いやり方のみであれば、できることもあります。しかし、比較的短期間で情報が刷新されていくプログラミング界で全てのコードを暗記、などというのは難しいでしょう。というよりも、不可能です。
「何も見ないでも作れる!」という状態を目指すのは、プログラミング言語自体を高度に楽しみたい哲学者がすれば良いことです。
では暗記がダメなら、どうすれば良いか、それは「理解」し「把握」をするということです。
原則2:理解、把握に徹すること

プログラミングは実践してやっと自分のものになります。現場にでて使ったり、実際にアプリケーション開発に乗り出してみて技術が磨かれます。
初心者は、このフェーズまでにたどり着くまでを最短で目指すべきです。こういった理由からも「暗記」はご法度なのです。何せ時間がかかりますからね。
しかし、全くもってわかっていないのも、ダメです。その状態で、実践環境でやりだしても、「?」すぎて、全く前に進めなく頓挫してしまうからです。
ここまで書けばご理解いただけるでしょう。そうです。暗記ではなく「理解」し、「把握」をするんです。
例えば...
一つ例に出して説明します。
HTMLには、『br』というタグがあります。※わかりやすいようにプログラミング言語ではなくHTMLで説明しています。これは、『改行』を意味するタグですね。
ダメな学習者ですと、「『br』という記述を書けばそこで改行ができるのか。覚えとかなきゃ。」と「暗記」しようとします。なんなら、メモとかしてしまいます。

これは完全にNGです。
お手本は、「あ、HTMLって改行できるんだ」

これだけで十分です。実際にこのタグを使う際に思い出せなければ【 HTML 改行 】で検索をかければ暗記していなくても一発で出てきます。
簡単そうで、意外とできていないのではないでしょうか?
プログラミング学習はこういった瞬間が何百何千回と訪れます。毎回毎回「〇〇は△△か!覚えよう!」なんてやっていたら、とてつもない労力と時間を費やしてしまいます。
調べたらすぐに見つかることに対して、「コレを覚えないと次に進んじゃダメだ!」と自分で制約をかけて時間を使うのはとてつもなくもったいないことです。まずはざっくりと「この技術はどこでどのように使われるものなのか?」、「どのようなことが出来るのか?」を把握することが学習スピードの向上に繋がるでしょう。
原則3:発信すること

プログラミングは自分で生産する、つまりアウトプットという行為によってはじめて成果を出すことができます。
ネット教材や技術書のサンプルなどの「真似をする」というのはとても大切なことではありますが、出来ることなら、自分なりに処理を変えたり加えたりする努力をしてください。
もし、エラーなどが出たら、それがあなたの理解度を深めてくれます。漢字なども「読めるけど書けない」という状態になるのは難しくないですが、実際に書くのは身体で覚えるしかありません。
いきなり作るのは腰が重い...

こういった方はまず、ブログやSNSなどで発信することです。学習進捗をある程度まとめることが出来る場合は、Qiitaに書き込むのがいいでしょう。
ブログであれば、はてなブログがおすすめです。テック系の読者が多いので、高いスキルを持った先駆者から良い(時には辛辣な)フィードバックをもらえます。
後々仕事を獲得する段階で、ポートフォリオやキャリアとして書くものが薄い人にはひとつのアピールポイントとしても提示出来るでしょう。初歩レベルのものでも、それはそれで需要の有る情報なので、恥ずかしがることはありません。堂々と書いて下さい。
余りまとめている時間がないというときは、Twitterで発信するのもよしです。
とにかく何かしらの進捗を発信することが重要です。そしてそれを習慣にすること。「他人が見るところに発信する」という負荷をかけることで、否が応でも理解しようとしたり、努力をするはずです。
ここでドラッカーの金言を捧げます。
成果をあげる人とあげない人の差は才能ではない。いくつかの習慣的な姿勢と、基礎的な方法を身につけているかどうかの問題である
引用元: ドラッカー名著集4 非営利組織の経営
まさにこの言葉通りです。
習慣と基本。これで、あなたはエンジニアになれます。絶対になれます。
初心者におすすめのプログラミング学習法

これまでプログラミング学習をする上で覚えておきたい3つの鉄則を紹介しました。
しかし、
具体的にどんな学習したらよいのか知りたいなぁ……
なんて思っている方も多いと思います。ここでは、今からプログラミングを始める人向けに学習方法を紹介します。
インプット → アウトプットで学習を行う
スキルを身につける基本であるインプット→アウトプットの順で学習をおこないます。
インプットにはProgateがおすすめです。
学習手順は
1周目:とりあえずプログラミングがどんな物か知る(理解度30%)
2周目:分からないところがでてきたらググりつつ進める(理解度60%)
2周目:分からないところがでてきたらググりつつ進める(理解度60%)
始めにProgateを使ってプログラミングの基礎を理解しましょう。ここでのコツは、分からないところは覚えようとせずにとりあえず進めることが大切です。
基礎がある程度理解できたら、次はアウトプットです。最終的にサービスが作ることができる参考書を使い、実際にサービスを作りながら学習を進めましょう。
ここでも全て理解しようとせずに、数回繰り返し学習することが、効率良くプログラミングを習得するコツなんです!
先生を見つけて効率をあげる
どんな習い事でもそうですが、効率よく学習するためには「先生に教わる」ことが重要になります。英会話でも先生なしで学習するのはキツイですよね。プログラミング学習においても同じことが言えます。
自分で調べながらやるのも方法の1つではあるのですが、知識がある人に聞くことができてば、1日かかって調べていたものが10分もかからず解決する場合も多くあります。この時間の差で学習効率は大きく変わります。
でも、先生を見つけることが難易度高いよな・・・
このように感じる人もいるでしょう。
ですが、最近ではSNSでプログラミングの情報を発信している人も多いし、プログラミング学習のコミュニティーも多く存在するので、一昔前よりも先生を見つけやすい環境が整ってきています。
でも、「自分から積極的に行動することに抵抗がある」そんな方は、弊社で行っている「無料カウンセリング」へ参加してみましょう。
こちらの無料カウンセリングでは、なぜプログラミングを学ぶのかその目的を明確にして、あなたに合った学習プランの提案やその目的を達成する為に必要なプログラミング言語の選定などを行っています。
学ぶべきプログラミング言語や学習プランがあれば、最速でWebアプリ開発ができるイメージが湧くので、学習に対するモチベーションも上がります。
その他にも、プログラミングに関する悩みや学習の不安などを業界屈指のコンサルタントに相談することもできます。
無料カウンセリングの予約は下のカレンダーから申し込むことが可能です。オンラインでも受講可能ですので、気軽に相談してみましょう。