もしプログラムを書かなくてもよくなったら、どうする?
もうすぐ春ですね。
自己啓発も兼ねて、現場のエンジニアに向けて問い掛けをしてみようと思います。
新人エンジニアにも伝わるよう、話のレベル感を配慮したつもりです。
ちょっと怖い話かも。
SI業界の現場のプログラマ(およびそれを目指す人たち)に問う。
SI開発の現場で、もしプログラムを書かなくてもよくなったら、どうする?
たとえば、
オフショア(中国などの外国にプログラミングを外注すること)や
自動生成ツール(設計書から自動的にプログラムを出力するツール)の発達
などによって、近い将来、プログラミングしなくてもシステムが作れるようになるとしたら、どうなると思いますか?
面倒な作業が減ってうれしい?
いや、僕らの仕事がなくなってしまうんじゃない?
仕事がなくなることはない。
いや、仕事がなくなることはないと思います。
なぜなら設計という仕事が残っているから。(もちろん、設計より手前の上流工程も。)
というよりむしろ、プログラミング以降の下流工程は我々の手から早く手放していかなくてはならないのかもしれないのです。
じゃあどうなるのか
単純な話、プログラミング工程といった下流工程は、人件費の安いとろこに外注したほうがコストを下げられるわけです。(品質面の話は今はおいておきます)
いや外注どころか自動化してしまえば、もっとコストが下がりますね。
はい。SI業者は、どんどんそうすべきです。
ユーザ企業としても、コストが下がって嬉しい限りです。
そしてSI業者は、上流工程に注力すべきでしょう。
そうすと、エンジニアはよりよい設計が出来るスキルを求められます。
じゃあどうする?
ご存知の通り、この業界の進歩は非常に早いものです。
本当にそんな時代が、想像よりずっと早く来るでしょう。
SI業界は、出来るだけ品質を下げずに製造コストを下げるべく、模索しています。
プログラミング工程はオフショアされ、アウトソースされ、自動ツール化され、必要な人員はどんどん減って行きます。
早くプログラマを卒業し、よりよい設計が出来るエンジニア(=アーキテクト)にならなくてはなりません。
いきあたりばったりでプログラムを書いている場合じゃありません。
毎日スパゲッティコードとにらめっこしている場合じゃないのです。
我々は「我々にしか出来ないこと」をやらなくてはなりません。
我々にしか出来ないこと
こう読み替えてもいいかもしれません。
「日本人にしか出来ないこと」
「人間にしか出来ないこと」
「自分にしか出来ないこと」
...
あなたにしか出来ないことは、何ですか?
もうひとつ求められるもの
設計までの工程をやる技術者と、その他にもうひとつ、オフショアや自動化ツールで出来ないことがあります。
プロジェクトの管理(=マネジメント)をする人です。
これからのSI業界で求められるのは、主にこの2つの能力ではないかと考えています。
つまり、アーキテクトスキルと、マネジメントスキルというわけです。
※誤解を招かないように補足しておくと、プログラミングスキルは必要ないと言ってるのではありません。それも必要です。そしてさらに設計スキルも求められるということです。
さらにその先は?
自動化ツールは日々開発されていきます。
上流工程までもオフショアする、という試みも既に始まっています。
また、海外から直接エンジニアを雇用する動きも広まりつつあります。
今はオフショア先との諸外国企業とは、協業関係を築けていますが、彼らもスキルレベルを向上させています。
いずれ「協業」ではなく「競争」になる日がくるとしたら、どうでしょう。
僕はさらにその先を行ってたいと考えています。