向いてないのに頑張ったら勉強が無駄になっちゃうんじゃないの?
こんな疑問にお答えします。
本記事の内容
本記事の信頼性
僕自身「お金を払えば誰でも入学できる」
↑のような情報処理系の専門学校が最終学歴で在学中は全くプログラミングを習得できませんでしたが
現在は多数の言語で実務経験があるIT業界歴 20年の現役のプログラマーです。
そして仕事柄、何人もの部下、後輩に指導経験がありますし何百人ものプログラマーを見てきました。
結論をいうと
「向き不向きはあるが、気にするほどではない」というのが僕の考えです。
なぜこのように考えるに至ったか。
具体的な内容をここから書いて行きます。
こんな人はプログラミングに不向き?
理数系が苦手
パソコンや、プログラミングに元々興味を持っている人は理数系の人の方が多い感じはありますが文系出身のプログラマーは山ほどいますし理数系の専門知識がなければ出来ない必要な仕事など、一般的なプログラマーには無縁です。
なので ほぼ無関係と言っていいです。
パソコンが苦手
プログラミングはパソコンを使って行うものなのでここが苦手だと、ちょっと不利かもしれません。
しかしプログラマーでも「仕事で毎日触っているから帰ってまで使いたくない。」といった理由などで、あまりパソコンに興味がない人、パソコンが好きではない人。は結構います。
プログラマーと言っても大多数はサラリーマンなので「仕事は好きではないが給料のために働く」というだけです。
「不向き」と言われたら不向きかも知れませんが、「ガマンできないほどイヤ」でなく他にやりたいこともなく、収入を得るために他業種に比べたらマシ。ならば それほど気にする問題ではないです。
論理的思考が苦手
ロジカルシンキングというやつです。
そもそもパソコン自体が「ロジカルの塊」なのでここが苦手だとプログラミングは難しいです。
ただし この思考は「社会人に必須」とも言われています。
そして、この思考は鍛えることが出来るので、今のあなたが論理的思考力が弱かったとしても今後の努力次第で十分巻き返し可能です。
プログラミングを学んでいく過程である程度は自然と身についてくるので、「今、論理的思考が苦手」だとしても ここが「向き不向き」に影響するかどうかは一概にはいえないですし、ここが苦手だからプログラマーになれないということもないです。
コミュニケーションが苦手
もう散々 色々な場所でも書かれていますがプログラマーを職業にするなら、「コミュニケーション能力は絶対に必要です」
作業の大多数はパソコンと向き合う時間ですがわからない部分を教えてもらう。とかお客さんがどんなプログラムを欲しているのか。とかコミュニケーションが必要な場面が沢山あります。
しかし、社会人として仕事をするならば どんな仕事であれ ある程度のコミュニケーションは避けて通れません。
- 最低限、社会人としてのコミュニケーション
- しっかり挨拶する。
- 助けてもらったらお礼をする。
- 嘘をつかない。
↑のようなことを実践できれば 他業種に比べてコミュニケーション能力が低くても業務は可能でしょう。
僕自身、かなり色々な現場で、「コミュニケーションに難あり」な方を見てきました。
コミュニケーションが苦手な方の方が仕事の成果が低い傾向にあるのは間違いないですが、「コミュニケーションに難あり」な方々と沢山の現場で遭遇しているので、他業種に比べたら比較的苦手でもやっていける業種です。
そして多少コミュニケーションが弱くてももしも あなたに高度なスキルがあったらカバーできます。
人材不足ですしね。
勉強が苦手
「プログラマーは一生勉強だ」とよく言われます。
僕も最初の会社の面接で言われました。
確かに新しいものが次々と出てくる業界なので、新技術をどんどん勉強できたら最高です。
しかし、コミュニケーションの部分でも触れましたがこの業界は 人材不足 なのです。
全然勉強してないプログラマーの方が勉強熱心なプログラマーよりはるかに多いです。
もちろん勉強している人の方が、勉強していない人より給料は多くなる傾向は当然ありますが、学生時代に勉強が苦手だったらプログラミングも不向きということはありません。
そもそも日本の社会人の平均勉強時間は一日 6-7分と言われています。
ただし、「だったら勉強しないでいいや」ではなく「1日 たった10分だけでも勉強したら十分平均以上なんだからほんの少しでも勉強を習慣化しよう」
と考える人になれると最高ですね。
こんな人はプログラミングに向いている
プログラミングが好き
これは確実に向いています。
僕の周りのプログラマーで「仕事だからやっているけど、プログラミング自体 別に好きではない。」という人は山ほどいます。
「好きこそものの上手なれ」という言葉がありますが世の中の大半の人は、仕事をイヤイヤやっているのでこれだけでも とても価値があることです。
僕自身、プログラミングが好きなので20年という長い期間プログラマーを続けられています。
面倒くさがり
面倒だから、
⇒ 短時間で効率良くプログラミングする
⇒ コードの量が減る
⇒ テストが少なくて済む
⇒ 不具合も減る。
という素晴らしい流れができます。
誤解してほしくないポイントは考えるのが面倒なのではなく、無駄な事や同じ事をやるのが面倒。
というタイプが向いているということです。
まとめ
ここまで読んで頂けらわかると思いますが一般的に「不向き」といわれるようなことは社会人生活の中で身について行くことや、プログラミングが上達するにつれて身について行くことばかりなので、あなたの努力次第でどうにでもなるようなことばかりです。
そしてプログラミングは 1か月やそこらちょっと勉強した程度で面白さや奥深さは、中々理解できないと思います。
初めから面白いと思えたらそれは素晴らしく向いていますが、スポーツや楽器と同じで、ある程度上達しないと本当の面白さはわかりません。
向き不向きを考えるより、まずは飛び込んでみる。という考えが一番重要です。
この記事でプログラミングに興味をもってもらえたら過去にプログラミング学習についての記事を書いたので、読んで頂けたら嬉しいです。
プログラミング学習に挫折しそうなあなたへ【低学歴の僕から】
さいごに
一般的に会社ではメンターと呼ばれる指導者の元でプログラミングの指導や指示を受けることになるのですがこのメンターの能力が低かったり人間的に合わなかったために、「プログラミングが不向きかもしれない」と感じている人も意外と多いのではないか?
と思ってます。
この可能性もあるので、周りに相談できる状況を作ったり自分を責めすぎない。という事も必要です。
コンピューターはバグがなければ指示を100%完璧にこなしますが、人間は、中々そうはいきません。
この業界の人は、完璧なコンピューターを扱って仕事をしているので、人に対して寛大になれない人も多いです。