プログラミングを学習中、いつまで経ってもできるようになる気がしないと、
やっぱり自分には向いてないのかな。
と、感じてしまいますよね。
しかし、それですぐに諦めてしまうのは非常にもったいないです。
やめる前にこれだけは知っておいてもらいたい事が6つあるので紹介していきます!
関連記事です↓
①プログラミングは簡単に習得できるものではない
まず大前提として、
プログラミングは簡単には習得できない。
という事です。
よくあるスクールの広告や参考書の表紙などを見ると、
- 未経験から〇ヶ月後にエンジニアに!
- 知識0からアプリ開発ができるようになる!
- ゼロから完全理解!
みたいなの多くないですか?
え、この教材を使うとそんな簡単にできるようになるの?
という気がしますよね。
でも普通、本一冊で「完全理解」なんてできませんよ。笑
さらに、重要なのは最初から「完全理解」を目指す必要はないという事です。
プログラミングのイメージというと、
- 頭の良い人(理系の人)が得意
- 特殊な知識や才能が必要
- PCに関する深い知識が必要不可欠
みたいな感じですよね。
実はこれ、間違ってはいないです。
プログラミングはイメージ通り、ロジカルシンキングができる理系の人に有利なものです。
しかし、日本人がエンジニアとして働く上でこれらの特徴が必要か?
と言われると別に要らないですよ。
まずは慣れよう
今勉強しているプログラミングというものは、
普段あまりしない考え方や知識が必要になるので、難しく感じて当たり前です。
実はこれ、そのうち慣れます。笑
システム開発の専門家になるわけではないなら、「慣れること」ほとんどのことはカバーできます。
どのくらい時間がかかるかは人によりますが、半年以内を目安にすると良いかと思います。
半年後も変わらず「全くできない、わけわかんない」という状態であれば、
勉強の仕方を見直してみる必要があると思います。
<まず必要なこと>
- 慣れる
- 慣れるためには時間が必要 → 継続する
- 「暗記」より「考える・疑問を持つ」という点に力を使う
②ほとんどの人が諦めている
最近はプログラミングを勉強し始める人が非常に多くなりましたね。
中学生〜60代の方まで、年齢も目的もかなり幅広いです。
じゃあ、今からプログラミング始めるのってもう遅くない?
というと、遅くないです。
実際はほとんどの人が挫折をして、すぐに諦めています。
それも正しい方法で学ぶことができれば、
2ヶ月もあれば簡単なアプリを自作できるくらいにはなれます。
挫折しやすい人の特徴
これについては3点あります。
どれか一つでも当てはまったら要注意ですよ!
- 考えていない人
- 自分で調べることをしない人
- 最初から完璧を目指している人
詳しく見ていきましょう。
「考えていない人」の特徴
- 参考書を写しているだけ
- コードを書いて、なぜ動いたのか理解していない
- コードを書きながら、自分で何がしたいのか目的がわかっていない
このように、とにかく受け身の姿勢なので、勉強も「ただやっているだけ」になってしまいます。
これだと、どれだけ時間をかけても理解できるようにはなりません。
「自分で調べることをしない人」について
これは致命的です…。
もしやっていなければ、絶対にやってください。
これをやらないと断言します。
プログラミングはできるようになりません。
ここまで断言するのは初めてですが、調べることが大事という内容については、
新人エンジニアに求められる意外な3つのスキル でも話しています。
「最初から完璧を目指している人」について
これは先ほども少し触れましたが、
最初から完璧に理解するのは無理というのとそこまでやる必要はありません。
完璧を目指しすぎると、よくないことが結構あります。
デメリット
・エラーを対処する機会が少なくなる
・学習速度が落ちる
・結局よくわからないという事になる
エラーを対処する機会については、
プログラミング学習でやってはいけない勉強法4選!
という記事でエラーを出した方が良い理由を書いてあります。
まとめると、プログラミングを始める人は増えているが挫折して諦める人がほとんどです。
正しい方法(自分に合った方法)で学び、継続することができれば、
周りの人たちは自動的に諦めてくれるので優位に立つことができます。
諦めたらそこで終わり。
諦めなければ負けることはありません。
普通のこと言ってますが、やっぱりまずは諦めないことが大切です!
③プログラミングに向いている人はほとんどいない?
これについては、実際のところ半分もいないと思います。
つまり、ほとんどの方が別にプログラミングに向いているわけではない。
ということですね。(私も含めて)
これはしょうがないことですが、絶望する必要は無いですよ。
だって、向いてなくてもプログラミングを書けるようにはなります。
そのため、
プログラミングが向いているか向いていないかは別にどうでも良いと思います。
向いている人の特徴
・ものづくりが好き
・コードを書くのが好き、プログラミングが好き
・日常的に論理的な考えをしている人
一応、向いている人の特徴を挙げてみましたが、
結構その人の性格が関係しているので、頭が良い悪いはそんなに関係ないと思います。
(頭が良いレベルを超えて、天才の領域にまできている人は別ですが…)
④それでもセンスのある人には勝てない!
プログラミングは努力である程度のところまでは到達できます。
それも業務をする上では、そんなに困らないはずです。
しかし、残念ながら「センスがある人」には努力だけではどうしても及ばないと思った方が良いです。
自分が1日かけて作れることも、できる人がやったら1時間くらいで完成させてしまうなんて事も普通にあります。
⑤センスが無いとプログラミングは無駄?
これはというと、全くそんなことはありません。
もし、プログラミングスキル一本で勝負しようとするとかなり険しい道になります。
その場合はセンスが必要です。しかも全くお勧めしないです。
理由
・自分よりも少しでもスキルが高い人が現れた瞬間、仕事を取られる
・上には上がいる世界なので、その中で1番になるのはほぼ無理
・コードを書かなくてもアプリが構築できるシステムが増えてきている
⑥プログラミングと別のスキルを掛け合わせると良い!
プログラミング一本で勝負するのはかなり難しいですが、何かのスキルと掛け合わせると他の人と差別化を測ることができます。
- プログラミング × 営業
- プログラミング × コンサル
- プログラミング × 教える
- プログラミング × マーケティング
- プログラミング × ブログ
- プログラミング × 英語 × 経営
などですね。
実際にエンジニアの現場で私がよく耳にしたのは、
「システムのこともわかる営業」はすごく重宝される
ということです。
確かに、いちいちエンジニアに確認するために話を持ち帰る必要がなくなりますよね。
さらに開発部と営業部の間で連携が取れないなんて事も無くなります。
まとめ
多くの方は、
プログラミングはあくまで何か目的を達成するための手段であって、プログラミングを習得することが目的では無いはずです。
今、プログラミングを勉強している目的は何でしょうか?
- エンジニアになるため → だからプログラミングを勉強している
- 副業で稼ぐため → だからプログラミングを勉強している
色々あると思いますが、
何か目的があってそのための手段としてプログラミングを使う
としておいた方が、挫折しにくくなるかと思います!
- 大前提として、プログラミングは簡単には習得できないもの
- 「慣れ」が重要 → そのためには諦めずに継続すること
- ほとんどの人が挫折しているので、諦めさえしなければ他の人より優位に立てる
- 「考えていない人、調べない人、完璧を目指している人」は要注意
- システムのこともわかる営業は重宝される
- 「プログラミング × 〇〇」というようにスキルを掛け合わせると強い