「SIerはクズだから辞めるわ」では解決にならない

SIerはクズだ、クソであるという話はちょっと検索すれば山のように出てきます。

クソなポイントは山のようにあるのですが、私がざっと思いつくことを挙げると、以下のようなところがクソなのかなと思います。

  • 保守的で新しい技術に対するアンテナの感度があまりに低い
  • デファクトスタンダードを無視して自社のやり方をゴリ押しする
  • 見積がザルすぎる
  • ドキュメントの量やかかった労力、投じた人員に比例して開発コストが増大していき、出来上がったソフトウェアの品質に応じたコストが支払われる構造になってない
  • 何重にも下請が追加されていった結果、伝言ゲームになってコミュニケーションが取れなくなる
  • 何かと稟議や承認フローが要求される業務
  • 開発者とエンドユーザーにの間にある垣根があまりに高いので、顧客が望むソフトウェアの姿が開発者からはほとんど見えない
  • 能力が低いプログラマが多い
  • プロジェクトが遅れるとすぐ人員追加や長時間労働で解決しようとする
  • システムの知識が無い人にマネジメントをやらせる
  • コンプライアンス、法令を遵守するという意識が希薄(労基法、下請法など)

こういうところに幻滅した人たちが集まって、なにか先進的なWebサービスを作るベンチャーを立ち上げるとか、そこにjoinするだとか、そういう構図はよく見ます。本当によく見ます。Twitterでは日常的に流れてきますね。例えば以下。

SIerはクソだからやめる。大いに結構です。私もたぶんその一人になります。

でもそれじゃイカンよね、ということもここ数年ぼんやりと思い続けていて、最近それを強く思うようになってきたのでこういう記事を書いてみました。

SIerは必要

SIerはシステムインテグレーターです。お客さんがこういう事をITの力を借りて効率化したいんだよね、と言い出したときにその要望を聞き取り、一緒に業務を分析して、それを効率化するために最適なシステムを構築する。世の中のありとあらゆる会社がITに精通しているわけでは無く、まだまだコンピュータで自動化できるけど手作業でやっているという部分は多いですから、こういう仕事自体はまだ必要なんです。大手SIerはクソが多いけど、SIerはまだ必要で、クソでないSIerが望まれています。

SIerがクソのままだったら、日本の非IT系企業はいつまでたっても生産性が上がらないかも知れません。…いや、わかりませんよ?あらゆる業種でITのパワーを駆使したところでどれくらい生産性が上がるかっていう定量的な評価は難しいですよ。でも普通に考えて、パソコンでやれることをやってないような職場の業務をパソコンにやらせるようになったらそら、楽になるでしょう。そういうところで日本はまだまだ生産性を向上できる余地はあると私は思っています。

で、SIerがクソだという理由でどんどん優秀な人材が流出したら、そういうシステム化のノウハウが無い企業ってどうなるんでしょうか。もしくは、巨大なSIerのクソ高い見積もりに驚いてひっくり返り、システム化を諦めるような中小企業はどうしたらいいんでしょうか。

私が非常に印象に残っているのは、一昨年に訪れた地方の工場です。そこでは世界シェアTopいくつに入るような医療用の検査機器を製造しているんですけれども、現場ではまだまだ紙切れをセロハンテープで張ってそこにハンコ押したりとか、Excelで作ったチェックシートを印刷して手書きでチェック、その後スキャンしてヤマダ電機で売ってる3万円くらいのNASに入れる、みたいなことをしてるんですよね。

で、そこの工場で働いてる人たちを見ると、こう、すごく親近感が湧くんですよね。うまく表現できないですけど。言葉は悪いんですけど、こう、カッペ臭いんですよ。私もカッペなんでそういう人とは、カッペ同士でしか知覚できないフェロモンみたいなものでコミュニケーション取ってんじゃないかと思うんですけど、ともかく、こう魂が共鳴するんですよ。

