熊崎 宏樹:あまりその考えには賛同しません。
というのも、最終的な利用者からしてみれば自分が受けるサービスさえ充実していれば内部でソフトウェアが動いているかどうかは関係無いからです。
例えば自動車の中には自動運転車でなくても大量のCPUが積まれておりその中で走るコードは1億行にも及ぶとすら言われています。Linuxですら2000万行と言われていますのでその5倍です。それの管理にノウハウが必要であることは当然ですが、大量の部品と製造工程からなる自動車においてその部分だけ極端に特別であるとは思いません。ソフトウェアも部品の一部であると業者レベルで区別するほどの差ではありません。実際にデンソーは自動車用電装部品を作る会社として拡大し、今では電装部品はもちろんの事その上で走るソフトウェアも作っています。僕の大学の知り合いでもソフトウェアの部署に就職した人は何人もいます。
真に区別する意味があると思うのは「ソフトウェアか否か」ではなく「サービスか否か」であるという境界です。例えばソフトウェアを書いていても炊飯器のマイコンに流し込んで炊飯器の一部として動く分にはライフサイクルもサポートも電気回路の延長の中で働く事になるので極端な差はありませんが、例えばFacebookのようなソフトウェアサービスを運用するのはいくつもの点で違いがあります。
* ネットワークの疎通やサーバの監視などを継続的に行う。
* メトリクスなどを採取してユーザーからのフィードバックをより早く得てサービスを改善する、更にはサービス改善のサイクル自体を改善する。
* 長期的にサービスが障害・機能追加・開発者の参加離脱・セキュリティインシデントに耐えるように仕組みや文化を作り上げる。
これらは恐らく炊飯器のマイコンのコードなどでは要求されないタイプのタスクであり、ただコードを書くだけでなく接客業でありながらインフラ作業者でもあるような立ち位置になっています。
もちろんどちらが偉いという話では無いのですが「箱を作ってマニュアルを書いて納品したらさよなら」という仕事の回し方ではソフトウェアサービスは早晩立ち行かなくなってしまうほど手のかかるものであるという点において区別する意味があると思っています。