I am うるぞー

コードの書ける恋愛スペシャリスト

新卒フリーランスエンジニアの僕が考える、プログラミングに向いている人の5つの特徴

f:id:uruoikun:20161213215139j:plain

 
どうも、エモーショナルブロガーのうるぞーです。
 
 
僕は情報系の大学で、大学1年のときからプログラミングを勉強しています。
かれこれプログラミング歴4年になるわけですが、大学4年間プログラミングを学んだはずなのに全然書けない人が大勢います
 
 
彼らはきちんとプログラミングの授業を受けて課題もそれなりにやって、プログラマー育成学部のカリキュラムを受けているはずなのに、全然コードが書けません
 
また、最近プログラミングを教える機会も多くなってきて、すこしだけどRuby on Railsの個人レッスンもやらせていただいているのですが、教えている人の中でも伸びる人”と”離脱する人”の二極化が生じています。
 
 
これはなぜか、ずっと疑問でした。
 
 
このことを考えてみて、プログラミングに向いている人には『5つの特徴』があることに気づきました。
 
 

 

 

1. 論理的思考が得意 

 
プログラミングは論理的に考えることができないと、実際にコードを書くことができません。
 
プログラミング初心者にありがちですが、参考書を読んで出来るようになった気がして、いざプログラミングをしてみよう!となった時にコードが書けない…という悩み。
つまづく原因の9割は『どのようなコードを書けば自分がしたい動作ができるか』を考えることができないからです。
 
 
論理的思考というのは、例えば
 
  • 水の入ったペットボトル(A)とお茶の入ったペットボトル(B)があります。この時、AとBの中身をそれぞれ入れ替えたい場合、どうすれば良いか?
  • 0から100までの数字の中で、3で割り切れるものはFizz, 5で割り切れるものはBuzz, 3でも5でも割り切れるものはFizz Buzzと表示するためにはどうすれば良いか?
 
となった時に、それをどうやってコードに書けば良いかを考えられる力です。
 
 
「簡単じゃん!」とすぐにやり方を説明できる人もいれば、「うーん、なんとなくわかるけどなぁ…」と思考が止まってしまう人もいます。
 
 
ここで「簡単じゃん!」と思える人は、論理的思考が得意な人です
「うーん、なんとなくわかるけどなぁ...」という人は、論理的思考が苦手もしくは慣れていない人です。
 
 
「俺(私)って論理的思考得意かな?」と気になった方はこちらの記事からチェックしてみてください。
 
 

2. わからないところがあってもすぐに諦めない

 
プログラミングに向いている人は、わからないところがあってもすぐに諦めません。
 
僕もまだまだ技術的にわからないことの方が多いし、わからないものを全て理解して実装することはできません。
しかし、すぐに諦めないで必ず挑戦するようにしています。
 
僕のようなフリーランスで、しかも新卒でエンジニアをやっていると会社の上司や同僚などもいないので、成長するためには自分から壁の乗り越えていくしかありません
わからないところが出てきたら、Googleで調べてみたりプログラミングの本を開いてみたりして、解決方法を探す努力をします。
 
就職しているエンジニアでも、すぐにわからないところがあったからといって、上司や同僚に相談していたら「(少しは考えてから聞きに来いよ・・・)」と怪訝な目で見られることでしょう。
自分で解決できるようになる力はどこでも必要です。
 
 
中学・高校時代に「数学難しくてよくわかんな〜い」と、逃げた人がたくさんいましたが、それと同じ状況に陥ってしまうとプログラミングが苦痛で苦手で、嫌いなものになっていきます。
 
 
みんな初めはわからないことだらけなので、そこで諦めずに知識を吸収できる人はプログラミングに向いていますね
 
 
今だと質問したら答えを返してくれる、Yahoo!知恵袋のようなサービスもあります。
僕はいつも teratail にお世話になっています。
自分がつまづいたところは、過去につまづいた人がいる可能性が高いので、それを見つけられれば大抵解決できます。
もしなかったとしても、質問してすぐに返答が返ってくることが多いので、解決しやすいです。
 
 

3. 何がわからないのかを自分で理解できている

 
『何がわからないのかわからない』人は多いですが、プログラミングでその現象が起きてしまうと、なかなか先に進めません。
 
 
例えば、プログラミングを勉強している時に「ここがわからないんだけど、ここまでは理解できている」という状況が自分でわかっていれば的確な質問ができますし、相手も的確に教えることができます。
 