すると、地元で働いてる友達のことを思いだしてしまうんですよね。私の地元、秋田では本当に職が無くて、大体若いやつは電子部品の製造工場とかTDKの工場とかで働くんですよ。そういう人たちを思い出すんですよね。髪染めてギャルっぽい女の子とかが作業着着てネジ締めてるのを見るとね。車はbBで「Child in car」みたいなステッカーを張って、カーテン付けて、良くわからない巨大なシフトノブとかハンドルカバーとか付けてるんだろうなぁとか想像するんですよ。

そんで、秋田に帰るとたまに「あすごの工場はスペースシャトルの部品をつぐってるんだや!!」みたいな話をたまに聞いて、おっちゃんもうスペースシャトル無ぇよ、コロンビア墜落したべ…とか思うんですけど。

何が言いたいのかと言うと、そういう企業の業務を助けてあげる可能性を持つSIerは本来尊い仕事なんじゃないかとすら私は思ってます。だって、田舎の中小企業ですらスペースシャトルと関わってるんですよ?そういう人たちに限らず、あらゆる業種のお手伝いを出来る能力を持った企業って中々無いですよ。そしてそのSIerがクソなのは本当社会にとって損失だと思います。

そういう考えなので、「SIerはクソだよな」って優秀な人材が流出してくのは残念です。「私たちとセクシーなサービスを開発しませんか」「うん、するするー」みたいなノリで出ていくこと自体は、それぞれの人生ですし一向に構わないんですし、SIerでエンジニアがどういう扱われ方でいるかをよく知ってるのでなにも口出しできないです。でも、こうもSIerが上から目線的な経営をしている状態ですと、お前ら優秀なんだから何とかしてやれよって思ってしまいますね。いや、エンジニアが経営やマネジメントの領域に踏み込むのは違うでしょ、ってのも分かるんですけど。そう思ってしまう。

だからそういう使命感で言えば私はまだまだSIerを続けたいと思う。しかしながらSIerで働くのはもうしんどいから辞めたいと思っている。なぜこんなことになってしまうのか…。

ITシステムの未来

今後、少なくとも数十年のスパンではコンピュータは使われ続けるでしょうし、コンピュータに仕事をやらせるためのプロフェッショナルであるプログラマ的な役割の人は必要とされるでしょう。よく、御用聞きスタイルのSIerは滅びるとか、大手SIerは滅亡するだとか、AIや人工知能によってどうたらとか言う人が居ますが、私自身は結構楽観的(悲観的?)な考えを持っていて、もうしばらくは御用聞きスタイルのSIerも大手SIerも滅びないしAIも仕事を奪わないと考えてます。90年台後半から、SIみたいな仕事が完全に不要になるような兆候や大きな変化っていうのは無かったような気が。だからもう20年くらいは行けるんじゃないかな、と。勘ですけど。

そういう中で、本当に優秀な人たちが集まって「セクシーなWebサービスを開発する」みたいな方向じゃなくて、SIerがこれまでやってこれなかった事に再チャレンジするという流れが来たら良いんだけどなぁなんてことを、完全に他力本願な考えですがそう思ってます。

お客さんに上手く説明して丸め込む能力も必要

私自身、そういう問題意識は長らくあって、現職場においてもSIに特化したWebフレームワークみたいなものを作った時期がありました。Play FrameworkをベースにScalaで開発したもので、SQLとHTMLさえ書ければ後は何もいらない、HTMLの中にデータベース列をマジックワード的な感じで書いて行けば、あとはバリデーションもCRUD操作もほとんど自動で生成できますよ、承認フローやPDF/Excel/Word出力もこなせますよ、帳票はHTMLで書けますよ、みたいな機能を持ってます。

これは自分が言うのもなんですが結構良く出来たフレームワークでして、実際うちの新人(オブジェクト指向分かりません、HTMLもちょっとしか読めません、というレベル)に教えた所、半年くらいでそこそこの規模のシステムが出来てました。もともと、Webアプリ開発の知識が無くて遊んでいる人間が多く(これもSIerの問題?なのかもしれませんが)、その人たちの稼働率を上げたいという主旨の元開発されたフレームワークだったのでその目的は大いに達成されました。

