見出し画像

SIerの現場で起きていること

現場のあれこれを一筆書きで書いてみる。

凡人の凡人による凡人のための開発

一言でいうと、SIerは「凡人が100人集まって末永くシステムを保守する」ことを目指す中で生まれた職業だ。

一部の天才がコードを書けばスマートで安いシステムになるかもしれない。しかし、優れたエンジニアは引っ張りだこだし、チャレンジ精神も旺盛なのでどんどん活躍の場を移してゆく。

その状態で残された人間が、彼らのコードの意図を理解できるだろうか。人が入れ替わっても事業は続いてゆくので、持続可能性の低いシステムは避けなくてはいけない。

この思想が根強いから、日本のIT現場では未経験の人間でも歓迎されるのである。

凡人でも回る仕組み

では、凡人でもまわる仕組みはどのように維持されるのだろうか。まず、ゼロベースで作るのではなく、既存のロジックの使い回しをしてゆくのが基本である。

歴史ある会社だと蓄積された膨大なプログラムがあって、大抵の問題は既存パーツを参考に組み合わせれば解決となる。

天才エンジニアの書いた一切無駄のないコードは、裏を返すと「あそび」の部分がない。完璧に理解しないと使いこなせないので、安易なコピペだと事故を招く。

こうしてSIerは必然的に前例踏襲主義となり、斬新な発想よりも若干の非効率を残したベタな実装方法を優先するようになる。

同時に、既存のプログラムに精通した人間のほうが組織内の序列が上がってゆく。

凡人で回していくことに呼応してか、「どれだけ時間がかかったか」で収入が決まる人月商売となっており、ダラダラやったほうが身入りが大きい。

ちなみに、委託でやってきている外部のエンジニアは、長年担当して既存システムに精通していくうちに、段々と単価が高くなってきて、コスト見合いで切られる場合がある。蓄積されたスキルはゼロリセットである。

そういうわけで、時には停滞感を抱えつつ、3歩進んで2歩下がるを繰り返しながら維持されてゆくのがSIerの現場の特徴だ。

壊れつつある内向き主義

内向きで風通しの悪い開発習慣、というのがSIerの通説だが、この傾向は徐々に壊れつつある。開発コストを安くするために外部のクラウドサービスとの接続を行う企業が増えてきたからである。

エンジニアは当然ながら接続すること外部サービスをその都度勉強しなくていけない。

外部接続サービスは最初から幅広い顧客に提供することを意図しているため、いろんな会社が必要とする最大公約数的な機能に集中して作り込まれることになる。

内向きに閉じていたエンジニアはそこで「この機能はうちの会社特有なんだ」「この部分は他でも求められる機能なんだ」といった気づきにより、間接的に外の世界を知るのである。

これはエンジニアだけではなく、彼らに設計方針を示す私たち企画の人間にも意識変革を迫る。「組織の外から見て使えるシステムとは何か」という問いを持たなくてはいけない場面がどんどん増えているのだ。

大変な開発であっても、作ったシステムが目一杯動いて業務に貢献できれば、関わったメンバーは報われる。

一方、視野狭窄により、動かしても全然使われないシステムが出来上がってしまったらみんな意気消沈だ。(つまり仕事のやりがいに直結する)

今一度目線の高さを調整しなければと考える今日この頃だ。

この記事が参加している募集

仕事について話そう

この記事が気に入ったらサポートをしてみませんか?