しかし、『全体的に理解できていない』状況で、『局所的にわかっていないところ』を解説したところで、結局は理解できません。
このことに気づけずに「俺プログラミング向いてねぇや・・・」と離脱する人が本当に多いです
 
 
プログラミングは関連して覚えなくてはならないことが多く、基礎が抜け落ちていると後々理解ができなくて手が進まないです。
英語で言うところの、『単語と文法わからないから長文読めない』、的な現象ですかね。
 
 
自分がどこまで理解していて、どこがわからないのか、自分のことがよくわかっている人はプログラミングを習得できています。
 
 

4. 一切の誘惑を断ち切り、プログラミングにのめり込める

 
これはプログラミングでもスポーツでもブログでもなんでも言えますが、『誘惑に負けずに』プログラミングにのめり込める人はプログラミングに向いています。
 
「昔から一つのことにハマっちゃうと、かなり熱中しちゃうんだよね」と言っていた友達がプログラミングに目覚めたとき、凄まじいスピードで技術力が上がっていったのにはビックリしました。
今では彼は優秀なエンジニアで、大手企業のエンジニアとして内定をもらっています。
 
プログラミングは継続して続けないと習得できないので、のめり込んで一日中プログラムのことを考えられるようになったら、プログラミングの習得は時間の問題です。
 
僕が異常なのかもしれませんが、日常生活でプログラム制御されているものは「どういった処理で動いているんだろうか、自分ならどう実装するか」を無意識に考えてしまうようになりました
 
 
日常的に論理的思考を磨き、それをコードに落とす方法を考えていれば、おのずとプログラミングができるようになります。
 
 

5. 明確な目標を持っている

 
個人的にはこれが一番大事だと思っています
 
僕はかれこれプログラミング初心者に100人以上あっています。
 
しかし、
「エンジニアって単価高いし、これからの時代必要そうだし、就活にも有利になりそうだから、勉強はじめました!」
と言っていた人で、プログラミングを習得した人はほとんどいません。
 
むしろ一人もいないかもしれません。
 
僕の周りでプログラミングできるようになった人は
  • 起業をするために勉強している(起業のモチベーションが削がれて挫折する人も多し)
  • 自分で作りたいサービスがある(習得している人多し)
  • もう後がないので、やるしかない(ほぼみんな習得してる)
  • プログラミングしてるだけで幸せ!(全員習得)
といった具合でしたね。
 
僕の場合は、プロフィールにも書きましたが、起業した時にエンジニアが必要で、だけど金がないから自分でやらなきゃサービスが動き出さない状況で、やるしかなかったので明確でブレることはありませんでした。
 
 
軽い気持ちで流行りに乗って、プログラミングを習得しようとするとたいてい挫折します。
そんな甘いものじゃありません。
そこを乗り越えられる人が少ないから、慢性的なエンジニア不足なのです。
 
 
明確な目標を持って努力できる人はプログラミングに向いています。
 
 

自分はプログラミングに向いている!と思った人にオススメする完全無料のプログラミングスクール

 
自分はプログラミングに向いていそうだぞ・・・!と思った方にオススメなのは、完全無料のプログラミングスクールです。
 

f:id:uruoikun:20161215225802p:plain

 
>完全無料のProEngineerを見てみる
 
 
 
プログラミングを勉強したいけど独学はきついし、かといって高額なお金を払ってスクールに行く余裕もない・・・
という人にオススメです!
 
詳しくはProEngineer を見てもらうか、下の記事で詳細を書いているので見てくださいね!
完全無料で質が高いスクールはここしかないので、通わないのは損です!
 
 

まとめ

 
  • 論理的思考が得意
  • わからないところがあってもすぐに諦めない
  • 何がわからないのかを自分で理解できている
  • 一切の誘惑を断ち切り、プログラミングにのめり込める
  • 明確な目標を持っている
 
 
この5つは特別難しいことではありませんが、
もしこれからあなたがプログラミングを本気で学びたいのであれば、まずは明確な目標をもつところから始めてみてください。
 
そうすれば、残り4つも自然とついてきて、きっとプログラミングが好きになっています。