だから個人的にはこの仕組みをどんどん取り組んでいきたいという気持ちがあり、ことあるたびに提案していたのですが「Scalaじゃ保守が大変だしなぁ」「そういう独自フレームワークってできる人が限られるから入れたくない」と却下されることがほとんどでした。保守が大変って、今までのシステムだって全部俺が保守してきたんだから好きにやらせろやと正直思ったんですが、彼らの言い分も重々理解できるのでそこまで私も主張しませんでした。

あとは、妙なこだわりを見せるお客さんが多かったというのもあります。「Web画面上のここをクリックしたらUSB接続された機器を動かしたい」とかいう、「っていうかWebアプリとして実装すべきなのかこれは?」ということを平気で言うお客さんとかもいて、どうしてもインデント開発部分が大きくなってしまうからフレームワークを適用するメリットが無いとか。

しかも、このようなフレームワークを作るのってわが社で2回目の事だったんです。1回目も2回目もうまくいかなかったのは結局、「俺たちの要望に完璧に合わせてくれなきゃヤダ」というお客さんの要望をうまいこと開発者側にとって都合が良い方向に持っていくスキルが何よりも重要、ということに気付けなかったという事なのかなと私は思ってます。と書くと、いかにも開発者側に都合が良いように思えますが、違うんですよ。大した違いじゃないし、運用上問題ないから提案するんですけど、お客さんのほとんどはIT関係に詳しく無くて(だからこそ依頼してる)、「こんな小さなことなんだから対応してよ」って思っちゃうんですよね。実際はその小さなことはエンジニア側から見るとすごい差なんですけど。そういうのをうまく説明するスキルを持った人が交渉に当たらなきゃいけないと思うんですが、SIerだと実際に客先に行って要件聞いてきて仕様を考えるのは上の人だったりとかして以下略。

あとは、こういう「型にハマったやり方をすればすごく低コストで作れますよ」っていう提案は意外にお客さんには響かないんですよね。私の経験上ですが、「多少制限があっても安い」よりは「全然制限が無くて要望通り作ってくれるけど高い」が好まれることが多いです。これはたぶん、機能てんこ盛りの最上位機種家電製品を好んだり、絶対使わないような馬力・速度が出るような車を好んで買ったりする日本人の性質というか、そんなものともつながってるんじゃないかという気がしますが。

ネームバリューなんかもあるはずですね。聞いたことが無いような名前の会社が1000万という見積もりを提示して、NTTとか富士通とかいう名前の会社が2000万という見積もりを提示したら、「まぁ安心料だと思ってNTTにしとくか」みたいな風に判断が傾かないですか?でも実際は、有名な名前が付いてる会社で作ったシステムが全然まともに動かなくて結局ゴミになったとかいう事例はよくあるのがIT業界なんですよね。

ですから、そのあたりの事情もお客さんに多少は知ってもらえると業界としてはもっといい方向に向かっていくのかなーと思ったり。

まとめ

なんだか取り留めのない話ばかりしてしまいましたが、私の言いたいことはこんな感じです。

  • SIは今後も産業界に必要
  • でも今のクソなSIerはもうちょっと改革していく必要がある
  • 優秀なエンジニアがSIerから流出していくのは残念(だが止めるわけにもいかない)
  • 技術だけじゃなくて対人交渉力も必要
  • でもそんなスキルがある人間って中々居ないよね

こういう状況では私は閉塞感を感じてしまうし、今後の日本は大丈夫なんかなという気分になってくるんですが、どうなんでしょうね?SIerを辞めて六本木渋谷あたりのオシャレなオフィスでセクシーなWebサービスを開発してる皆さんはどう思ってますか。私は問題とは思うものの、SIerのひどさを知ってるので周りのエンジニアに「もうちょっと使命感を持てよ、社会貢献しろよ」なんてことは口が裂けても言えないですし、またこの問題に対処するには個人ではどうしようも出来ないので半ばあきらめてるんですけど。

私は、地方の工場とか見てたまたま問題意識を持ったんですけど、SIerに居るとエンドユーザーの職場や業務を見ること自体がそもそも無いからそういう事について考える機会もあまり無いのかもしれないですね。