■人と話すのは好きだ、だけど…

僕は小さな頃から、人と話すのは好きでした。特に、自分自身と興味関心が近い人と会話する事が非常に楽しく、時間を忘れて話し込んでしまう事もしばしです。

また、中学生の頃にアマチュア無線をやっていたせいか、10代の頃から年齢が何倍も上の人と話す機会も少なくなく、その時の年齢では得難い知見をたくさんいただきました。

しかし、この1年で気づいた事がありました。自分から話を振る事はあっても、人から話を引き出すのはあまりうまくない、と。

■直接の会話ではどうも解決しない

人の話をなぜ引き出せないのか。振り返りますと、僕は話し出すと押しが強く、かつ矢継ぎ早に言葉が出てくるように、はたからは見えるようです。だから、それを上回るペースや、よほど念が体から発せられるような存在感の強い人でない限り、僕には「話は聞いてもらえないだろう」と思われるのです。

最近は、自分の話している事が通じないだろう、というどちらかというと消極的な理由で、あまり話さないようにしています。人の会話は、1割も伝わっていればいいということです。たくさん話したところで自分が想像する程伝わってはいないのです。

しかし、これは自分の話す量を制御するだけであって、相手から話してもらう量が変わる訳ではありません。相手の話を引き出すための手法としては失敗しています。

■プログラム開発を通じて人から話を引き出せる

プログラム開発、そして出来上がったソフトウェアを世に広める行為は、開発者の自己主張であるというのが一般的な見方であります。これは主にWebサービス開発やオープンソースソフトウェア開発に言える事でしょうが、受託開発であっても言われるがままという事はありません。

それと同時に、ソフトウェアを通じて利用者から「意見」「感想」そして「苦情」といったフィードバックが届きます。ソフトウェアはコンピュータやネットワーク上で動く道具ですから、使えばフィードバックが来るのは当然です。

これです、これなら自然と相手から話を引き出せます。これに気づいて以来、僕はプログラムと自分自身の関係を聞かれると「プログラムは世間とのコミュニケーションツール」と捉えるようになりました。

■最近は会話が減った

最近、仕事をしていて会話が減りました。いわゆる上流工程のSEをしているので、要求定義を行う上でのステークホルダーとの会話やプログラマとの情報交換はありますが、それは必要最低限のこと。プログラムを書く仕事はもうありません。ですから、自分でプログラムを書く時間を作らなければなりません(※1)。直近では大学院の講義で出たレポートを仕上げる際や、新しい技術を確認するために書く程度です。

しかし、これでは不足している。4年前のシムエントリのように、自分自身でプログラムを書き、ソフトウェアを世に公開しなければならない。最近、そう考えるようになりました。プログラムを書けば、また広く世間の方々から意見をいただけるようになるのではと思うからです。

■ソフトウェア開発は少人数でいい

多くのソフトウェアは、とりあえず書ける人を山ほど集めて取りかかるより、敏腕のプログラマが数人集まってささっと書いてしまうことがうまくいきます。そのような体験をされた方は少なからずいらっしゃるはずです。

僕もSEという仕事をしておきながらあれなのですが、正直な所、自分を含めて少人数でプログラムを書き、商品をリリースするほうが効率も良く、より世間の役に立てるのではないかと考えています。僕がやる事は、人をまとめたり指示する事ではなく、出来上がるソフトウェアの品質に責任を持つ事だと自覚しています。それなら、尚更コスト上の「オーバーヘッド」である管理だけの仕事というのは、無駄な気がしているのです。

これは、ソフトウェア開発のマネジメントを放棄しているのではありません。要求定義をはじめとしたソフトウェア開発として向かうべき方向を定め、必要な知識を獲得し、最終製品を作り上げる責任は、変わらずに負うのです。ソフトウェアを自分自身も書いていれば、そのソフトウェアに対してより深く理解するでしょうし、また多くの人とコミュニケーションが出来るのではという期待があります。プログラマによって関わる工程の幅が変わる、それだけの事です。

それが、僕の考える「普通の開発」です。

※1 プログラムを書く行為は、筋トレと同じで続けていないと知識が腐っていきます。文法やライブラリは見れば思い出せますが、プログラムを書く時の「型」を忘れて行く事で書けなくなるのです。