二流エンジニアでもいいじゃない

2015/2/27作成

コードを書く経営者ドワンゴ川上会長「プログラミングこそが基礎教養」

IT業界は人手不足という記事を書いた後にこの川上さんの講演記事を読みまして、ああなるほどなと理解しました。

川上さん曰く、かつて半導体業界では、技術革新の波に乗っただけの二流エンジニアが大量に発生し、その後技術革新が停滞したら二流エンジニアが職を失ったということがあるらしい。これって某業界に似ているよねって。

某業界をウェブ業界と思ってしまったのは私がウェブ業界に住んでいるからかな。ゲーム業界の人は、まさにゲーム業界がそうと思うかもしれないし、他の業界の人もそれぞれそう思うかもしれない。でもまあ、私はウェブ業界の人だから、ひとまずウェブ業界のこととして考えてみよう。

かつての半導体業界と同じく、ウェブ業界も今は猛烈な技術革新が起こっています。特にミドルウェアの発達が激しく、適切なフレームワークやライブラリを選択したら、それらを組み合わせるだけで自分ではほとんどプログラムを書かずにウェブサービスが出来上がってしまいます。

これはこれで素晴らしい未来がやっていたことでもあります。怠惰はプログラマの美徳ですから、プログラムを書かなくて済むならそれにこしたことはありません。ありものを組み合わせてプロダクトが出来上がるなら、全体の省力化という意味では正しいはずです。

川上さんが問題提議しているのは、おそらく二つの点だと思います。ひとつは、二流では一流のプロダクトを作れないこと。もう一つは技術革新が停滞したときに二流では職を失うリスクがあること。

まず二流のエンジニアには一流のプロダクトが作れない点。ありものを集めてものを作ることしか出来ないとなると、全く新しいものは作り出せないということになります。極端に言えば、どっかで見たことのあるようなプロダクトを見た目を変えただけのシステムしか作れないってことですよね。まあ、革新はシステムにではなくコンテンツにある場合もありますので、システムが既存の焼き直しでも立派に革新的なウェブサービスを作れるかもしれませんが、それは企画や制作が一流なのであって、エンジニアは二流ですよねってことですね。

というのは確かに問題ではあるような気もするんですが、一方で別にそれでもいいんじゃないのって気もしないでもないです。ありものを寄せ集めて、どっかで見たようなプロダクトを作るというのは、それが今まさにウェブ業界で求められているモノヅクリだからですよね。一流のエンジニアがスクラッチでシステムを作るよりも、二流のエンジニアが寄せ集めで作る方が短期間で低コストで作ることが出来る。んで、今のウェブ業界ではとにかくスピードが優先されるので、三年かけてじっくりと作るのではなく、とにかく動くものを三ヶ月で作ることが要求されている。つまり、ウェブ業界では一流のエンジニアではなく二流のエンジニアが求められているってことなんだと思います。あ、もちろんウェブ業界にも一流の方はいっぱいいらっしゃいますよ。ウェブ業界のエンジニアの方をディスりたいわけではありませんので、もしも気に障りましたらすいません。マスとしての需要が二流のエンジニアにあるというだけで、一流の方の場所もあるのは確かですから。

そして、技術革新が停滞したときに二流では職を失うというリスクですが、それも別にそれでいいんじゃないでしょうか。職を失ったエンジニアが全員世をはかなんで自殺したというのでしたら社会問題ですが、実際には他の業界に転職して、それぞれがそれなりにやっていることだと思います。ウェブ業界の二流のエンジニアも、それぞれどうにかやっていくことだと思います。だいたいからして、現在はウェブ業界がホットですから人材需要が旺盛ですが、技術が停滞する頃には人材需要も低下するでしょう。であれば二流であろうが一流であろうが、結局職にあぶれる人は大量にでるでしょう。エンジニア個人の生き残り戦略としては一流か二流かというのは大事ですが、業界全体としてみたときには、淘汰が起こるのは必然のような気がします。

でまあ、結論としては現在のウェブ業界には二流のエンジニアにも居場所がありますし、むしろそういう人材の方が多く求められていると。将来に渡って安定して雇用される見込みはないかもしれないので、その点は覚悟しておきましょうと。それがいやなら一流になって生き残れるようにするということですね。ともあく、肝心なのは自分が一流であるか二流であるかの見極めをしっかりしておくべきというところではないかと思います。

以上、二流にすら及ばない三流プログラマである私のとってはどうでも言い話でした(ひがみ

(2015/3/2追記)

ありものを使ってプロダクトを作るのを悪いと言っているようにも読めるかもしれないので補足。全然悪くないです。

本文にも書きましたが、怠惰はプログラマの美徳ですから、ありものがあるのに自力で開発するのは、むしろ悪です。一流のプログラマだってというか、一流のプログラマこそありものをうまく組み合わせて、高速に品質の高いプロダクトを作り出すことでしょう。

多分ですが、一流と二流の違いは、ありものが見つからなかったときに現れるのではないでしょうか。ありものが無い場合に、自力で作ってしまえるのが一流。二流はそれができない。あ、でも二流でもそれくらいはできそうだな。自力で作れないのは三流だろうか。まあ、二流か三流かは別として、ありものが無いときに自力でなんとかできるってのは大事な能力だよねと。コピペプログラマだと、ぐぐってわからなかったら「技術的に不可能です」とか言っちゃったりしますからね。こわいこわい。