IT業界といえば残業が多いことで有名です。
「炎上プロジェクト」とよばれる長時間残業が絶えない現場を耳にしたこともあるかもしれません。今回は、なぜIT業界に残業が多いのかについて解説します。
こんな方におすすめ
- IT業界の残業が多くなる構造が知りたい人
- システム障害が発生するとどうなるか知りたい人
もくじ
IT業界に残業が多い理由
IT業界に残業が多い理由は、大きく分けて以下の2つが考えられます。
- 納期厳守による残業
- システム障害による残業
大まかにはこの2つに分類できます。それぞれ解説していきます。
なお、全てのプロジェクトの残業が多いというけではありません。特に近年では、労働環境改善のために残業時間の上限超過に罰則が加わったりと、いろいろ変わってきていますのでご注意ください。
納期厳守による残業
まずは「納期厳守による残業」です。
システム開発は完成したシステムを顧客へ納品する期限が厳密に決められています。完成したソフトウェア一式をいつまでに納品する必要があるか、事前に契約書に書いておくのです。
そして、その納品日がデッドラインとなり、その日までにシステム開発会社はなんとしてもソフトを完成させようとします。もし、納品が遅れてしまえば契約違反になったり、次の仕事がもらえなくなってしまい、会社の経営に関わってきます。
当然、納品日までに間に合うよう、事前にしっかりと工数を見積もり、スケジュールを引いてからプロジェクトを開始するのですが、ソフトウェア開発の現場では必ず何かしらのトラブルが発生します。
当初不要だと思われていた機能が突然必要になったり、プログラムのバグで求めらている機能が提供できなかったり、想定より性能が悪くてアーキテクチャを見直す必要がでてきたりと、多種多様な問題が発生するのが常です。
ある程度のバッファをスケジュールに組み込んでいても、問題の数、大きさによってはバッファを食いつぶしてしまいます。そうなったときにとれる選択肢は「納期を伸ばす」か「人を増やすか」か「タスクを減らす」かのいずれかです。
納期を伸ばす
お客さんへの説得が必要、かつ、納期が延びる分人件費も増大します。そしてシステムの稼働が遅れることによる顧客企業の機会損失があるため通常は困難です。
人を増やす
新たに人を増やしても、プロジェクトの新規参画者がいきなり戦力になることはないため、数週間は教育が必要なります。教育係として既存メンバーを割り当てる必要があり、そのせいで一時的にマンパワーが削られてしまいます。さらに、純粋に人件費が増えるので、顧客の負担も相談しなければなりません。
タスクを減らす
そもそもの機能を削ったり、性能を妥協するなどして、全体の作業工数を減らします。もともと作ろうとしていた完成品が劣化することになるため顧客側としては受け入れがたい選択になります。
いずれも何かしら顧客に負担が生じてしまいます。顧客に負担を生じさせるのはシステム開発会社側にとっても避けたいものです。
そこで、プロジェクト・マネージャーは顧客と自社の代わりに現場の兵隊(エンジニア)を犠牲にすることを選択するのです。
スケジュールが10%遅れているのであれば、メンバーに10%多く働いてもらうのです。エンジニアというのは真面目で責任感が強い(そしてプライドも高い)人が多いため、納期を守るように自発的な残業をするよう仕向けたりします。
スケジュールが遅れているのは自分の能力不足だと思わせたり、休日出勤をお願いしたりして労働時間を増やすのです。
こうしてプロジェクトは炎上し、デスマーチへ突入します。
システム障害による残業
次に「システム障害による残業」です。
システムは開発して納品したら終わりではありません。システムが正常に稼働しているかチェックし、異常があれば駆けつけて復旧しなければなりません。
24時間365日稼働しているシステムでは、運用エンジニアがシフト制で常駐してシステムの保守業務にあたっていることもあります。もし、システムに異常が発生した場合は、障害対応として最優先での対応が求められます。
金融系やインフラ系など社会への影響度が大きいシステムの障害では一刻も早い復旧が求められるため、当然、休日の深夜であっても呼び出されます。そして、問題が解決するまで徹夜での対応をすることもあります。
自分の作ったプログラムでなくても、ソースコードを解析し、原因を特定して修正、テスト、そしてデプロイまで急いで実施します。運用保守要員でなくても緊急となればベテランのエンジニアもヘルプ要員として駆り出されることは多々あります。
そして、システム障害というのは一度修正して復旧したらあとは安心・・・とはいかないのが世の常です。
別のシステム障害が発生し、解決したらまた次の障害が発生・・・・というように連続して襲いかかってくることがあるのです。そうなると当然、勤務時間が長くなり、エンジニアの残業でカバーすることになるのです。
システムがダウンしていて損失が出ている分、顧客からの圧も高いため、マネージャーが間に入ってかばってくれるタイプでない場合は現場のエンジニアの精神的疲労も高くなりがちです。
「あらゆる状況でも障害が発生しないシステム」というのはありませんので、エンジニアである以上はシステム障害を覚悟する必要があります。
終わりに
IT業界に残業が多いことは事実です。しかし、改善できないということではないでしょう。
そのためには、自らのスキルを過信せず、謙虚に過去のプロジェクトから学ぶことが大切です。同じ轍を踏まないように、成功からだけでなく、失敗からも学んでいけば少しずつでも改善されるはずです。
仕事とプライベートを両立できる効率的な働き方を実現できるよう、この問題についてはさらに深堀して行きたいと思います。
-
Oracle認定Java資格を取得するメリットとは?
こんな方におすすめ Oracle認定 Java資格を取得するメリットを知りたい方 Java資格を取得することでキャリアにどのような影響があるか知りたい方 Oracle認定のJava資格は、Javaプロ ...
-
プログラミング言語資格の勉強でノートは必要?Java Gold SE11に合格した勉強ノートを公開!
プログラミング言語の資格取得に紙のノートを使う必要はあるのでしょうか。私の場合はいつも紙とペンを使って勉強用のノートを作成していました。 今回はJava Gold SE 11に一発合格したときに作成し ...
-
ITエンジニアの残業を減らす方法は?プロジェクトは想定外が当たり前
こんな方におすすめ ITエンジニアの残業が多い理由を知りたい方 ITエンジニアの残業を減らす方法を知りたい方 もくじ ITエンジニアに残業が多くなる理由想定通りにいかないプロジェクトで残業を減らす方法 ...
-
IT業界に残業が多い理由は?納期厳守とシステム障害の現場事情
IT業界といえば残業が多いことで有名です。 「炎上プロジェクト」とよばれる長時間残業が絶えない現場を耳にしたこともあるかもしれません。今回は、なぜIT業界に残業が多いのかについて解説します。 こんな方 ...
-
ITエンジニアに資格は必要ない?資格を取る意味とは?
こんな方におすすめ ITエンジニアに資格が必要か知りたい方 取ってはいけない資格を知りたい方 もくじ ITエンジニアに資格は必要なのか資格の意味とは?資格を取っても意味がない?取ってはいけない資格まと ...
-
OSS-DB Silverの難易度と勉強方法を解説!【合格体験記】
こんな方におすすめ OSS-DB Silverの難易度が知りたい方 OSS-DB Silverの勉強方法が必要か知りたい方 おすすめの参考書が知りたい方 もくじ OSS-DB Silverとは?なぜO ...
-
AWSデベロッパーアソシエイトの難易度と勉強方法を解説!【合格体験記】
こんな方におすすめ AWS デベロッパー アソシエイトの勉強方法が知りたい方 おすすめの教材が知りたい方 どのくらいの難易度か知りたい方 どのくらいの勉強時間が必要か知りたい方 もくじ AWSデベロッ ...
-
AWSソリューションアーキテクトアソシエイトの難易度と勉強方法を解説!【合格体験記】
こんな方におすすめ AWS ソリューションアーキテクト・アソシエイトの勉強方法が知りたい方 おすすめの教材が知りたい方 どのくらいの難易度か知りたい方 どのくらいの勉強時間が必要か知りたい方 もくじ ...