SIerでは自動化が進まず、テストを含め、ありとあらゆることが手動かつ人力で行われている。 機械でやれば5秒で済むような作業を人間が3日かけてやっている。非効率・非生産の極みであり、関係者全員が不幸になっているが、打開の目処は立っていない。
SIerは自動化が根付いてないイメージ。コードをメインで書くのは業務委託先で、業務委託先にできる人がいなければやることはない。やってもやらなくても、SI本隊に影響ないからとの事らしい。うーん確かにこれはアレだな。SWEって何かあれば効率化したい人が向いてると思うから。
— サカモト@エンジニアキャリア論 (@sakamoto_582) January 23, 2023
SIerで自動化が進まない理由は数え切れないほどある。
- プロジェクトをリードするのはプロパー社員だが、プロパー社員にはスキルがない
- 業務委託先の人間が積極的に提案して自動化するインセンティブがない
- 既存のやり方を変えるリスクを背負うのは割に合わない
- 負債が積み重なりすぎて、身動きが取れない
- 忙しくて自動化を試みる余裕がない
などの理由はもちろんある。
SIerの中の人は「自分にスキルがない」というのを認めないが、当然知識や経験がないと、新しい試みは進められない。
「世の中の多くのシステムは Docker で動いているらしい!便利みたいだぞ!そうだ、俺たちのシステムも Docker で動かそう!」
という意見が出たとしても、経験がないのでやり方がわからないのだ。
こういう話をすると、
「SIerは大きい。社内のどこかには必ず知見があるから大丈夫だ」
と反論するプライドの高い現役SIer社員が出てくるが、チーム内に知見がないと意味がないのだ。
別の部署の社内の人間を探して、ミーティングを設定して、仕事を依頼して、稼働を確保し、作業をお願いし、Docker が動く環境を用意し、作業内容を受け取り、自分たちでテストして、報告資料を作り、謎のドキュメントを大量に作る...
みたいな手間をかけなければならないのであれば、「じゃあ今まで通りでいいや」となるに決まっているだろう。
自分たちのチームに知見と経験があれば、「じゃあ PoC でやってみますね」で終わる話が、いちいち大げさになってしまうのだ。 自分で手を動かせないから、何も変えられない。
さて、能力が低い割にプライドが高いSIer社員はどうしようもないが、SIerの中には、特に若手の中には、スキルも向上心もやる気もあって、大学でコンピューターサイエンスを学んだ優秀な人もいる。
SIerのピラミッド的かつ年功序列な体制があって、若手を「作業員」としてしか見ない傾向はあるのだが、それ以上に足を引っ張っている仕組みがある。
「社内プロキシ」である。
社内プロキシこそが、SIer最大の癌であると確信している。
社内プロキシとは
SIer時代、インターネットに接続するためには、いちいち必ず社内用のプロキシサーバを経由する必要があった。
SIerは性悪説に基づいて運用しているので、ネットワーク通信はいちいち監視している。
「インターネットは怖いものでござる」という高齢者特有の認識があるため、PCにダウンロードできるツールも制限されていたりする。
npm も maven も、何から何まで社内プロキシに阻まれる。
GitHubへのアクセスすらブロックされたこともある(後に取り消された)
Visual Studio Code に Copilot を入れて、プログラミングを補助してもらうことなどできないだろう。Copilot の通信もいちいち社内プロキシでブロックするからだ。
SIerの社内環境の何がダメなのか
ウェブ系企業の人には想像できないかもしれないが、SIerの「プロキシブロック」は想像以上にSIer社員の精神を蝕んでいる。
- プロキシの縛り
- Windowsの縛り
- メモリ4GBの縛り
がきつすぎて、世の中の全ての便利ツールを使おうとするたびに、いちいちジャブで殴られるような気分になる。
2010年代半ばだったろうか。チームの有志で、「開発環境を Docker化してみよう」という動きがあった。
当然、社内に知見はない。
Docker化するときに、まず Windows 7 で動かない問題が発生して、その後はいちいちプロキシに阻まれる問題が発生した。
さらには、ローカルの開発環境を Docker 化できたとしても、開発サーバーのインターネット通信は完全にブロックされているため、 「普通」なら何も考えずに構築できるものを、いちいち「閉鎖環境でどうしたらやりたいことが実現できるか」を検討しなければならなかった。
とにかく、何をやるにもハードルが高すぎて、社員の自由な行動や発想をブロックする仕組みになっているのだ。
SIerはよくガラパゴス諸島に例えられるが、社内プロキシによって外界と隔てられているのが原因である。
プロキシで邪魔するだけではない、謎のリモートデスクトップ
リモートワークが推奨されていた頃、仕事の邪魔をするのはプロキシだけではなかった。
謎のリモートデスクトップがあったのだ。
社員は情報セキュリティ部が管理するリモートデスクトップにログインして、そこで作業をするのである。
インストールするソフトウェアも監視されていて、SIerのくせに Eclipse もインストールできなかった。
IntelliJ や Visual Studio Code などもってのほかだ。
割り当てられたリモートデスクトップのメモリはたしか4GBで、ぬるぬると微妙にラグがある気持ち悪い環境で業務を進めながら、こんな環境に長くいると精神が死ぬな、と思ったものだ。
くだらない制約を考えて、社内の生産性を蝕む情報セキュリティ部こそが、SIerの癌である。
インターネットは怖いからという理由で、Outbound の通信でさえ全てブロックされる。
開発・本番問わず、サーバーにファイルを置くときはFFFTPというソフトウェアを使わなければならなかった。
「怖いから」「何かあったら困るから」という理由で、何一つ許さないSIerの文化こそが、彼ら自身の進化を妨げている。
インターネットに接続させずに、何を自動化させるというのだ。
新しい技術を理解できない阿呆の存在
SIerは構造的に大きな非効率を抱えている。
まず、何かプロジェクトを進める際は、「上の人間」に承認を得なければならない。
その「上の人間」は現代の技術を全く知らない。ずっと外注に投げて、管理しかしてこなかったのだ。
現在の技術スタックに興味すら示していなかった。Qiita や zenn、 Stackoverflow を読むより、日経新聞を読んでいる時間の方が長いだろう。
そんな人達がプロジェクトの方針を決めるのだから、ここ10年で登場した新しいツールや考え方が採用されるはずがない。
Excel にスクショで証跡を残し続けるのだ。
テスト自動化は進まない
SIerはSIerで、テストを自動化するのが自分たちの非効率を打開する鍵だと考えている節がある。
大小問わず、様々な部署でテスト自動化が試みられ、そのことごとくが失敗してきた。
テストを書く習慣がない。 テストを回せる環境がない。 その上、責任の所在を明らかにするために、「テストをしました」という証跡を残さなければならない。 実際に手を動かせるのは外注先の開発者だが、彼らには驚くほど、能動的にプロジェクトを良くしようとする気概がない。 ほとんどの人は、SIerのプロパーから指示された作業しかしない。 スキルがあっても、意志がなかった。
そしてSIerの若手社員には外部の情報に触れて、何か試そうとする人間はいたが、彼らには開発経験がなかった。 だから、「やる気と知識」を形にできなかったのだ。
意思決定の主役である40歳以上の社員の多くは、管理以外に関心がなかった。
SIerはもう、構造的に自動化などできっこないのだ。 皆が疲弊して、救いの糸を求めているのに、誰も地獄から抜け出せない。
ぬるい地獄で、永遠に苦しみながら、「顧客」という空から降ってくる年収を食って生きてる。
定年でやっと、地獄から抜け出せるのだ。抜け出した先には何もないというのに。