プログラマーとは
プログラマーの人物像
職人気質な人が多い・・・?
私は比較的所属する会社に関係なく人と仲良くなって飲みに行ったりします。もちろんお仕事で密接に関わるプログラマーさんの中にも仲良くして下さる方がたくさんいます。
一番最初に配属された職場でプログラムの師匠となって下さったのは、協力して働いて下さっている外部の会社に所属する素敵なおじさまプログラマーでした。
しかもなんと私の母と同じ年齢のベテランでした。(いまや「(会社の)とーちゃん」と呼んで慕わせてもらっています。)そんな師匠のもと、C言語のプログラムを書いて見てもらうと「センスがない」と言われました。
未だにどこが「センス」がないのかわかっていません。。。その後、他のプログラマーさん達とも仲良くなり飲みに行くと、「メモリの使い方が悪い」、「あのプログラムはひどい」、「○○さんは神だ」などといったあたしには到底理解出来ない会話(議論?)が繰り広げられておりました。
ここにもSEとプログラマーの差が出てるとおもいますが、私は『in(必要なデータ等)』と『out(得られる結果)』が合っていればそれでいいのですが、プログラマーは『in』から『out』に至るまでのプログラムの書き方に非常にこだわる職人気質なんだと感じました。
求められる人物像
プログラマーを目指すのですからプログラムを書く事が好きな方が多いでしょう。そして、技術的に自信があってこだわりもある人も居るでしょう。それはいいことだと思います。しかしプログラムだけ書ければいいのでしょうか?そんな事はありません。
はじめに前述した通り、SEがお客様の要望を聞き出して、それをどうシステムで実現すればいいかという設計書を書きます。
その設計書通りにプログラムを作らなければ行けないので、文章の読解力はもちろん必要です。またSEから口頭でも様々な説明をされたり、メールでやり取りをしたりすることもありますので、話の要点を押さえ相互に認識があっているか確認するコミュニケーション能力が必要になります。
また、開発後にシステムを使って行くと必ず「ここはおかしい」、「もっとこうした方がいい」、「こんな機能が欲しい」などといった理由でプログラムを修正することがあります。そのため、プログラムの中に何の処理を行っているのか、メモをしておく事を要求されます。
また作ったプログラムが正しいかテストするための手順書を作成するのもプログラマーの仕事です。
テストは「誰が行っても同じ結果が得られること」が重要なので、いずれの場合も「自分以外の人があとから読んでも理解出来る文章」を書く力が必要になります。
理想と現実
実際の人物像と求められる人物像をお話しいたしましたが、少し乖離していると感じられた方もいるかも知れません。実はその通りなのです。
どうしても、プログラマーにとっては文章作成はうっとおしいもので、「天才」と呼ばれる人の中には設計書を見ずに作っちゃったりするそうです。その結果、結局その人しかわからないプログラムになり、その人が居なくなってしまった後、とっても苦労するという結果になります。
初期のプログラマーには職人気質の方が多くいらっしゃいましたが、最近は言語がどんどん新しくなり、目まぐるしく新しい技術を勉強しなければならないので、今は柔軟性とコミュニケーション能力が求められる時代になっています。
よって、「読む、書く、聞く、話す」という基本を押さえておくと重宝される人材になれるでしょう。
プログラマーに限らず最近はコンピュータや携帯電話の普及によって、これらの直接的なコミュニケーション能力の低下が危惧されています。よって、優秀なプログラマーを目指すのであれば、是非この点も努力して身につけておいて欲しいと思います。

