システム保守案件のメリットとデメリット

  • このエントリーをはてなブックマークに追加
システム保守案件のメリットとデメリット

※システム保守案件のメリットとデメリット

SEやプログラマーがSESで仕事をする場合、参画する主な案件は以下の3つだと思います。
・開発
・保守
・運用

今回お話しするのは、保守についてです。

僕は4年間、大手銀行でシステム保守を担当していました。

保守とはどのような仕事をするのか、参画することのメリットとデメリットについて、僕の経験を踏まえてお話ししようと思います。

案件によって仕事内容などは異なる部分があると思いますが、あくまで僕の経験を踏まえてなので、ご了承ください。

スポンサーリンク

保守案件の仕事内容

保守の仕事とは、既に稼働しているシステムが今後も安定して稼働するように対応を実施する仕事です。

主な仕事内容は以下になります。
1.障害が発生した場合に、その原因調査や不具合の修正を行う
2.新しい機能を追加する
3.既存システムの課題について解決していく(操作性を改善、将来障害となり得る部分の修正など)

その他、老朽化したサーバーのリプレースなどを行ったりもしますが、日常的な主な業務としては上記3つになります。

よく、テレビや新聞などで、「システム障害により、一部サービスが使えなくなっています」というようなニュースを目にすることがあると思います。

このような時は、そのシステムの保守担当の人達が、復旧に向けて一生懸命対応を行っているわけですね。

開発案件と違って、バリバリ設計して、コーディングしてというような仕事ではないことが多いです。

このような保守の仕事ですが、保守案件に参画するメリットとデメリットがありますので、そちらを後述していきます。

保守案件のメリット

長期で携われることが多い

保守案件に参画すると、基本的には長期で携わることが多いです。

僕も4年やりましたが、10年以上同じシステムを担当している人もいたりします。

SESは色々な案件に参画することになり、短期間で環境が変わることも珍しくありません。

1つの場所で腰を据えて仕事をしたい人には大きなメリットになります。

開発案件の場合は、機能ごとに担当が分けられたりして、システム全体について理解していなくても開発できてしまったりします。

しかし保守の場合は、どこの機能で障害が発生するか分からず、即時対応を求められる場合もあることから、システム全体についてある程度精通している必要があります。

そのため、メンバーには長期で携わってもらってシステムに詳しくなってもらう必要があります。

このような側面があるため、長期で携わるケースが多くなります。

残業が少ない

これは稼働が安定しているシステムに限った話になりますが、基本的に残業は少なめになります。

保守の仕事とは、言わばシステムのお守り役です。

保守の仕事が忙しいということは、システムに何かしらの問題が発生していることになりますので、好ましい状態ではありません。

機能の追加、改修といった小さな案件をこなして行くことになるのですが、「絶対にこの日までにリリースしなければならない」というようなものは多くないです。

よって、無理のないスケジュールで対応できることが多いのです。

但し、頻繁に障害が発生していたり、例えば消費税率変更や改元などの納期必達の対応が発生する場合は、残業が多くなるケースがあります。

完成した設計書やソースコードを読むことができて勉強になる

現在進行形で稼働しているシステムの設計書やソースコードを読むことができるため、非常に勉強になります。

大抵は決められたルールの中で設計書やプログラムは書かれていますが、それでも人によってクセが出たりするので、色々な書き方を見れるのはとても勉強になります。

個人的には、完成しているソースコードは最高の教科書だと思っています。

「こんなこともできるのか!」と気づかされることが多く、分からない所はネットで調べれば、大体は答えにたどり着けます。

中にはマネしてはいけない、反面教師とすべきコードもあるのですが、それも含めてインプットするには最高の環境と言えます。

保守案件のデメリット

障害が発生すると炎上する

担当しているシステムに障害が発生した場合は、即時で対応を求められることが多いです。

特にユーザーの業務に影響が出るような障害は、すぐにでも修正しなければなりません。

そうなった場合、原因調査やプログラムの修正、テスト、修正したことによる他機能への影響調査、類似の障害が他にないかの調査などを短時間でやらなければなりません。

