GoTheDistance

ござ先輩と言われています。(株) クオリティスタートという会社をやっています。

SIerの中の人として生きていく閉塞感

久しぶりのガチンコSIネタ。

私が感じた範囲で、きっとこういうことでSIerの中にいて閉塞感を感じているのかなぁと思う点を書いていきます。

技術的興味関心にマッチするかどうかは運

私は5年間SIerで働いていますが、自分の興味関心のある技術を仕事(=プロジェクト)で触れることが出来る機会は基本的に相当少ないと感じます。これが閉塞感を生んでいる一因だと思います。

仕事でJavaやりたいと言ってもJavaが出来る案件に自分がめぐり合えるかどうかは、ちょっと語弊がありますけど基本は運です。SIerは複数のプロジェクトを当然抱えており、あなたが無事プロジェクトが終わった時に次にアサインされるプロジェクトが.NETの案件しかなかった、というのはよくある話。また、会社の方針で違う部署に行けとかトラブってるので人が足りないのでヘルプで行って来いとか、そういうことだってやっぱりあって。運をつかむためには自分の得意分野を磨いてアピールして天命を待つ。恐らくこれがSIerの中にいる技術者の基本戦略だと思います。

新規開発より既存修正

もう1つが新規にシステムを開発するっていう案件よりも、既存のシステムを運用・保守改善する案件が多いってことも挙げられます。

基本的に開発ってのは単発モノです。コンサルもそうです。億単位の売りが立つこともありますが、お金は右から左に流れておしまい。また次の開発の案件を見つけないといけません。それに比べて運用のお仕事は基本的に毎月お金が入ります。開発と違って大きなトラブルにもなりにくいですし、会社にとって毎月お金が定期的に入ることはとってもありがたいことです。また、こういう仕事があるからこそSIerは存続できているとも言えます。

お客様も高い高いお金を払ってシステムを買っていらっしゃるのですから、1年後に全面再構築なんてやらかした日には社内からものすごい非難が飛んでくるはずで。3〜5年の単位で元を取っていくケースが多いと思います。システムは捨てない限り存続します。その3〜5年の間に、特にWeb系の技術はどんどん新しい技術や考え方が生み出されていきます。そういった世の中の流れに敏感な方、自分でシステムを設計したいんだという思いのある方にとって、このような環境は時にとても閉鎖的なものに映ります。何年も同じお客様を担当しているというケースは本当に多いです。

私も帳票のレイアウト変更とかの仕事をしたことがありますが、正直めんどくさいだけで誰も出来てしまうので退屈でしょうがありませんでした。プログラムには違いないけどね・・・、って思ったことがあります。

工程の分断

最後にあげられるのが、工程が分断されていることです。分断のポイントは端的に言ってしまえば「構想立案〜要件定義〜基本設計」の上流工程と「詳細設計〜実装〜テスト」の下流工程の2つです。id:toriaezuSIerの中のプログラマってすごい少ないかもって書いていた一因はここにあるでしょう。

顧客基盤を持っている(=お客様のシステムのライフサイクルを握っている)会社が上流工程を担当することが多く、かつ結構な割合でそこそこ大きな規模の子会社SIerが親会社のシステムを握っています。散々DISられていることですが、悪い部分だけ簡略化してしまうと、大企業のSIerは調整仕事がメインでコードを書くことは無く、中小のSIerは大企業のSIerのメンバーとして突っ込まれて作業指示に従って仕事する的なスキームがここで出来上がります。いわゆる「SIerSIerの外にいる協力会社」的な絵です。

これは私が思うに「上流から下流に流れる所が最もお金が儲かること」「上流工程と下流工程がSI業界全体で分断されていること」「下流工程を担当する人間を委任契約でかき集めることができること」の3点が複合的に絡み合ってしまった状態ではないかと思います。

お金儲けの観点から見ると、工程が分断されている方が都合が良いこともあります。当たり前の話ですが、1人が1人月の仕事に張り付くよりも、1人が10人使って10人月の仕事を管理する方が、会社は儲かります。人月というのはそういうもんです。先程も書きましたが、一番お金が流れるのは上流から下流に行くところです。上流だけでも下流だけでも儲けが少ないのが実情です。よって、この出世魚的なキャリアがSIの中で求められるんだと思います。

上述のお2人に共通しているお悩みポイントは、SIerのキャリアパスが「PG→SE→PM」という出世魚かお前はという直線的なパスしかないことにあると思います。最近ではITSSを導入して人事制度を整備されている会社も増えましたが、まだまだメインストリームはこの出世魚です。

さぁどうしよう

正直、非常に難しいところです。ずっと前からネットでは議論されていることですから。

私の目に映る範囲ではマクロ環境をどうこう言っても状況が変わるわけじゃないので自分たちで出来ることをやっていこう、やりたいことをやっていく為に頑張ろう、という方が多くとても励みになります。プログラムを書き続けていくためにとにかくコードを書いていける場所を作っていく or そういう会社を選ぶ人もいれば、新しい開発手法を生み出してそれを定着させてやろうという人もいれば、独立の道を選ぶ人もいらっしゃいます。オープンソースで貢献している方も多くいらっしゃいます。

あいまいな表現で申し訳ないのですが、優秀なエンジニアにしか出来ないビジネスモデルというのを構築することが最も効果的な解決策だと思っています。僕もそういうことを探しています。

「Think Globally, Act Locally × Keep Looking,Don't Settle」

閉塞感に負けずに頑張っていきましょう!