プログラマ適性とは?見極めるための3つの要素

 2020.08.24  株式会社システムインテグレータ

どの仕事にも、適性というものがあります。プログラマにもやはり適性があって、適性がないゆえに残念ながら現場を去った人たちは多数います。

本記事ではプログラマを目指している人のために、プログラマ適性とは何か、プログラマ適性がある人とない人を比較しながら分析してみました。もし今のあなたに適性がなかったとしても大丈夫です!プログラマになるまでに、必要な適性を身につければ良いだけですから。

プログラマの適性①:論理的思考力

プログラムとはABを呼んでCに渡す

学校の数学の時間で、関数を学んだことは覚えているでしょうか?関数とは、値を渡して、その結果を得るものでした。

プログラムも数学の関数と同じです。機能や処理ごとにプログラムを分けて、必要に応じて呼び出したり、値を渡して結果を得て、さらにそれを別のプログラムに渡したりしています。
まさにタイトルどおり、プログラムとはABを呼んで、Bから得た結果をCに渡すという感じで続くものなのです。

頭の中でロジックを組む

プログラマは、ロジックの流れを頭の中で描き、そしてプログラムへと落とし込みます。逆に、プログラマは他人の書いたプログラムを見るとき、流れるように処理を追いかけます。

「プログラマには論理的思考が必要」といわれるのも分かりますね。

論理的思考ができなかったらどうなるか

論理的思考ができないと、頭の中でプログラムの流れを追えません。プログラムをまるで文章を読むかのように先頭から一気に読み始め、複雑な動きをするロジックに差し掛かったとたんに、流れを追えなくなり迷子になります。

プログラムは部分的に見てみると、確かに上から下に流れています。しかし至るところに流れを分岐させたり、関数を使って値を取得したりしています。論理的思考が弱いと、これらの動きが追えない = プログラムがどう動くかをイメージできないのです。

何が分からないかを言語化できない

「何が分からないか、そこから分からないです(涙)」こんな質問、よくありますよね。

プログラミングでも同じで、学習を始めたばかりの方からよくこの質問が出ます。確かにそうなるのは無理もありませんが、フォローする側からすれば、この言葉が出るともう何もできなくなります。論理的思考ができれば「そもそもこうしたいけど、この部分が分からないんだ」と分からないことを言語化できます。

プログラマの適性②:コミュニケーション能力

プログラマにもやっぱり必要

もくもくと一心に孤独にキーを叩き続ける、そんなイメージのあるプログラマですが、コミュニケーション能力は必要なのです。
それもそのはず、プログラマといえども職人であり社会人です。仕事をする上でいろいろな人と関わる以上、コミュニケーション能力はとても大事な適性なのです。

指示を出す側・受ける側、どちらの立場でも必要

もう少しコミュニケーション能力の必要性について見てみましょう。

最初は指示を出す側の話です。
ある程度プログラマとしての経験ができたころから、若手やスキルが低めのプログラマの面倒を見るようになります。仕事上、他人への指示やプログラムの評価をすることが多くなります。指示を出す側として、指示を受ける側に間違った動きをさせず、効率よく仕事を進めさせるためにも、コミュニケーション能力は必要です。

次は指示を受ける側です。
指示を受けて次の行動へ移るには、指示を正確に理解するためのコミュニケーション能力が必要になります。また分からないことを言語化し、指示をあおぐためにも必要です。

コミュニケーション能力がなかったらどうなるか

「あの人、いつも何を言っているのか分からないよねー」そんなことを若手たちから言われているリーダがいます。正確で分かりやすい指示が出せないのです。
また圧が強すぎるリーダもいます。なぜか上から目線、かつ指示も投げやり、若手が誤った動きをすると怒る・・・こういったコミュニケーション能力がないリーダの下で仕事をするのは大変です。

逆に、指示を受ける側もコミュニケーション能力がないと、周りはその人が何を考えているか分からないし、理解できたのかどうかそれすら分かりません。周りがフォローしづらい状態になります。

プログラマの職場に限ったことではありませんが、みんなが気持ちよく効率的に仕事をするためにはコミュニケーション能力がとても大切なんです。

プログラマの適性③技術的好奇心

どんな技術でも、いずれは消える

Struts(Ver1.x)、SeasarPHP5、これらに共通することがあるのはご存知でしょうか?

正解は、かつて栄華を誇ったものの、すでに開発が終了してしまった言語やフレームワークです。どんな技術でもいずれは消えます。逆に今は圧倒的少数派の言語やフレームワークであっても、将来いきなり脚光を浴びるかもしれません。今ある技術も、永久に存在し続けるわけではありません。いつ消えてもいいように、さまざまな技術を身につける、または興味を持つのがプログラマの適性として、とても大事です。

技術的好奇心がなかった残念な人たち

「やったことがないからできません」このセリフを平気で口にする人がいます。これは「今できている以上のことはやりません、そんな気はありません」と断言しているようなものです。これはプログラマとしてかなり残念で、流れの早いIT技術の世界には向きません。

特定の技術にしがみついた人の末路は…

すでに述べたとおり、昔は業界の標準的な技術だったとしても、いずれは衰退するか最悪は消えてしまいます。いきなり完全に消えてしまうわけではありません。その技術を使って構築されたシステムはしばらくの間生き残ります。次第にそれらのシステムすらも役目を終えて別の技術で再構築されます。すると、それしかできないプログラマの、選択できる案件の幅がせまくなってくるのです。

時間が経つと歳をとります。今度は技術だけでなく年齢的にも追い討ちがかかります。歳をとって経験もないとなると、さまざまな技術に柔軟に取り組める若いエンジニアを上回るパフォーマンスを出すのは難しくなりますね。最悪の事態を防ぐためにも、さまざまな技術に好奇心を持って取り組みたいものです。

新規CTA

まとめ

本記事では、プログラマの適性について以下の3点を解説しました。
 1.論理的思考力
 2.コミュニケーション能力
 3.技術的好奇心

これからプログラマを目指す方や、IT企業の採用・教育などプログラマに関わる仕事をしている方々にとって、「プログラマ適性」について考えるきっかけになればうれしいです。

新規CTA

新規CTA
新規CTA

RELATED POST関連記事


RECENT POST「プログラミング」の最新記事


この記事が気に入ったらいいねしよう!