ソフトウェア開発産業化後の世界を考える-1

サービス化(API化)の本質はソフトウェア産業化の続き。

「物の生産過程の産業革命」と「目に見えないソフトウェアの生産の産業革命」について妄想して見ます。

産業革命によって、職人仕事が機械に奪わられて、工場の工業労働者は、機械を操作するオペレーターに変身させられた。
ソフトウェア開発の将来も近いではないでしょうか?

そもそも今まで低水準言語から高水準言語に進化してきて、
最近だとクラウドやバーチャール技術によりOSのlow-levelのことを理解する必要もなくなった。

数名の会社の同僚と雑談していたが、SolrやSparkやHadoopなどを使っていて、
でもほとんどの時間は、設置と設定調整に取られている。
あまり高機能すぎるOSSだから設定項目だけでも数百に登る。
ですので性能チューニングだけで半年以上かかったとか。

話を聞いて思ったのが、開発業務がビジネスロジックをコーディングするはずだったプログラマーが、
設定調整や設定ファイルを書く仕事の量がだいぶ増えたじゃないか。
ソフトウェア製品を動かすための開発は、オペレーターに近いのかな?
CI/CDのためのコードやテストケースのコードなども、どっちかというと、オペレーターに近い。

そうすると、今後のソフトウェア基盤(生産設備)を生産するメーカーは、
OOSかGoogleかAmazonかMicrosoftかFacebookかAlibabaやSAPなどに集約されるかも。

一般の会社は、無料のOOSを使うか、有料のクラウドサービスを使うかで、
自分たちの製品を生産する形になる。
生産の過程で、プログラマーがビジネスコードを書くではなく、
ソフトウェアオペレーターたちが、既存OOSやクラウドサービスの上で、
事前に込まれたロジックを加工して仕上げていく。

ソフトウェアオペレーターは、マニュアルに精通していて、
各種パラメーターの調整が得意としている。
ま、OracleのDBAみたいな感じだね。
でも全然違うと思うよ。
ここの生産設備はもっともっと抽象的なレベルにしないと意味がないと思う。
今のSAPやServiceNowのアプリの開発に少し似てるが、
まだまだ職人っぽいよ。

であればどこまでの抽象化が必要なのかな?

今までRFC 7946, The GeoJSON FormatやISO_8601やRFC 7807, Problem Details for HTTP APIsなど、
標準化としてサービス化中のデータフォーマット中心を進めてきたけど、
これからアクションの標準化が必要なのか?
もっと深く考えないといけないと思う。