
プログラミングに向いた人っているの?
自分がプログラミングに向いてるかどうかが気になる・・・
そんな疑問にお答えします。
これまで100名以上のプログラミング学習のメンターをしてきて、どうしても
- プログラミング向きの方
- プログラミング学習で苦労する方
がいらっしゃいます。
この記事ではプログラミング学習で伸びる人の特徴を解説します。
プログラミング学習中の方、これから検討している方はぜひ自分が当てはまるか、確認してみてください!
伸びるプログラミング初学者の特徴7選
これまでたくさんの方のプログラミング学習を支援してきて気づいたことは、プログラミング学習で大きく伸びる人は以下の特徴があるということです。
- 目標の解像度が高い
- 楽しんでいる
- 時間をうまく作っている
- 学習方法を工夫をしている
- あとで楽するために今苦労する
- たくさん手をうごかしている
- 自分で考えてから質問できる
それぞれ解説していきます。
目標の解像度が高い
目標の解像度が高い方は伸びるのが早い傾向にあります。
目標の解像度が高い方はモチベーションが高いので、つまづいたときにもう一歩がんばれます。
「エンジニアになりたい」くらいの解像度の方は、自分がどのようになりたいかイメージできていないため、学習が停滞すると
「なんで頑張ってるんだっけ?」
と、続ける理由が分からなくなってしまいます。
一方で目標の解像度が高い人は、
「プログラミングを覚えて作業を自動化し、仕事の効率をあげたい」
「Webアプリケーションを作れるようになって、こんなサービスが作りたい」
のように、明確な目標を持ち、そうなった時の自分をイメージできています。
今できなくてもドンドンできるようになるのはワクワクしますよね!
多少つまづいても、乗り越えないとそんな自分になれないのでモチベーションが保てます。
続けることさえできれば、いずれちゃんと伸びる時がきます。
楽しんでいる
単純にプログラミングが「楽しい」と感じるかはとても大切な才能です。
- 普段見ているWebサイトの仕組みが分かって楽しい
- 難しくて分からないところが出てきてもそれが楽しい
- まだ何の役に立つか分からないけど実行したら答えが返ってきておもしろい
なんでもいいのですが、ワクワクする気持ちが大切です。
そんな気持ちが続けばモチベーション高く学習を続けられます。
好きこそものの上手なれというやつですね。
時間をうまく作っている
プログラミング学習には時間がかかります。
なかなか伸びない初学者の特徴として「絶対的に時間が足りていない」ということがよくあります。
とはいえ、社会人にしても学生にしても、「本業」があるのでなかなか時間がとれないという気持ちもよくわかります。
仕事や学校が終わって帰宅したらクタクタになって「明日からがんばる」という気持ちになっているかもしれません。
それでもある程度の時間が取れないと学習はどうしても進みません。
伸びる方は「何かをやめて、空いた時間を学習時間にあてる」という行動をする方が多いようです。
また、強制的に自分を学習に向かわせる工夫をしている方も多いです。
以下の記事で「作業興奮で自動的にやる気を引き出す」方法を解説しています。
学習方法を工夫をしている
伸びる方は「どうしたら理解できるか」を考えている人が多いです。
こういった考え方はとてもエンジニアっぽいと思います。
プログラミング学習は時間をかければ上達していくものです。
しかし間違った方法をとれば予想以上に時間がかかるのも現実です。
これまで見てきた中では
- 概念をひととおり一枚の紙に書いて関係を把握する
- 多少分からないところがあっても一旦進めてみて問題があれば戻って復習する
など、独自に工夫して学習している人は早く伸びる傾向にありました。
どんなやり方が良いかは人によります。
だからこそ、「自分はどういうふうにすればうまく学習ができるか」を模索する必要があります。
ただし、「きれいにノートにまとめる」というのはあまりおすすめしていません。
理由は以下の記事にまとめましたので参考まで・・・
>> プログラミング学習では「わからないこと」をメモしよう【高効率の勉強法】
あとで楽するために今苦労する
「めんどうだな」と思う作業を、「なにかいい方法がないかな」と考える人は伸びる傾向にあります。
たとえば、たくさんのコードからあるキーワードを探すとき時のことを考えます。
- 効率的な方法を考えない人は、毎回一行ずつ目で探します
- 工夫する人は検索する方法を調べ、探す時間を短縮します。
1度や2度であれば調べる時間だけ工夫したほうが時間がかかります。
しかし、この作業を何十回するとなるとかかる時間の差は歴然です。
最初に余計な時間を使ってでも全体の効率を上げる。
これはエンジニアの基本的な考え方でもありますので、その意味でも伸びやすいと言えます。
たくさん手をうごかしている
プログラミングは抽象的な概念が多いです。
抽象的な概念を理解できず挫折する人は後をたちません。
プログラミングが難しいとされる理由の一つです。
抽象的で難しい概念をどう理解していくのが効率的か。
それはひたすら具体的なコードを書いて実験をすることです。
ある概念に対して
「具体的にはこういうことかな」
と考えて実行すれば、
- 思ったとおりに動けば理解が正しい可能性が高い
- 間違っていれば理解が間違っている
ということが分かり、大きなフィードバックとなります。
これをたくさん試していけば、難しい概念もだんだん「こういうことかな」と分かり始めてきます。
- 伸びやすい人はこの実験をたくさんやります
- なかなか伸びないひとはこの実験を面倒がってやりません
これが後に大きな実力の差になってきます。
自分で考えてから質問できる
伸びる人は質問が上手です。
例えば何かエラーが起きた時、
- 伸びる人は色々調べて、色々考えて、どうしても分からないところだけ端的に質問します
- 伸びにくい人は、あまり調べず、あまり考えずにエラーが出たことだけを質問します
プログラミングというのは問題解決の連続です。
なにか問題があるたびに全てを聞いていると、この問題解決能力が育たず、プログラミング能力も向上しません。
しっかり調べたり、考えてから質問する人は、次は自分で解決できるようになります。
そうでない人は、何度も同じ問題でつまづくようになり、なかなか自分で解決できるようになりません。
自分でできるようになる人と、いつまでたっても自分でできない人。
どちらが伸びるかは一目瞭然ですよね。
まとめ
伸びる人の特徴を解説しました。
まとめると
- 目標の解像度が高い
- 楽しんでいる
- 時間をうまく作っている
- 学習方法を工夫をしている
- あとで楽するために今苦労する
- たくさん手をうごかしている
- 自分で考えてから質問できる
このような人が伸びやすい傾向にあります。
できてないな、という項目があったら是非改善してみましょう。
大変ですが一気に伸びますよ!
ただ、できていない人は自覚できていないということが多いのが現実です。
そのような場合は、エンジニアに見てもらうのが手っ取り早いところがあります。
知り合いにエンジニアがいない場合は、MENTA や ココナラ などでメンターを探すこともできますし、メンターがいるプログラミングスクールを検討するのもいいと思います。
ただしプログラミングスクールを検討する場合は以下の記事に書いたように注意点があるので是非あわせて読んでみてください!