【考察】旧帝大情報学部生が考えるプログラミングに向いている人
今日は、タイトルにもある通り「プログラミングに向いている人」について考えていきたいと思います。
前提として、私はまったくプログラミングが得意ではありませんし、正直好きでもありません。ですが、
・学部の必修科目にプログラミングの授業が含まれていたこと
・自分のやりたい研究で統計解析を使うため、プログラミングが避けては通れないこと
といった理由から他の文系学部生などと比べるとプログラミングに触れる時間が多いかと思います。僕自身の経験や周囲のプログラミングが好きな人、そうではない人などから見える傾向について書きます。あくまで個人的な見解です。
このNoteは進路に悩む高校生や、プログラミング学習を始めようとする学生や社会人の方を想定して書いています。
プログラミング学習に向いている人➀結果をすぐに求めない人
結果をすぐに求めないこと。これはプログラミング学習をするにあたってとても重要な要素だと思います。筋トレや英語学習は、成果が目に見えて現れます(例:ベンチプレスの重量、TOEICの点数)し、日々成長しているのが割と感じやすいと思います(例:筋肉痛、単語帳の進み具合)
しかし、プログラミングは常にエラーとの闘い。自分が成長しているかどうかよりもまずは目の前のエラーを倒さなければいけない。そのためにはもしかしたら何時間も何日もかかるかもしれない。そんな日々が毎日にように続くことを想定すると、結果をすぐに求める人には厳しいものがあるかもしれません(僕はこのパターンで無理でした。)
相関関係があると思うもの:農業、モノ作り
プログラミング学習に向いている人②効率を追求できる人
プログラミングが出来ることの最大のメリットは、無駄なルーティンワークを自動化できるという点だと個人的には思います。人によって、時間がかかるルーティンワークは違い、それに見合うアプリやソフトがあればよいのですがそうとも限りません。そんな時にプログラムをかける人であれば、自分でソフトウェアを作ることが出来てしまうのです。
日々の日常生活で非効率を感じると解決せずにはいられない人。解決策をひたすら考えることが出来る人にとってプログラミングが出来ることは最大の武器になると思います。こういった人が持つ思考力から生まれるアイデアとプログラミングスキルの掛け合わせは最大のシナジーを生むのではないでしょうか。
相関関係があると思うもの:コンサルタント、起業家
プログラミング学習に向いている人③パソコンへの苦手意識がなく、何かを作るのが好きな人
何かを作ることが好きな人。料理をするのが好きな人もここに含まれるかなと思います。よく言うアルゴリズムとは料理でいう作り方の手順。味噌汁を作るのにも手順があるように、プログラムを書くのにも手順があります。料理に限らず、モノ作り全般に言えるのではないでしょうか。大枠としての手順があって、細かく見るといろいろな手法がある。(料理で言うと、切って、火を通すという手順でも切り方は様々。)
このようにモノ作りをするのが好きな人にもプログラミングは向いているのかなと思います。ただし残念ながら、コンピューターへのアレルギーがある人はここからは漏れてしまうと思います。プログラミングなどは、出来なければ生きていけないというレベルのものではないので、料理や生活必需品のメーカーなどとは少し次元が違うものになってしまうからです。
相関関係があると思うもの:料理
プログラミング未経験者はプログラミング上級者になれるのか
答えはもちろんイエス。上記のような性格的特性を持つ人は比較的すんなりと学んでいけるのではないかと周りを見ていても思います。また、上級者とは言えなくてもプログラミングの素養を学んでいる人でアイデア力がある人などはIT業界でもとITコンサルタントと呼ばれる職種につくことによって能力を最大限活かせるのではないかと思います。
最後に
情報学部を目指したいという方。プログラミングを始めたいという方に最後に聞きたいのが「なぜプログラミングなのか」なんとなくブームだからとか転職に有利そうだからといった理由だと学習がつらくなってしまうかなと思います。自分の特性によく合ったものを始めるのがストレスにもなりにくいし、成長する速度も速いのかなと思います。
例えば僕の場合はプログラミングはからっきしダメですが英語学習はとても順調にいっています。もうしかしたらそれは、医療かもしれない。建築なのかもしれない。教育なのかもしれない。そこにフォーカスしてみるのも得策かもしれません。