まともな技術者はSIerには行ってはいけない

  • 2020年5月1日
  • 2020年5月1日
  • IT業界

プログラミングが好きでIT企業に入ったはずが、やらされる仕事はひたすらエクセルでドキュメント作成、テストばかり…。

もしかすると、あなたが働いている場所はSIerかもしれません。もし、ドキュメントの専門家ではなくITの専門家になりたいのであるならばSIerに行ってはいけません。

 

時代遅れの開発手法

SIerはシステムの開発手法として、主にウォーターフォール開発を採用しています。
要件を決め、設計が終わったらそこからは仕様変更をせずに実装しシステムを作っていきます。

要件・設計を完璧にやれると思っている

システム開発において要件・設計が大切なのは言うまでもありません。もちろん完璧を目指して仕様を決めていくのは良いことです。ただ、現実論として複雑化するシステムの仕様をまだ実装をしていない段階でミスなしで決めるというのは無理があります。ただ、SIerに染まった(洗脳された)人たちはこのことを理解していません。

なので、要件・設計にミスは起きないという想定で工数見積もりがされますし、実装段階で仕様の改善などが挙がっても頑なに仕様変更を認めません。この開発手法が残業前提のスケジュールの炎上案件といくつものバグを作っていきます。

開発手法を見直す気がない

システム開発に限らず、100%計画通りに進むことなんてほとんどないでしょう。実装してみてからじゃないとわからない事はたくさんあります。

それでも、SEの人たちはコーディングがそこまでできないにも関わらずPGたちの意見を聞きません。また、上流と下流は対等のはず(むしろコーディングができるPGの方が上では?)ですがなぜか自分たちの方が上だと思っているので実装における問題を一番よくわかっているPGの意見に聞く耳を持たず、一向に改善される見込みがありません。

 

技術軽視

ここでいう技術というのは、複雑な設計書を大量に作り出すことでもエクセルにスクショを大量に張り付けることではありません。

ビルド・デプロイ・テスト等の自動化、記述量を少なくメンテナンスがしやすくかつバグの少ないコードの書き方などを指します。

自動化をしない

システムはいったん出来上がるとその後は運用・保守の段階に入りますが、SIerの案件ではこのようなものが多いでしょう。工数のわりに修正するソースはたったの数行といったケースもぜんぜんあります。ここだけでみると簡単のように思えますがSIerではとても無駄な時間を要することになります。

システムがいったん出来上がっているので修正をする際、まずは既存のシステムを動かさなければいけないわけですがそのための環境を作るのにとても時間がかかります。

手順書があることがほとんどですが大抵は手順書が古く手順書通りにやってうまくいけばラッキーぐらいの感覚です。また、修正が終わりいざテストをしようとなった時もテスト環境を作らなければいけないためここでも時間がかかります。

基本的に環境面は現場にしか答えがないので手順書の質が低いとググっても答えが出ないことなのでベテランのエンジニアも含め総じて時間がかかります。顧客・コーディングをしないSEは基本的にエクセルを書いておわりのためこの現状に耳を傾けようとはしないので自動化する気もありません。

このツールをいれたほうが大幅に工数を削減できますと提案しても却下されるのが目に見えているでしょう。

スパゲティコードの量産

SIerはコーディングが出来ない人の方が立場が上なのでどうしてもソースコードの質が下がります。これは、実際にコーディングをするPGのレベルが低いわけではなく生産性の低い開発手法と無理のある工数でやらせているのが原因です。

最終的な成果物としてはシステムそのもののはずなのですが、設計書に始まる色々な資料のクオリティを無駄に上げようとします。ここの文言が良くない、変更履歴のフォーマットが違うから修正しろ等々…。

意味が通る時点でさっさと実装にうつったほうがいいのですが、ドキュメントに無駄なレビュと修正を重ね、そこから残った工数でプログラムを書いていくので質の良いソースコードがかけるわけがありません。

技術力の高いPGが既存のソースコードをなおそうとしても積み重なったスパゲティコードと、その修正に伴うテストを考えるととても現実的ではありません。こうして、ベタ書き、同じ処理があちこちに書いてあるなどオブジェクト指向のかけらもないプログラムで作られたシステムが量産されていくわけです。

 

生産性を下げる環境

低スペPC、モニタ1つ

何度も言うようですがPGの立場が低いので貸与される端末も低スペな事が多いです。エクセルを開くのにいちいちフリーズしたり、開発ツールをいくつか立ち上げたらカクついたり、ビルドをしたら応答なし連発など…。

SIer開発者に対するリスペクトがないので平気でこのような端末で開発をさせます。また、このあたりのリソースを単純に経費としかとらえないのでモニタ一つで開発することになるのもぜんぜんあります。

洗脳されたSIerの人たちからするとドキュメントが第一なので例えばそのドキュメントをみながら開発するならデュアルモニタじゃないといちいち画面を切り替えなければいけなくてそれで集中力も落ちていって(高スペPCならまだしも)生産性が落ちることぐらい想像つかないのか?と思いますがつかないようです。

 

おわりに

SIerに入れば日本の労働生産性が低い理由を簡単に理解できます。そして、現場にいる人たちは大体洗脳されているので改善する気もありません。コーディングには自信あるのにSIerで活躍できないあなたはひょっとすると向いていないかもしれません。そんな人は、スクールやエージェントに相談するなりしてまともな企業に転職をしてしまいましょう。SIerというブラック業界で働きつづける必要はありません。