プログラマは不要になる?


プログラムを生業として今まで生きてこれたことには正直感謝する。今は多くの業務がフレームワーク前提となって業務ごとに細分化されていて一からモノを作ることが少ない。PCの黎明期から仕事させてもらってるのでおかげさまで自分への投資を多くすることができた。

最初の仕事は8086のアセンブラの仕事だった。PC9801のワンステップアセンブラで書いてた。ソースを一括アセンブルということはないので、コード書き換えるとfar jumpになり全面書き換えとか面倒だった。そういう苦労は今では何の意味もないけど、そういう苦労自体がお金になる時代は幸せでもあったね。

「韓国とプログラマー」というブログを読んでこのエントリーを書いている。一からモノを作るのではショボイものしか出来ない時代では、常に新しい事を勉強してフレームワークの最前線に立たないとコストに見合わない時代になってるのは確かだ。
自動プログラミングというのは俺が卒業論文、修士論文で扱った。卒業論文はPrologからBasicを生成する自動プログラミングについてで今でいうコンパイラコンパイラに近い話だった。平たく言えば高級言語で低級言語を生成できたら便利だよねという。まあ30年くらい前だからそんなものしか考えられなかった。
修士論文はもうちょっと高度で高級言語で作成されたモジュールについて設計諸元をパラメータ化し論理空間で整合性をとり、ワークシートに展開して実際に設計諸元を満たすかシミュレートする仮説生成検証装置だ。これまた30年弱くらい前だけどまだ世の中には無いかも。まあ現状にあわせてリメイクする手間も相当なので陽の目は見なさそうだが。

では現場はどうなのかというと実際のコーディングより外部設計やテスト工程に力をいれるようになっている。ay_et05_04
(出展:http://monoist.atmarkit.co.jp/mn/articles/1011/25/news112.html)

「設計書?なにそれ美味しいの?」などという原始時代ではコーディングにミスさえなければ要件定義でぶつかることがあっても、「プログラムというのはそういうものなんです!」なんていうトークでなんとかなっていたが、現在ではV字プロセスの要件定義とシステムテストをしっかりすることでトータルのコストを下げようとしているわけだ。

プログラムは検収してもらってなんぼだし、履いて捨てる程SIerが存在する状況では当然と言えるだろう。

しかしこの方法では要件定義の機能は満たすかもしれないが、その非機能要件は満たすかどうか分からない。要件定義を記述する者の知識や経験、またマシンやミドルウェアの性能に依存する。よってプログラマが不要であってもプログラマが知っているであろう機械の振る舞いを記述した情報は必要とされるだろう。そういう下支えのプログラマの層が厚いという前提でV字プロセスの入口と出口をきっちりするという戦略は成立する。

そうプログラマは必要である!と結論づけたいところだが、実際ICTの総投資額は減っている。

これはパブリッククラウドによる所が多い。個人的には海外では通常であるパッケージの導入に消極的な日本ではクラウドの普及は限定的ではないのかと考えていたが、コスト、メンテナンスに優れ、本社IT部門を通さないでも実施できるクラウドは相当な勢いで伸びている。日本人の癖として右に倣えがあるから今後この勢いは止まらないだろう。

1377672809-2
(出展:http://www.m2ri.jp/newsreleases/main.php?id=010120130828500)

いままでパッケージが導入されてない障壁はIT部門だとまでは言わないが日本でも何らかの変化が置きてクラウドファーストは認知された。よってそもそもプログラムを作らないという方向性が生じている。

ざっくり言ってしまえば、痒い所に手が届くためのコストが増大しすぎているのだろうね。クラウド化で1桁または2桁コストが下がれば利用しない手はない。

システムハウスはこれに対しいくつかの選択を迫られる。一つは現状のまま人の単価を下げコストダウンしていく方法だ。

中国やベトナムでプログラムを開発するオフショア開発はその目玉だったがクラウド時代のセキュリティ上の問題に阻まれ頓挫した。一人のプログラマによる情報流出で会社が傾いてはたまらない。実際そのために訴訟までになったプロジェクトも多く存在する。そこで現在では北海道や九州での安価なプログラマを利用したオフショア開発が盛んだ。まあ中国人よりはモラルがマシだと思ってもらえてるのだろう。

しかしこれは開発プロセスを見なおしたものではない。結局V字プロセスの改善にしろやってることはウォータフォールの変形にすぎない。今後アジャイルを含めた開発プロセスに成功する会社が出てきて様相が変わってくるだろう。

別な選択はプログラムを売らない事だ。自らがクラウドでの機能提供者となってプログラムの単価は下がらないがパッケージとしてプログラムを提供することでコストを賄う方法である。

よってプログラマは北海道のように単価を下げて生き延びるか、パブリック・クラウドの開発業者として競争するかどちらかを迫られるだろう。

必要なのは小手先の改善ではなく、もはやイノベーションとしての事業変革なのだと思う。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください