印象深い技術経験(5) | 技術コンサルティング研究会 BLOG

印象深い技術経験(5)

こんばんは、ズッキーです。

雨の音を久しぶりに聞いている今宵、今回のテーマ「印象深い技術経験」について書いていきます。
私はソフト屋(ソフトウェア開発)です。基本、自分たちで仕様を決めて、ソフトウェアを作っています。
毎年、バージョンアップするソフトウェアなので、毎年、新しい機能を追加しています。そんな状態が10年以上続いている製品なので、ソフトウェアの中身(ソースコード)はスパゲッティ状態です。


そういう、ソフトウェア開発生活の中で印象深い技術経験を挙げるとしたら、新人の時の開発経験でしょうか。

1.新しい技術導入への踏切
スパゲッティ状態のソースコードに、新しい機能(ソースコード)を追加する。もちろん、不具合を出してはいけないし、デッドラインは決まっている。新人の私が、上記の課題をどのようにクリアーしたのかを書いていきます。

当時、社内の中堅開発者、または若手開発者は、基本的に既存のソースコードをコピペして機能を追加していました。それが一番早く正確だと思われていたからです。しかし、同じ様な原因で、あちこちで不具合が出ていました。また、10年以上も経つ製品なので、ソフトウェアを構成しているプログラム技術は、古いものばかりでした。プログラム技術が、古いことは、決して悪いことではありません。既存の技術に新しい技術を取り込んで、もっと良いものを作ろうとする雰囲気がないことが私的には、残念だと感じていました。

また、上記で書いた同じような原因は、すべてメモリ管理ができていないという点でした。だから、私はメモリ管理を自動的に行ってくれる技術を導入することにしました。新人が中堅レベルと同じ精度の機能を実装するには、世界中の開発者が何年もかけて作り上げた技術を利用することがベストだと思ったからです。また、デッドラインも決まっており、既存のソースコードを理解もなくコピペすることは結果的に間に合わないといこともありました。

社内には、この技術を取得している開発者はいなくて、最初は手こずりましたが、最終的には上手く行きました。この背景には、日頃からの技術調査や技術向上があったからもしれません。思いつきだけで、新しい技術を導入するのではなく、仕事以外の時間、例えば、家とか、休日の勉強会などで日常的に技術研究をする習慣が大切だとも感じさせてくれた開発でした。