初心者がプログラミング言語を独学すると9割が挫折すると言われています。
これまで「誰でもプログラマーになれる」と書いてきました。
ウソではないけれど、初心者が挫折知らずで習得できるほどプログラミングは簡単ではありません。
簡単ではないプログラミングをどうやって習得するか
それは小さな成功体験を積み重ねることです。
つまり喜び!
ものづくりの楽しさを実感しながら学習することです。
これがなければ早々と心が折れる音が聞こえてくるでしょう。
いいえ、それは学習するプログラミング言語によります。
最終的には自分で好きなプログラミング言語を選択すると思いますが、初心者がはじめて学習するなら簡単なプログラミング言語を選ばないと「全然わかんねー。俺には向いてない」なんてオチになりかねない。
はじめて学ぶプログラミング言語は実用性や人気のものではなく、やさしい簡単な言語で学ぶことをおすすめします。
なんでプログラミング学習で挫折するのか
挫折する理由①:環境構築が難しい
プログラミングをはじめる前にやらなければならないのが環境構築。
これが初心者にはハードルが高い。
ツールや専用ソフトをインストールするのね、オッケー。⇒え?32bit版と64bit版ってなに?俺のパソコンどっちなの?⇒パスを通す?⇒ってか英語ページばかりで読めねぇ(パニック)
環境構築はモチベがだだ下がりになる罠がてんこ盛り。
しかもやっとの思いで整えてもスタートラインに立っただけ。
まだ本編に入ってません。
初心者にとって環境構築はそれくらい大変な作業です。
挫折する理由②:とにかくわからない言葉や概念がたくさん出てくる
聞いたことのない専門用語やら概念がたくさん出てきて全然頭に入ってこない。
本当に日本語で説明してる?ってくらい理解できません。
アルゴリズム?
リテラル?
オブジェクト指向?
頭の中はハテナマークでいっぱいです。
私もjavaの学習でつまづきました。javaの説明でよくあるのが「車を作ってみましょう」ってやつ。
教本の通りcarクラスを作ったら「では車を作ってみましょう」って例題があってさ、読み進めて答えを見るとこれ。
Car car = New Car();
は?(; ̄Д ̄)
なぞ~、これで車が作れたとかなぞ~。
スルッと理解できるのは一部の天才だけではないでしょうか。
挫折する理由③:覚えた基礎がどう使われるかわからない
プログラミングして何を作りたいか
初心者の方はおそらくwebアプリとかソフトとか、目に見えて動くものをイメージしていると思います。
でも基礎で習うのは
- “HELLO WORLD”と表示する
- ループ(繰り返し)文で1~10まで表示してみる
とかです。
これがいったいなんの役に立つというのか・・・
苦労して覚えたループ文で1~10まで表示させたからってなに?って思いますよね。なかなか結びつかない。むしろイメージできたら天才です。
面白くもなんともない・・・と感じてしまったら危険信号です。
独学なら挫折しないプログラミング言語を選べ
挫折する理由を大きく3つ上げました。
- 環境構築が難しい
- 概念が難しくて理解できない
- 覚えた基礎とソフトの繋がりが見えない
確かにこれだけ見ると情熱がシュッとなくなる。
でも待って!!
これらの反対の条件が揃ってればどう?
- 簡単に環境構築ができる
- 難しい概念を理解しなくて良い
- 組んだプログラミングの成果が目に見えてわかる
んな夢のようなプログラミング言語だったらなんとかなる気がしてきませんか?
そう思うでしょ?
あるんだな、これが。
それはExcelマクロ。
Excelマクロと言っても侮ってはいけません。
変数、定数、ループ、分岐、配列などなどプログラミングの基礎は十分学べます。
ハッキリ言ってプログラミングなんてこれらの組み合わせですよ。
ここにデータの取り扱いが加わわるくらいです。
Excelマクロなんて実践的じゃないと思いますか?
とんでもない!
現場でバンバン使いますよ。
確かに履歴書に書くにはアピール力が弱いスキルです。
けれどマクロを使う現場は多いですし、なにより入りやすい。
わざわざ難しい言語を選択して挫折するより、まずは地味でもやさしくて頭に入りやすい言語から入る方が身に付きますよ。
しかも実践的だし。
- Excelが入ってればいい(環境構築なし)
- 処理の流れ(基礎)を学べる
- 書けばすぐ成果が見られる
- 実践でも使える
プログラミング入門にはピッタリのオイシイ言語です。
私もSEになったきっかけはExcelマクロでした。
(関連記事:事務員の私がプログラミングに興味を持ったきっかけ⇒転職してSEになりました)
ただし、Excelマクロは単なるとっかかりです。
まずはプログラミングの楽しさを知ってもらうために、初心者でも入りやすい言語を紹介しました。
転職レベルのスキルとなると、Excelマクロだけでは武器としてちょっと弱いですね。
本格的なプログラミング学習はスクールがおすすめ
転職するには、やはりjavaやPHPなどの言語を習得する必要があります。
これらは初心者にとっては非常にハードルが高い。
習得できたとしてもかなりの時間を費やすと思います。
本格的な学習でスクールをすすめる理由は以下の3点。
- 聞ける人がいる
- 適切なカリキュラム
- 強制的に手を動かす
このメリット3点とデメリットについて解説します。
スクールのメリット①:聞ける人がいる
聞ける人がそばにいる。これが一番大きなメリットです。
しかも優しく丁寧にわかるまで教えてくれます。
だってこっちはお金を払った客だからね。
会社の研修やらOJT(仕事の片手間)で教えてもらうのと、その道のプロが教えてくれるのでは全然違います。
仕事している先輩に何度も同じこと聞けますか?
個人的にはOJTで習得なんて土台無理な話だと思ってます。
そして、プログラミングは時間をかければ解決するものではありません。
どんなに考えても、たとえgoogle先生に聞いても解決しないものはしない。
ただ時間が過ぎていくだけです。
- わからないことはその場ですぐ聞けて
- しかも明確な答えを的確に何度でも教えてくれる
これは大きなメリットです。
スクールのメリット②:適切なカリキュラム
カリキュラムが決まっていて計画的・効率的に学習を進めることができます。
自分で計画を立てなくても、学習に最適化されたカリキュラムを用意してくれます。
あとはそれに従えばいいだけ。
言われた通り素直に進めるだけで、無駄なく学ぶことができます。
スクールのメリット③:強制的に手を動かす
プログラミングは考えるより手を動かして習得するもの。
あれこれ頭の中で考えるだけでは身に付きません。
とにかく手を動かしてわからないなりに書いて慣れることです。
スクールへ行けばイヤでも手を動かすことになる。
半強制的な環境はプログラミングを学ぶのにもってこいです。
スクールのデメリット:お金がかかる
スクールのデメリットはこれだけ、お金がかかる。
逆に言えばお金がかかる以外のデメリットが見つけられません。
学ぶってことはお金がかかるものなんです。
プログラミングに係わらず、何かを身につけるには代償として「時間」と「労力」を払うことになる。
スクールに行けばお金はかかるけど効率的に学べるから、時間も労力も独学より節約できます。
気持ちは痛いほどわかります。
けれど、成功者ほど自己投資してステップアップしていくのも事実です。
ライザップもモニターより自分のお金で入会した人の方が、減量に成功しています。
▼まずは無料体験から始めたい方
まとめ
独学で9割の人が挫折すると言われているプログラミングですが、まずはプログラミングの楽しさを実感してください。
それなくして身につけることは困難です。
楽しさを実感するには1行でも2行もソースを書いて実際に動かしてみること。
- 好き、楽しいと実感する
- 簡単な処理から入ってちょっとずつスキルを身に付ける
- プロに教わる
独学でいきなり難しい言語から入っても挫折する確立が上がるだけ。
やるなら簡単で覚えやすい言語から入ってください。
そして本格的なスキルの習得はスクールでプロに教わってください。
そうすることで躓くことなく効率的に習得できます。それに、転職してからのプレッシャーがかなり変わってきます。
就職するのがゴールではありません。
スキルを身に付けないまま運良く就職できても、仕事を進められなければやっぱり挫折して去ることになってしまいます。
自分が作ったプログラムで画面が動いた瞬間はテンション上がりますよ。
環境構築で躓いて諦めるなんてもったいない。
プログラミングの理想は「簡単な処理の組み合わせで難しい処理を実現すること」です。
簡単な処理を少しずつ覚え、焦らず慣れていってくださいね。