趣味でプログラムをするシュミグラマーや、本職は別にあって、たまにプログラムするタマグラマーはとにかく、プログラミングそのものを職にしているプロプログラマー(以下プロ^2グラマー)の業務の8割は、実はプログラムを書く事ではない。

実感としては、顧客(社内顧客含む)との折衝が4割、学習が4割といったところ。残った2割が実際にコードを書いている時間。計算上は、週5日のうちコードを書いているのは1日しかないことになる。そして本当はそのコードを書いている時間も、コードを書く時間よりコードを読み返したり他のコードを読んでいたり、実のところぼけぇっとしていたりという時間が8割。

このプロ^2グラマーは、さぼっているわけでも無能な訳でもない。むしろ有能だとされるプログラマーほど、「オフタイム」が長い。そしてそのオフタイムの間に何をやっているかというと、「社交」なのである。もちろんプロ^2グラマーのプロ^2グラマーたる所以は、コードを書く事にあるのだが、コードを書くよりも有用な能力は、実は社交力だと年を追うごとに思うようになってきている。特にblogがブームから日常になってからは、その感を強くしている。

そもそも、プログラマーの能力というのは定数ではない。絶対値は経験を詰むごとに上がって行く。社交力というのはこの経験を積んで行く能力に他ならない。はじめからエレガントなコードを書けるものなどいない。そもそもはじめは何がエレガントなのかさえわからない。それを教えてくれるのは、客であり同僚であり先輩であり後輩であり、そして社会なのだ。

今の私は、自信をもって断言できる。プログラマーにとって最も重要な能力は、社交力だと。その他の能力は委細に過ぎない。というより、社交力さえあれば、その他に必要な能力はあっという魔に追いつく。コードはトークについてくるのである。今アルファギークと呼ばれている人々を見ればわかる。彼らだってだっさいコードを書いていた時期があるのだ(もちろん私もだ)。しかし彼らはそのだっさいコードもとりあえず呈示する。当然「だっさい」という返事が返ってくる。彼らはそれを良しとしないのですぐに直す。わからなければ臆面もなく聞いてくる。そうこうしていくうちに、彼らの能力はどんどん上がってくる。ださかったコードがあっという魔にかっこよくなっていく。こうして彼らをかつてバカにしていた社交力不足のプログラマーたちに彼らはあっという魔に追いつき、そして追い越して行く。

こうした彼らの成長を見ていると、プログラマーの「現在価値」を問うのがいかに空しいかを痛感する。今日のnobodyは、明日のsomebodyかも知れないのだ。だから、今の自分が有能なプログラマの特徴にあまり当てはまらなくても、悲観することはない。しかし顧客が呈示した仕様に何の疑問も抱けなかったり、疑問を抱いてもそれを問いただせなかったりしたら問題は深刻だ。プロ^2グラマーにまだなっていない人は別のcareerを探すか、なっている人は転職を考えたりした方がいいだろう。

一つ勘違いして欲しくないのは、社交力というのは相手におべんちゃらを言ったり、中身のないあいづちを打つことではないということ。MOF担ならそういうことを社交力と定義するかも知れないが、少なくともプログラマーの世界では違う。社交力とは、言うべき事を言い、聞くべきことを聞く力の事だ。だからすでに言われていることを繰り返すのは時間の無駄だし、すでに聞いた事を聞き直すのも労力の無駄だ。もちろんきちんと伝わっていることを確認するために復唱するのは、その限りではないが。

実は有能なプログラマーを切実に欲している会社は、すでにこのことに気がついている。次のWEB+DB PRESSの私のインタビューでも少しふれられているが、今やプロ^2グラマーをリクルートする側は、ちゃんと応募者のblogを見ている。blogか、少なくとも作品としてのWebサイトがないと、相手にすらしてもらえない。極論してしまえば、履歴書でまともに目を通すのはblogのURIだけだったりする。

そんな時代に、すでになっているのである。

Dan the Communicating Coder