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

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

プログラミング・ソフトウェア開発の仕事に関して考えていること

»

私は平成元年(1989年)に社会人になりましたが、プログラミングは大学1年のアルバイトからですので、1984年からだとして、2015年の今年で31年も続けていることになります。我ながらよく続いているものだと思いますが、その中でプログラミングあるいはソフトウェアの開発に関して持ち続けている不満がいくつかあります。

31年間の間に、CADシステム製品の開発販売、出向、受託、ネットワーク関連製品の開発販売という順番に仕事をしてきましたが、自分自身で一番しっくりこなかったのは出向、受託の仕事でした。

プログラミングの仕事は、ソフトウェア工学という学問があるくらいですので、手法をはじめとして生産性・品質を高めるための試行錯誤がされてきて、誰が担当しても満足できるソフトウェアが出来上がることがひとつの目標とされてきたのだと思います。ドキュメントやテスト、進捗管理まで含めてのソフトウェア開発業務であり、工数計算により、開発費が先に計算され、納期までに滞りなくリリースされるのが理想であり、運用後も拡張・変更の容易さや、安定稼働が求められますので、それらを工学として標準化していくのは当然ことでしょう。

たしかにソフトウェアの開発の多くは、正しく明確な仕様が決まり、実績のある開発手法・言語を使い、理にかなった機能分割により、分担作業を行い、しっかりした工程管理の下で進め、テストも実績のある方法でこなしてリリースに至るという流れで考えれば、工学なのかも知れませんが、私はそのような開発仕事になじめませんでした。

大規模システムになるほど全体の統制が大事といわれてきた気がしますが、実は大規模システムでもコアの部分や連携の部分に関してはかなり職人的なワザが必要となることも多かった気がします。私自身は長年ネットワーク関連が好きで請け負い仕事でもネットワーク部分を好んで担当してきましたが、仕様通りに淡々とこなすという仕事ではありませんでした。

そして、せっかく心身共につぎ込んで仕上げたシステムも、運用開始後に徐々に開発側の手から離れていき、請負仕事で食っていくためには、また次の仕事を探して移っていかねばなりません。それが私は嫌だったのです。

プログラミングの仕事といっても、内容は実に幅広く、私が担当してきたようなネットワーク分野でははっきり言って職人的な力がなければお話にならないことも多くありました。職人的な仕事はその道を究めていかねば腕を磨けません。次々と請負で仕事が変わってしまう状態では深い状態までたどり着けないのです。

私は、自分で作り出したものはいつまでも愛着を持って育てていきたいとずっと考えてきました。しかし、請負仕事でそれは難しいのです。請負仕事では開発成果物は依頼者側のものですし、終われば次の仕事に移らねばなりません。せっかく作ったのだから、自分の手で育てたいと思っても基本的には無理なのです。そこでたどり着いたのが、「やっぱり製品開発だ」ということでした。自分たちで生み出したものを、自分たちで育てていくことができます。

私が作ったソフトウェア製品で、まともに製品と呼べるもので一番古くて今でも使っているのが、WEB
負荷テストツールの「SADEE2」という製品です。今でも一応自社サイトに掲載していますが、基本的にはほとんど販売していません。2000年頃に開発したので、15年くらい経ちますが、今でも自分たちで便利に使っています。

もっとまともな製品となると高性能DHCPサーバの「ProDHCP」で、こちらは2005年くらいに開発を始め、今では直販・OEMをあわせると自分でも信じられないくらいの数が販売され、運用されています。バージョン管理をそれなりにまともにするようになってからだけでも、現在Ver.12.2で、毎年たくさんの機能追加・性能向上を続けてきました。

ProDHCPの販売では私自身が商談にも行きますし、リリースの現場にも立ち会います。もちろん、当社メンバー達も熟知しているので、私以外のメンバーでも対応は十分できるのですが、可能な範囲で私も同行するようにしています。もともと開発した本人ですから、どんなことでも答えられますし、何か起きてもなんとかできますし、なによりも、自分の愛着のある製品が役に立つ現場を見ることがうれしいからです。

私は趣味でも、オーディオ・楽器・カメラ・ロードバイク・腕時計・万年筆など、こだわりを持った人が生み出した製品を使うのが好きです。ソフトウェア製品に限らずIT関連は進化が早いので、なかなか「**さんが手がけた逸品だ!」という感じになりにくいのですが、プログラミング職人としてやっぱりそういうレベルを目指したいと思い続けています。自分が満足できないような製品をお金のためとはいえ世に出したくはありませんので。そんな思いを共に持つメンバー達と、ますます自分たちも愛せる製品を世に出していきたいと考えています。

検収が上がればおしまい、という仕事ではなく、自分達がまず満足できる仕事をすることが、技術者としての喜びだと思っています!

Comment(2)