ソフトウェアの価値

自分がソフトウェアエンジニアとして生み出している価値ってなんだろう?ということを考えていた時期があります。

SIer時代は新しい技術を使って今までできなかったことを実現するというよりも、生産性の向上によるコストダウン、もしくは同じコストでより多くの物を作れるようにするという課題に対して新しい技術を導入したり、プロセスを改善したりといった試行錯誤を繰り返していました。

生産性が競合に対するアドバンテージだとすると、それはソフトウェアそのもではなく、エンジニアリングが価値を産んでいたということになります。そう、僕たちはソフトウェアを作っているのに価値を生み出していたのは作っているソフトウェアそのものではなかったのです。

また、ときにはミドルウェアの検証や解析を行っていたことがありました。なかなか高度な技術力を要求される興味深い仕事だったのですが、これも自分たちで作り上げたソフトウェアが価値を提供していたわけではありませんでした。

このことに気付いたとき、自分の中にちょっとした違和感が生まれました。僕が本当にやりたいのはエンジニアリングで価値を提供することではなく、それ自身が価値を提供するソフトウェアを作ることだということに気付いたのです。

フレームワークツールを選定したり、チーム体制や開発プロセスを工夫してプロジェクトをうまく進めるというのはエンジニアリングの世界です。僕は仕事ではずっとそういうことをやってきたのですが、一方ですでにある道具を使いこなすだけでなく、自分自身が価値を提供するソフトウェアを作りたいという思いがあり、それがOSS活動のモチベーションになっていたのではないかと思います。

そんなわけで、これからも公私問わず価値を提供するソフトウェアを作ることを目標にコードを書き続けていきたいと思います。

Play Framework 2 Meetupでパネルディスカッションをします

Play 2.0のリリース直後に実システムをplay2-war-pluginを使ってTomcat上で動かすという荒業に挑戦して大変な目にあってから早2年、5月24日(土)にドワンゴさんでPlay Framework 2 Meetupという勉強会が開催されるとのことで、Play2の現状を調査すべくコッソリ参加するつもりだったのですが、あろうことかScalatra代表ということでパネルディスカッションなるものを行わせていただくことになりました。
http://connpass.com/event/6020/

パネルディスカッションというと昨年のJava Day TokyoのIDE戦争でEclipseが集中攻撃された苦い思い出が思い起こされます。まああの頃は自分もIntelliJに移行してしまってEclipseはほとんど使っていなかったのでアレだったのですが…。今回もPlay2対それ以外のフレームワーク(いまのところSkinny、Scalatra、Finagle?)という図式のようなので非常に嫌な予感がしていますw

勉強会自体はすでに人数が埋まってしまっているようですが、久しぶりの大きめなScalaのイベントなので参加される皆さん楽しんでいきましょう。