これからプログラミングを覚え始める人へ
プログラミングを覚え始めようと思い切る人が増えてきていますね。
日本はIT後進国とも言われ、先進国よりも技術が3年遅れていると言われています。
ITリテラシーの高い人材が増えるのはいいことですが、 楽天的にプログラミングに挑戦して挫折して結局やらなくなる人が増えて、 それがプログラミング未経験者にも伝わってプログラミングは難しというのが広がると 結果的にIT系の人材が増えにくくなる危険性もはらんでいます。
今回はプログラミングを始めようとしている人に覚えておいてほしいことをお伝えします。
恐らく7割ぐらいの人は間違ったプログラミングの学び方をしているんですよね。
というのも、私は偏差値的には40もないレベルの高卒のおばかさんなのですが 私でもプログラミングを元に仕事をして稼げているのに、 偏差値50以上の人がすぐ挫折してしまうのは覚え方に問題があるからです。
言ってしまえばプログラミングを覚えるのに偏差値的な考え方は通用しないとも言えます。
覚え方さえ知ってしまえば中卒だろうが高卒だろうが大卒だろうが、 プログラミングは誰でも覚えられます。
もちろん、高度なことをするにはそれなりの知識も必要になってくるので 高みを目指すのであればやはり頭のいい人の方が有利とも言えます。
しかしプログラミングで食べていくということはそんなに頭の良さは必要ありません。
では長くなりましたが、プログラミングの間違った覚え方から正しい覚え方を解説します。
間違ったプログラミングの学習方法 {{id="post-head-01"}}
恐らく最近多いと思われるのが
- プログラミングを覚えて他業種からITエンジニアに転職するため
- 何もやってこなかったから就職するために覚えるため
- 未経験から会社を辞めてフリーランスエンジニアになるため
この3つではないでしょうか?
当てはまった人は要注意です。
では、なぜこの考え方が間違ったプログラミング学習につながるのかを見てみましょう。
ダメな原因:目的が曖昧すぎる
上記3つのリストに共通するのは
「何もない状態からIT業界に行こうとしている」
ということです。
恐らく大体の人はWeb系のIT業界を目指し始めると思います。
しかしIT業界は幅が広く、Web系と絞ってもかなり幅が広く、 同じIT業界でも畑違いという状況が起こったりもします。
そしてプログラミングから遠い業種ほど、この考え方でプログラミングを覚えようとすると失敗します。
なぜなら、「プログラミング学習そのものは正直何も面白くない」からです。
面白くないものっていうのは基本的に続かないように人間は作られています。
例外として、本当にお金がなくてコレ失敗するとヤバいっていう状況の人は 意外と伸びていく可能性が高いですが、そうじゃない人はほぼ100%挫折します。
プログラミングは手段であって目的にしてはいけないということになります。
正しいプログラミングの学習方法 {{id="post-head-02"}}
では、正しいプログラミングの覚え方とはなんなのでしょうか?
それは、「目的を明確にすること」です。
具体的に言うと「やりたいことをプログラミングで実現するため」ですね。
ダメな原因でも述べたとおり目的が曖昧だと結局基本的なプログラミングを覚えても
「何をすればいいんだろう」ってなってしまうため次に何を勉強したらいいのかわからなくなります。
プログラミング学習における目的の作り方
いきなり難しい物を作ろうとすると100%挫折します。
ですが、簡単すぎるものを作ってもスキルアップした感じがまったくしないためモチベーションがあがりません。
そこで「難しいものを作る」という目的を最終目的にして、 「難しいものを作るために簡単なものをたくさん作る」ということをやることをおすすめします。
具体的にいうと、例えば「TwitterのようなSNSを作りたい」という大きな目標を1つ作ります。
その後、「Twitterってどんな機能があるのか」に着目してみます。
Twitterにはたくさんの機能があるのですが、全て実装する必要はないので ここは一旦普通の人がよく使う機能に絞ってみてみましょう。
- ログイン・ログアウト・サインアップ機能(会員登録機能)
- 文字を打ち込める機能
- 打ち込んだ文字をサーバーに送信する
- サーバーに保存された文字を表示する
- 他人にリプライする
- リプライの通知を表示する
- 画像を投稿して表示する
- フォロー機能を追加する
と、少なくてもこんな感じに機能を洗い出せます。
これら1つに絞っても、細分化できますね。
こんな感じに大目標を分解して中目標・少目標と分解していくことで 目的が明確になってどんどんステップアップすることができます。
この勉強方法のメリットは、実は面接の時にめちゃくちゃ有利なんです。
プログラミングスクールに通って就職するより、 独学でこの方法で学んでから就職するほうが有利です。
モチベーションの保ち方 {{id="post-head-03"}}
少し話は反れますが、どんな勉強をしていてもモチベーションって下がってきますよね。
モチベーションをいかに下げないかというのがとても重要になってきます。
実はモチベーションをあげるという方法は存在しないんですよ。
あのイチローもモチベーションを上げる方法ではなく下げない方法を主軸に語っています。
天才と努力をどちらも有効活用しているプロ中のプロであるイチローが、 モチベーションを上げる方法を語らないというのはそういうことなんですよね。
これはモチベーションアップ方法が存在しないというよりも、 その人によって有効かそうじゃないかということなので
もちろん、自分なりのモチベーションアップ方法があるのであればそれを活用するべきです。
モチベーションには波があります。
モチベーションは人間の感情と密接な関係があるからです。
なのでモチベーションを上げる方法を探すより、下げない方法を身に付けて モチベーションを維持するのがモチベーションの保ち方になります。
私なりのモチベーションの保ち方としては、 1つのことをずっとやるのではなくていろんなことをやるべきだなと思います。
色々手を出すと中途半端になってどれもだめになりそうですが、 一番やりたいことに密接することをやればいいわけです。
例えば極端な例になりますが、先ほどのSNSを作るのに疲れたら ゲームを作るというプログラミングをすればプログラミング自体のスキルもあがりますし、 ゲームを作るときに身に着けたプログラミングスキルがSNS作りに役立ったりもします。
逆に完全に離れてプログラミングとは全く正反対のことをやってみてもいいかもしれません。
私の場合はコーディング作業に疲れたらイラストを描くようにしています。
そしてイラストを書き疲れたらプログラミングに戻るといった感じですね。
プログラミングスクールに通う前に考えよう {{id="post-head-04"}}
最後に、何もわからないからと多額なお金を払ってプログラミングスクールに通う人が多いです。
言ってしまえば8割ぐらいのスクールは情弱を搾取してお金を稼いでいます。
というのも、人が少ないときはよかったのですが利用する人が増えてきて いわゆる「使えないITエンジニア」が量産されてきているからです。
面接時にポートフォリオを見せようものなら、みんな同じようなポートフォリオを持ってくるので 面接官は「あぁ、またあのスクールからきたのか」って思われて即お祈りメールの対象になります。
プログラミングスクールに通うこと自体は別に問題はないのですが、 大抵の人が「お金を払ったらIT業界に必ず就職できる」と勘違いしているからですね。
今回紹介した「プログラミング学習における目的の作り方」でも言ったように、 目的を細分化して少目標をたくさんつくり、大目標を達成するような勉強をしていることを伝えたり その結果をポートフォリオとして見せれば有象無象のプログラミングスクール卒業生から頭一つ出て採用されやすくなります。
お金が余っているならいいですが、お金がないのにプログラミングスクールに通うのももったいないです。
プログラミングスクールで覚えられるのはせいぜい5000円以内で買える書籍の範囲です。
わからないところを聞くことができるというのは確かにメリットではありますが、 それはプログライミングスクールではなくてツイッターで現役のエンジニアの知り合いを作って その人にその都度お金を払って教えてもらったほうが良いかなと思います。
いい人であれば無償で教えてくれたりもします。
オススメとしてはフリーランスのエンジニアの人でしょうか。
私もお金を貰えば基本的にはマンツーマンで教えていくこともできます。
ですが基本的に自分で覚える気のない人はお金をもらっても教えたくはないと思うので そのへんの気持はしっかりと持って行動してください。
そういうことを考えるのが面倒だからプログラミングスクールへ行くんだって人は そもそも自主性がゼロな人なのでIT業界に就職は難しいと思ったほうが良いでしょう。