あなたはプログラマーに向いている?プログラマーになるために必要な適性とは
GEEK JOB編集部
これからプログラマーを目指そうと考えている方には、プログラマーという職種には向き不向きがあるのではないかと思っている方が多いと思います。
実はプログラマーの「適性」と呼ばれるものは、これからプログラマーになるにあたってはさほど重要ではなく、それよりも先に身に付けてしまいたい能力があります。
そこで、未経験者が今後プログラマーとして働いていく上で必要となる能力をご説明させていただきます。
目次
プログラマーになるにあたって、確かに「適性」と捉えられる要素はあるかもしれませんが、適性が現状無いと判断しても、プログラマーになることをあきらめる必要はありません。
よく言われるプログラマーとしての適性は、
といった例を挙げればキリがありませんが、今現状身についていなくとも、仕事をする上で身に付けていけばよいからです。
「適性」と呼ばれているものよりも、さらに大切なことがあるので説明します。
プログラマーになるためにはプログラミングに関する専門的なスキルが必要だと思われがちですが、未経験からプログラマーとして採用される人には、専門的なスキルについては高く求められることはありません。
専門的なスキルについては努力次第でカバーできるので、「文系だから」「数学が苦手だから」「専門知識がないから」といってプログラマーになることに後ろ向きになる必要はないでしょう。
プログラマーとして働くためには、プログラミングに関する専門的なスキルよりも仕事をしていくうえで重要な「人間力」を身に付けることが大切です。
プログラマーという職業はプログラミングについての知識やスキルがあればだれでもなれると思っている方が多いですが、実は全くそうではありません。
チームでプロジェクトを遂行していく以上、チームのメンバーと連携し、お客さんと関わり、課題にぶつかり解決するといったことの繰り返しです。
そのためどんなにプログラマーとして知識にあふれ、ずば抜けたスキルを持っていても「まともに話ができない」「チームメンバーと連携が取れない」「自分勝手な行動をする」といったような状態では、プログラマーとして仕事をしていくのは難しいでしょう。
そのため、「適性」と言われているものや「プログラミングスキル」以上に「人間力」が大切になってきます。
当社が運営している『GEEK JOB プログラミングキャンプ』では、プログラミングだけではなくプログラマーになるために必要なスキルも身に付けられる環境を用意していますので、少しでも関心のある方は気軽にご相談ください。
まだ具体的には人間力がなぜ必要なのかわからない方もいるかと思いますので具体例を含め説明します。
上記図では、2人のプログラマーのスキルを比較しており、詳細は下記の設定だとします。
未経験者採用枠であった場合、上記の2名の中で内定を得やすいのは総じてBさんであることが多いです。
なぜなら企業は、プログラミングを教え込むつもりではいますが、仕事の進め方といったここで言う「人間力」を一から教え込むつもりはないからです。
また正直な話、他者の「人間力」を鍛える、というのは相当パワーのいることなので、多くの人はやりたがりません。
その点、Bさんのような基礎的なプログラミングスキルを持ちつつ人間力に溢れている人は、採用側としても育てがいがあり、今後の戦力となってくれることが期待できるため、採用される可能性がAさんに比べ高くなります。
未経験者がプログラマーとして成長していくには、上記の赤矢印のように「人間力」を鍛えたのちに「プログラミングスキル」を伸ばしていくことが最適なプロセスだと言えます。
プログラミングの専門的なスキルというのは、たった数ヶ月や一年では身に付けられるものではないので、専門的なスキルばかりを鍛えようと努力しても必ず壁にぶつかります。
そこで人間力を鍛えた上で専門的なスキルを深めていく、といった流れをくむことでプログラマーとして成長していくことができます。
ただ注意していただきたいのは、「人間力」だけを鍛えていれば良いというわけではなく、合わせて「プログラミングスキル」も鍛えていかなければならないということです。
先ほどからお伝えしている人間力において、具体的にどのような要素があるのかをご説明させていただきます。
これらの要素はどれを鍛えたらいい、というものではなく全てをまんべんなく鍛えることが望ましいです。
課題発見力とは、現状を把握・分析・明確化し解決する力を指します。
トラブルやバグに遭遇した際に根本的な問題を発見し、即座に解決することができるようになります。
規律性とは、社会のルールや人との約束を守れることを指します。
規律生を持つことで、チームの仲間やお客様からも信頼を獲得することができるでしょう。
傾聴力とは、相手の話を聴くだけでなく、話の内容から相手のことを正確に理解する力を指します。
お客様が抱えている課題に耳を傾け、深く知り、本質的な課題を洗い出すことができるようになります。
計画力とは、課題や目標に向けてやるべきことをを明らかにし実行する力を指します。
納期が設定されていることが多いシステム開発においては、まず欠かすことのできない能力です。
主体性とは、言われなくても自分で進んで仕事に取り組み、自分で判断し行動するちからを意味します。
どんな仕事もそうですが、受身な人、頼まれた仕事しかやらない人は会社に必要とされませんから、主体性ある行動が求められています。
他者を巻き込み推進していく力を指します。
何事もそうですが、人間一人の力はわずかなものです。チームのメンバーを巻き込んでこその仕事なので、働きかけ力は早急に身に付けてしまいましょう。
創造性とは、今まで通りにやっても達成できなかったことを解決する、可能にするためのアイデアを考える能力を指しています。
プログラマー常に新しい製品・サービスの開発、問題の解決に取り組む仕事であるため、創造性があればあるほど新たな解決策やプロダクトを生み出していくことができます。
文字通り、知識や情報を吸収し、発信していく能力を指しています。
IT業界は流行り廃れが激しく日々情報が更新されていくので、常に知識や情報をインプット・アウトプットしなければなりません。
上司やチームのメンバーが求める「報告」「相談」ができる能力を指します。
会社では、チームで開発を行うことが多いため他のメンバーとの意思疎通が必要なことから、的確な相談、報告ができることが求められます。
「文系だから」「数学ができないから」「専門的なスキルがないから」といってプログラマーに適性していないなんてことはありません。
「適性がないから」といってあきらめてしまうのではなく、どうやったらプログラマーとして働き、成長していくことができるだろうかを常に考えておきましょう。