こうなると、障害の規模によりますが、徹夜や休日出勤による対応を求められることも少なくありません。

保守の仕事は、障害がない時は平和ですが、1つ障害が発生すると一気に戦場と化すという特徴があります。

スキルが身に付かない

メリットのところで、インプットするには最高の環境と言いましたが、アウトプットする機会が少なめになります。

頻繁に機能追加や改修などを行っていて、設計やプログラミングをする機会に恵まれればいいのですが、そうでない場合が多いです。

そうなると、開発案件でバリバリ設計やコーディングをやっているエンジニアに比べると、スキルが見劣りすることになります。

また、保守と言う仕事に求められるのは、システムを安定的に稼働させることなので、基本的にはリスクを犯すようなことは求められません。

これは業種によるかもしれませんが、保守の最大目標は現状を維持することになります。

よって、最新の技術に触れる機会がほぼ皆無になります。

10年以上前に主流だった技術を今でも使い続けているなんてことも珍しくありません。

WEB系などでは常に最新技術を使用しているケースがあるかもしれませんが、業務系については一昔前の技術を使い続けているケースが多いと思います。

常に最新技術に触れていたい場合は、長期で保守案件に携わるのはおすすめできません。

夜間作業や休日出勤が多くなることがある

機能の追加や改修を行うと、最後は本番環境に反映することになります。

保守の場合、現在稼働している環境に反映することになるので、何も調整せずに反映してしまうと、ユーザー業務に影響を与える可能性があります。

それを防ぐため、本番環境への反映は、ユーザーが使用していない時間帯に作業を行うことが一般的です。

ユーザーがシステムを使用していない時間帯とは、サービス終了後の夜間、又は土、日曜日などの休日が一般的です。

よって、本番反映作業に伴う夜間作業や休日出勤が多くなる傾向があります。

また、場合によっては、夜間に障害が発生し、呼び出されるというケースもあったりします。

但し、既に書いた通り、保守は残業が少ないケースが多く、勤務時間としては安定していることが多いので、休日出勤した分の代休取得は調整しやすいです。

あまり感謝されない

これは会社によるところが大きいかもしれませんが、保守の作業は基本的に感謝されないと思った方がよいです。

システムが普通に動いていることは当然のことであり、障害が発生すると原因は何だ、いつまでに修正できるのか、再発防止策を作れと厳しい追及をされることがあります。

死に物狂いで対応を完了させても、「お疲れさまでした」の一言で終わるなんてこともあります。

しかも、障害の原因を作ったのは、既に離任した人にも関わらず、ユーザーや発注会社からは「何やってくれてんだ」と言わんばかりに追及されたりして、理不尽な思いをすることも結構あります。

必ずそのような応対をされるわけではありませんが、そのようなこともあると認識しておいた方がよいです。

無理なくスキルアップしたい新人エンジニアは保守がおすすめ

これは僕個人の意見ですが、経験が浅い新人エンジニアで、無理なくスキルアップしたい場合は、保守案件をおすすめします。

理由は以下の通りです。
・既存のソースコードが見れる
・残業が少ないので、勉強する時間が確保できる
・保守案件は小規模なものが多いため、上流工程~下流工程を何度も経験できる

要するに、インプットするにはとてもよい環境だからです。

但し、アウトプットする機会が少ない、新しい技術に触れる機会がないような場合は、長期で携わるのはおすすめしません。

そのままその環境に居続けると、年齢の割にスキルが身についていないエンジニアになってしまいますので、長くても1年程度で離任して、インプットしたことをアウトプットできる開発案件に異動すると、一気にスキルアップできると思います。

まとめ

僕の経験を踏まえて、保守案件について書かせていただきました。

環境によって異なる部分はあると思いますが、保守案件に興味がある、次は保守案件に投入されそうだというような場合は、参考にしてみて下さい。

スポンサーリンク

  • このエントリーをはてなブックマークに追加
     

コメントを残す

*