オルタナティブ・ブログ > プログラマー社長のブログ >

プログラミングでメシが食えるか!?

ソースコードの属人性とソフト製品事業

»

ソフト開発事業、とくに、ソフト製品開発販売事業をしていると、ソフトウェアの保守性はとても重要です。「かっこいいソースコードより、理解しやすいソースコード」で書いたように、ソースコードが理解しすいかどうかはとても重要です。しかし、ある意味それ以上に重要なのが、「作った本人」の存在です。

ソースコードの属人性を減らせるかどうかというのは、長いことプログラミング分野では大きなテーマの一つとして議論されてきたと思いますが、ビジネス的な側面から考えれば、属人性を減らすべきと考えます。「作った本人」でないと保守できないということでは、様々なリスクがあるからです。

・作った本人が倒れたら?辞めたら?
・作った本人が他のプロジェクトで忙しくなったら?
・平行して開発を進めたり、あるいはバリエーションを増やすようなときに一人では回らない?

つまり、属人性が高い状態とは、会社としては「作った本人」に弱みを握られているような状態になってしまうわけで、避けるべきと言われているわけです。

ところが、プログラミングというのは、難易度が高くなるほど職人技が重要になることが多くなり、誰でも保守できるようなシステムはそもそも競争力が低い製品しかできないかもしれないわけです。試行錯誤の繰り返しにより生み出されるようなシステムは、プログラマーが10人いたら10倍早くできるわけではありません。むしろ、10人いてもできないのです。一人が熱い思いでのめり込んで作るから生まれるようなシステムも多いものなのです。

完成した後に、ソースレビューなどをしながら、他のメンバーでも保守ができる体制を作れば良いと思うかもしれませんが、それも難易度の高いプログラムではかなり困難です。プログラムには思想や流儀が込められていますので、上辺だけを見てもなかなか理解はできません。

会社と社員の関係というのは、「退職される側の戯言・・・」でも書きましたが、会社側に強制力はほとんどありません。立派な製品を作った人がある日突然辞めると言うことは珍しいことではないのです。そうなると、経営者自ら製品を作り出す以外は怖くて製品開発などできない、となってしまいます。実際、当社の会長はそういう考えもかなり持って会社経営を続けてきたとも言えます。長く会社を続けるコツの一つとも言えるでしょう。しかし、それでは幅が広がりません。。

結局、どこまで信じられるかで任せるかどうかを判断するしかないという、曖昧な答えしかないのではないかと感じています。私が考える立派な技術者は、たとえ転職しようが、自分が手がけたことには愛着を感じつづけ、同時に責任も感じるような人です。少なくとも自分自身はそうでありたいと考えて仕事をしてきました。若い頃に何度も社長と喧嘩をし、「辞める」「逃げるのか!?」「結果を出すまでは辞めない!」と、逃げずに来ましたし、徐々に私のチームのメンバーが増えるにつれ、彼らのためにも決して逃げないと考えてきました。そのような思いというものは、正社員かどうかということとは全く無関係で、社外の人なのに手がけてくれていた仕事が大変と分かると、今の仕事を片づけてから夜に駆けつけてくれたりする人もいるのです。

とくに、自ら「こんな製品を作りたい」と開発を始めたものを簡単に投げ出すようなことは、私にはできません。きちんとビジネスとして結果を出すのが礼儀だと考えていますし、自分で生み出したものには愛着があるので、そもそも手放す気持ちにはなれません。そういう仕事だから楽しいということもよく分かっています。それに、お客さんとのお付き合いもかけがえのないものですので、それらをまとめて手放すことなど想像もできない感じです。

やらされ仕事ではなかなかこういう気持ちにはなれないと思いますので、当社のメンバー達にも、どんどん「我こそは」という分野で活躍して欲しいと思っています。今は本当に忙しすぎて、なかなかそういう取り組みができないほどなのですが、せっかくIT製品関連事業の土台もできてきましたし、それを活用してますますメンバー達が愛せるような仕事をしていけるようにしなければならないと考えています。

Comment(0)