どもども~、あべしんです!
プログラミングに興味を持ってる方、これからプログラミングを始めよう思ってる方、
このように考えたことはありませんか?
- センスや才能が無いとできなそう…
- 自分は根っからの文系だし向いてないんじゃ…
- 頭が良くて論理的思考が得意な人だけがやるイメージ…
要は「自分がプログラミングに向いているか、向いていないか」が気になっているということ。
今回は、この疑問を解消していこうと思います。
この記事を読むことで次のことがわかります。
- 向いている・向いていないの基準
- プログラミングに向いている人・向いていない人の特徴とその理由
※今回は、すでにプログラミング経験がある人は含めず、「未経験者がこれからプログラミングを勉強する場合」にフォーカスしてます。
何をもって向いている・向いていないとするか
僕が思う「向いている・向いていない」を判断する基準は、
学習を継続できるかどうか
です。
よく「プログラミングに向いている人の特徴」として挙げられるのが
- 論理的思考が得意
- 数字や英語に強い
- 想像力・発想力に長けている
などです。
もちろんこういった能力がある人はある程度有利かもしれませんが、
僕はそこまで重要なものではないと思っています。
なぜなら、これらのことはやっていくうちに自然と身に付くからです。
(僕も実際そうでした)
要は慣れの部分が大きいということです!
それよりも、いかに学習を継続できるかの方が重要です。
良い武器を持っていても継続できなきゃ向いているとは言えない
プログラミングは1週間や1ヶ月やったくらいで身に付くものではありません。
それなりの学習時間が必要です。
仮に、一般的に言われる「プログラミングに向いている人の特徴」の全てに当てはまる人がいたとします。
しかし始めて1週間で飽きてやめてしまったとしましょう。
この場合、その人は「プログラミングに向いている」と言えるでしょうか。
良い武器を持っていても、続かなかったら向いているとは言い難いですよね。
なので、スタート地点での能力を軸に向いているかどうかを決める必要はありません。
足りない部分は継続していくうちに十分補えます。
「継続した結果どうなったか」が一番重要です!
プログラミングに向いている人の特徴
向いている人の特徴は下記です。
- 調べ癖がついている
- 細かいことは抜きにしてとりあえずやってみる
- 問題・課題を解決することが好き
これらに当てはまる人は、自然と学習を継続できるので向いていると言えます。
プログラミングが得意な人をこれまで何人も見てきましたが、やはりみんなこの特徴に当てはまっています。
調べ癖がついている
プログラミングはとにかく調べることから始まります。
専門用語やルールなど、わからないものは即調べることが大事です。
なので、普段から自分の知らないことについて調べる癖がついている人は向いています。
中には「調べるのがめんどくさい!」という方もいますが、
そのタイプの人はまずプログラミングは続かないでしょう。。。
人に聞く前にまずは自分の手で調べること!
常に教えて君状態の人は自力で継続できません!
細かいことは抜きにしてとりあえずやってみる
「プログラミングはひたすら頭を使う」と思われがちですが、実際は手を動かすことの方が多いです。
(初心者は特に!)
もちろん自分で新しいことを考える場面もありますが、
大半は既に用意されたパーツを組み合わせて物を作ります。
なので、「とりあえずプログラムを書いて、どんな結果になるか見てみる」という行動量が大事です。
技術レベルが高い人は、間違いなくプログラムコードを書きまくってます。
逆に成長が遅い人ほど、変に悩みすぎて行動量が少ない傾向にあります!
上級者や現役エンジニアの場合は経験が豊富なので、なるべく無駄なくスムーズに開発するためにいろいろ考えてから動き始めます。
しかし、初心者の場合は悩んでも何が最適かなんてわかりません。
「四の五の言わずにまずはやってみる!話はそれからだ!」という人は向いてるし成長も早いでしょう。
問題・課題を解決することが好き
これは最も大事な要素といっても過言ではありません。
そもそもプログラミングは人間が楽をするため、
つまり問題・課題を解決するためにあるものですからね。
問題・課題を解決したいということは、言い換えれば「作りたいものが決まっている」ということです。
このように目的がはっきりとしている人は、自然とプログラミングも捗ります。
例として挙げると
- 仕事の事務作業を効率化したい
- 自分専用の家計簿を作りたい
- 複雑な計算を自動化するツールを作りたい
などなど。
プログラミングに向いていない人の特徴
向いていない人の特徴は下記です。
- 完璧主義
- 周りの情報や動向を意識しすぎる
- 学んでそれっきり
完璧主義
プログラミングは「上手くいかないこと」が当たり前の世界です。
なので、完璧主義の人は継続できずやめていく傾向にあります。
完璧主義の人がやってしまいがちなことの例は次の通りです。
- 綿密な学習計画を立てる
- 隅々まで理解してからプログラムを書く
- 1ヶ所の学習に時間をかけすぎて大まかなステップで進められない
- 1つでも上手くいかないことがあると断念してしまう
僕も始めたての頃は同じようなことをしてましたが、
まったく成長しないし面白くありませんでした 笑
もちろん仕事でプログラミングをする場合は、より完璧に近づける必要があるので完璧主義も大切です。
しかし、これから勉強を始める人がいきなり完璧さを追求してもデメリットしかありません。
- 成長速度が遅くなる
- 挫折しやすくなる
- 理解やイメージの幅が広がらない
最初は30点、40点くらいできたら次に進むくらいが丁度いいと思います。
雑でもいいから手を動かすことが重要です。
周りの情報や動向を意識しすぎる
これも「手を動かすこと」の話に通ずるものです。
プログラミングを始めてみたはいいが、
周りの情報や動向を意識しすぎて目の前のプログラミングに集中できていない…
という人はかなり多いです。
- SNSを見るとみんなレベル高いのに自分は…
- やっぱりこの人が言ってるやり方の方がいいのかな…?
- 自分もなんかのコミュニティに入るべきか…?
こうなってしまうと意識があちこちにそれて、プログラミングが捗りません。
本末転倒です。
今の学習が自分に合ってるかどうかも、続けてみないことにはわかりません!
一旦学習方針を決めたら、ある程度の期間はそれに集中しましょう。
学んでそれっきり
せっかく学んだのに、それ以降頭から完全に消え去った…
なんてことはよくあります。
しかしそれではいつまで経っても成長しません。
プログラミングに向いている人は、「学んで終わり」ということは絶対にしません。
学んだことを活かして何かを作り、ちゃんと形にして残します。
そもそもプログラミングはものを作るための手段ですからね!
いくら知識として学んでも、実際に使えなければ習得したことにはなりません。
最後に
自分は向いてそう!と感じた方、是非プログラミングを始めてみましょう。
ただ、先述したとおり、ある程度のスキルが身に付くまでは時間がかかります。
なので、「無駄なこと」をなるべく省いて学習することが重要です。
プログラミングの学習方法について下記の記事で詳しくまとめているので、こちらも参考にしてください。
【プログラミングの学習方法って結局どれがいいの?】→どの方法で学習するかは重要ではない
「OASYS Technologies Inc.」さんのYouTubeチャンネルで、当記事を紹介していただきました。
記事内容について、「現役エンジニア目線」と「プログラミング未経験者目線」でコメントをいただいてます!
こちらも要チェック!!
コメント