orangeitems’s diary

40代ITエンジニアが毎日何か書くブログ

インフラエンジニアから見た、ソフトウェアエンジニアとSIer論

 

興味深い記事があったのでコメント。

 

realengineer.link

ツイッターで「ソフトウェアエンジニアとしてキャリアを歩むなら、SIer はおすすめできない」と発言している方に対して、現役 SIer 社員が反論していて、ちょっとした騒ぎになっていた。

10 年間 SIer で働いた経験がある人間として、SIer で「ソフトウェアエンジニア」のキャリアを積めるかどうかについて見解を示したい。

 

私はインフラエンジニアなので、ソフトウェア開発をしているエンジニア、業界では多数派である人たちを周辺から観察している存在だ。

ソフトウェアを作ってくれないとインフラは存在し得ないので、いつも感謝と尊敬の気持ちを持って彼らと間接的に接している。インフラは魔法のソフトウェアがあって初めて性能を発揮する。

SIerの特徴としては、顧客(ユーザー)の要件を聴いてそれを設計し実装するという点だ。SIerはたくさんの要件を聴いているうちに、どこのユーザーでも同じような要件が出てくることを知り、構築物を標準化して自社ソフトウェアにすることがある。したがって、SIerの全部のソフトウェア開発が、ユーザーありきだとは限らない。部署によっては自社ソフトウェア開発の仕事もあることに留意すべきではある。

また、ここ最近、自社で1からソフトウェア開発することはどんどん無くなっていて、他社のミドルウェアや、AWSなどのインフラ・PaaS基盤などを使うことも増えている。実績のあるソリューションを転用することにより、ソフトウェア開発の工数やリスクを減らすことができる。また有名であるからこそ協力会社にアウトソースすることもできる。

したがって、ソフトウェア開発の現場において、コーディングすることの重要性は残念ながら下がっていると言わざるを得ない。コーディング済みでかつ、テストされ保守されているソリューションをいかに組み合わせ、それをどう使うかということが中心になっているように思う。

その状況の元でも、顧客が要件を出し、それを実装し、テストし、顧客が受け入れるという文化は何一つ変わっていない。それがアジャイルであってもだ。なぜなら、契約をし、成果物を受け取り、お金を払うという一連の商行為は止めようがない。結果として要件を正しく顧客から引き出し、情報処理して設計するまで。そしてそれをプロジェクトとしていかに取りまとめ、そして実装までをスムーズにコミットするか。これらの価値は、デジタル要件がこれだけ噴出している世の中において価値が爆上がりしていると言わざるを得ない。一方で、実装については前述のとおり、1からコーディングする必要性がどんどんなくなっていて、かつ「誰でも実装できる」ことが重要になっているため、1からコーディングすることの価値は目減りしていると言わざるを得ない。

ソフトウェアエンジニアと言われている人たちも、複雑なコーディングをしなくても簡単に実装できる仕組みをどんどん作っている。そのため、SIerがいわゆるエンタープライズなユーザーと向かい合い、高品質のシステムを短納期で仕上げなければいけないとしたときに、設計段階で、実績のある他社ソフトウェアを使いたくなるのもよくわかる。

一方、SIerのアーキテクチャーが古い、と言われている点を言及しておく。結局のところユーザーにとって、新しいかどうかが問題ではない。要件を満たしてくれるか、そして安定して動き続けてくれるかのほうがよっぽど大事だ。だからこそSIerが選択する技術は「古い」ではなく「実績がある」を選択しがちとなる。

これが、内製で、新しい技術を選択したことで起こる様々なリスクを自社で吸収できるなら話は別となる。短期的に見れば新しいからこそ、新しい技術がどんどん実装されるし話題にもなる。ソフトウェアエンジニアとしてみれば興味が高い部分だろうが、それはSIerとユーザーの関係においては重要視されない。繰り返すが要件を満たすことが大事である。そして、もし内製において「間違った選択」をし、勢いを失いメンテナンスされなくなる運命の新技術を選択するようなら、それは「技術的負債」として語られることになるのはこの業界の「あるある」である。

SIerの給与が高いことが記事には書かれていたが、これはユーザーから見た「価値」が数値化されているということだ。実装技術そのものではなく、どう実装し実現するか、そしてどう保守するかのほうが大事な世界であるから当然だと思う。

この文脈において、ソフトウェアエンジニア、がどういう選択をするかは人生そのものだなと、脇から観察している。答えがないからこそ面白いではないか。どんな選択をしようとも、インフラエンジニアとしては、感謝と尊敬の念を持って接するしかない。