株式会社シベスピ 従業員ブログ

シベスピの社員ブログ。技術・想い・経験沢山書いていきます!

保守のお話

エンジニアという職業につかせていただいてから保守をメインにやってきました。どうも内田です。
なりたてのころは、エンジニアとしての仕事が出来るようになった!わーい!という感じだったのですが、しばらくするとエンジニアと言っても開発や運用や保守って業務分かれているのか!と知り、少し大人になった気がしたのも最早5年前。。時が過ぎるのは早いものですね。

まぁ、そんな話はさておき、現在共に保守を担当しているメンバーの中には新人さんもいるので、今回は保守の魅力を書いていきたいと思います。

まず保守って何。

会社さんによっても内容はまちまちではあると思うのですが、私の経験してきた業務の範囲でざっくり言うと、開発工程で作られたシステムが実際稼動し始めた後に、追加で必要な改修があったり、障害が起きた場合に、もう動いちゃってるシステムの改修をするのが今回私が言う保守業務になります。

ここが怖いよ。保守業務。

保守業務の一番のポイントは、やはり「もう稼動しちゃってる」って所に尽きるかと思います。稼動前にバグが出ようが稼動までに直せばいいのですが、もう稼動してしまっているシステムにバグなんて仕込んでしまうと最悪そのシステムを利用している業務がとまってしまう。これがECサイトとかの場合、わかりやすく言えば営業停止状態になってしまう(=その日に売り上げる予定だった利益がすべてなし)。自分の書くたった1行のコードにミスがあった、自分の作成したテスト仕様書に1つ漏れがあった。ただそれだけでも、担当している内容によっては大事になりかねない危険性を秘めているスリルにあふれる業務だったりします。

だからこそ鍛えられた。①調査編

そんなスリルと隣り合わせな中で、一番最初に立ちはだかるのが、まずは他人の書いたコードを理解するということ。設計書とかのドキュメントが整備されている環境ならまだ良いのですが、それでもコードは読まなければいけません。自分の書いたコードだって、半年経てばなんだこれってなるのに、他人の書いたコードなんて。。しかもだいぶ長く稼動していたシステムの場合、障害対応で応急処置したものがそのままなんてことや、コメントと書いてること違うなんてざらにあるため、まぁ、読むのが大変。そんな中で障害の原因をいち早く突き止めたり、改修する場所を見つけなければならないことから、読解能力は身につきます。また、読んでいてわかりにくいとか、なんだこれとか思うこともあるにはあるので、アンチパターンも自然と覚えます。

だからこそ鍛えられた。②製造・テスト編

製造1割、テスト9割。工数の割合的に私はこう育てられました。これが何を意味するか、もちろん障害なんてものによってはそんな余裕持った工数なんて取れません。つまりは、さっさと直してテストしろってことなんですね。1割の中で当然ですがバグなんて埋め込まず、その上でテストをしやすいコードを書くことを求められるわけで。。いや、正直ぱっぱらぱーの右も左もわからないときはめちゃくちゃつらかったです。しかしそれがあったからこそ今があるといえるのも確かでして、そういったスピード感も身につきます。また、テストの観点としても、必要最低限ぎりぎりを攻める勘所というのは保守だと身につきます。(私は未だにケースをつみすぎる傾向にあるのですが、すごい方は綺麗にぴしゃっと決めるので早くそうなりたい。。)

だからこそ鍛えれられた。③精神編

障害が発生した時。ましてや自分が改修した内容でバグを出したりしたら等、予想外の動揺せざるおえないことに対して、自分の感情をコントロールして、まずは問題解決に向かうというスキルは身につきます。実際、去年プライベートで大変なことがあったのですが、冷静に対処できたのは保守を経験していたからだと思っています。
また、これは製造の話にもなるのですが、プログラミング覚えたてってやっぱ書きたいではないですか。私もそんな時代を経験しているのですがそんな時、「バグを生まない方法って何だと思う」と聞かれたことがありました。答えは「プログラムを書かないことだよ」と。エンジニアが何を言っている、それが仕事だろうと思われる方もいるかもしれないのですが、システムエンジニアはあくまで仕組みを提供する技術者であり、プログラムを書くのは手段の一つだと、プログラムを書くことが本当に利用する方や業務の目的なのかと。実際ユーザーの要望にこたえて、改修を行っても使われない機能も見てきました。そういったことを考える機会に出会えるのも保守をやっているからこそかと思っています。

締めとして

保守は大変ですけど面白いです。私なんてまだまだな身分でこんなことを書くのかって石投げられそうでびくびくしているのですが、楽しいことを伝えたいと思って書きました。
余談として、今までの保守で見てきた中で、一番ひどい変数名はunkoでした。保守って面白いですよね(違)