エンタープライズ開発者が負け組として軽蔑される日本のSI業界って

本ブログの記事に対して多くの皆さんからいただいた意見を総合すると、技術力のあるトッププログラマーにとって現状の日本のSI業界での仕事というのは、働き甲斐のない、魅力の少ない仕事として認識されているという残念な事実を思い知らされます。

  • オブジェクト指向の基本すらいまだにきちんと使いこなせない開発の現場
  • 技術について勉強した知識をほとんど活用できないし評価もされない
  • 無駄なドキュメント作成などに対する膨大な単純作業を強いられる
  • いわゆる3K職場と言われるような過酷な労働と低い賃金
  • 20年以上も前の仕事の進め方からあまり進歩が見られない
  • 多重下請け構造によりユーザーに直接価値を提案するような仕事が難しい

多くの業務アプリケーション開発現場における体験を通して、以上のようなことが語られているということを考えれば、「業務アプリケーションのプログラマーは負け組だ」という意見が出てくることも当然のことかもしれません。現在では仕事環境の良し悪しや待遇などの情報はネット上でどんどんうわさとして広まりますから、優秀な開発者から順にソーシャル系のサービスプロバイダーや外資系の企業にどんどんと流出していってしまい、SI業界における技術の空洞化がますます加速される状況となっていることは紛れもない事実としてあるのでしょう。
こういった事情を反映しているのでしょうか、最近日本語で出版される(特に上級者向けの)技術書のタイトルをみると、

  • Scala、F#、Haskell、Erlangといった関数型言語(SI系では通常めったに利用されない)
  • Hadoopなどの分散処理(大量データ処理は業務系でこそ使うべきですが)
  • RESTサービス

など業務系というより、Webサービスプロバイダー向けの本に極端に偏っているのではないかということが気になります。(オライリーの翻訳書が多数出版されているというも原因の一つとして考えられますが。)最近も、あるルートから一足早く

プログラミングScala

プログラミングScala

を入手したのですが、日本語のScalaの本は既にいろいろとたくさん出版されているようですね。日本でScalaやHaskellなどプログラミング言語系の本ばかりがたくさん出版されるのは、翻訳者や著者の興味関心と共に、日常の業務で技術力を発揮できない多くの職業プログラマーが知的好奇心を満たすために個人的に勉強したり勉強会に参加したりするからということもあるのでしょうか?プログラミング言語の勉強であれば、時間さえあれば個人でできますからね。
ところが、Spring Frameworkã‚„Java EEなど業務アプリケーション開発の現場でもっと役に立ちそうな分野に関する日本語の書籍は、ごく入門的なものや製品の宣伝的なものを除けば驚くべきことに本当に片手で数えるほどしか出版されていません。しかも、先日今のSI業界もリファクタリング可能だと思いますで紹介したDDD*1ã‚„Enterprise Integration Patternsのような名著は翻訳すらされていません。こうした状況が日本だけでなく世界的な傾向であれば納得がいくのですが、Spring Frameworkã‚„Java EEでAmazonの洋書を検索すると、ここ数年内に出版されたものだけでも何十という書籍が検索されるのですね。当然開発者の興味関心があって売れる本が出版されるわけですから、外国ではエンタープライズJavaの開発の人気は衰えるどころか、非常に高い人気を維持していると考えて間違いありません。私も興味のある洋書をできるだけ多く読むようにしているのですが、Springに関する本だけでも読みきれない程多くの本が次から次へと出版されています。さらに、OSS Javaフレームワークはどんどん高度化しているで指摘したようなエンタープライズ向けのOSSの開発も海外では現在も盛んに行われています。同じエンタープライズJava開発と言っても、いつまでも10年前のStruts1を使い続ける日本のSI業界とは違い、海外ではどんどん新しいアイデアが取り入れられて、日々進歩している活気にあふれた魅力的な世界が存在しているように思われます。
SI業界の重鎮の方々はこうした状況をどのように考えておられるのでしょうか?このままSI業界の不人気が続けば、優秀な技術者の流出が続くことでシステムの構築能力や品質がぐんぐん低下し、最終的にITシステムが支えているビジネスそのものの国際競争力も無くなってしまうということは誰が考えても明らかだと思うのですが、いつまで現状のやり方を放置しておくのですか?もちろん、日本の伝統的に形成されてきた業界の構造を一夜で変えることは困難ですが、外国のSIのやり方で学ぶべきところは積極的に取り入れるようにすれば、業界のリファクタリングのヒントが得られると思います。(ここでは、エンタープライズ開発関連書籍の出版傾向にみる海外と日本の温度差について紹介させていただきましたが、日本の業界の常識にとらわれずに海外のやり方にもっと目を向けていただければ、学ぶべきことが多いように思います。海外とまったく同じ状態を目指す必要は必ずしもないと思いますが。)30年前の古き良き時代の考え方にいつまでもしがみついているのではなく、アジャイル開発など改善できるところはどんどん新しい考え方として取り入れていくべきではないでしょうか?
トップレベルのプログラマーから、エンタープライズアプリケーション開発者が負け組として軽蔑される*2日本のSI業界って絶対に変だと思います。まずは、外国のように業務プログラマーが専門家として誇りを持って働ける環境を作るべきではないでしょうか。そのためには、まず、労働集約前提でレベルの低いプログラマーに合わせて規約を作るのではなく、レベルの高いプログラマーの仕事の仕方をもっと評価し(報酬ということだけでなくオブジェクト指向などの考え方を尊重する。)、教育も推奨して全体のスキルレベルの底上げを行うということに真面目に取り組むのが最初の一歩としてはよいのではないでしょうか。プログラマーの技術力を正しく評価するかどうか、この点が活気のある海外の業界と日本のSI業界との最大の違いだと私は思います。