SEを取り巻く環境はたくさんのストレスと溜めるものがあります。
- バグの発生
- お客さんや上司からのプレッシャー
- オフの時間を犠牲にして勉強
などなど。しかしこの中でも一番ストレスを溜めるものはバグの発生でしょう。
バグが発生すると、わたしはいつだってSE辞めたい!と思います。

新卒~若手SEはまだ本格的にソフトウェア開発の業務に携わっていないかもしれませんね。今回は10年以上SEやってるわたしが、SEの真の辛さ、バグの辛さについて語ります。

バグが発生した時、それはSEを辞めたくなる時。SEの辛さ = バグ!
SEを辞めたくなる理由No1はバグが出た時
SEという職業はしばしば辞めたいと思うことがあります。そのSE辞めたいと思う理由のNo1はバグの発生が絡んでいると断言します。
バグが発生すると、
- 日程が狂う。
- 人様に迷惑をかけてしまう。
- 会社に損失をもたらしてしまう。
- …死にたくなる。
SEはうつ病になる人も多いのですが、その理由もやはり元をたどるとバグの発生にいきつきます。
バグの発生というのは日程も、会社も、そして自分の人生さえも狂わせます。バグが発展して自分の人生もバグってきます。
ソフトウェア開発においてバグの発生は必然

と思われるかもしれませんが、バグの発生というのは必然なのです。どんなにバグを埋め込まないように注意深くソフトウェアを開発しても、100%バグは入ります。大切なことなのでもう一度、断言します。

バグっていないように見えてもバグっています。それは単純に見つかっていないだけなのか、それとも正常に動いているように見えるだけなのか。
1年前にリリースした製品。明日、不具合の報告が来るかもしれません。毎日毎日怯えております。
バグ発生は必然だが出ると周りからは『仕事できないやつ』として扱われる
SEのメンタルを軽くするためでしょうか?下記のような名言があります。


この言葉からするに、みんなバグを体験しているし、バグの発生は仕方がないと心の中では思っているんです。わたしはSEの仕事の50%はデバッグなんじゃないかと思っているほどです。
それなのに、バグが発生すると『仕事ができないやつ』として扱われます。

こんな感じ。
わたしの経験上、どれだけ開発前に調査をしても、開発対象を完全に見切ることはできません。自分の意識の外にあるものについては、どれだけ調査をしたり考え、悩んでも、認識することができないんです。
そのために、第三者の視点でレビューをしてもらう、切り込んでもらうわけですが、それでも見逃してしまうことがあります。
ゆえに、バグの発生は仕方がない、100%の完全回避は不可能なのです。しかし、そういった見落とした部分についてはスキルが低い、能力が低いから見落としたのだと周りから判断されてしまいます。

今日の友は明日の敵。自分の身を守るためには同じ釜の飯を食った仲間ですら見捨てる。それがIT業界、SEの世界なのです。
バグを優先するため、本来の日程が遅延する。回収のために残業・休日出勤
バグが発生するとどうなるのか?ものによりますが、今現在抱えている作業を後回しにして、最優先で修正作業を進めます。

当然ですが、バグ修正が割り込んだとしても納期が変更になるわけではありません。バグ修正を割り込ませた時間は残業や休日出勤をしてでも回収しなければなりません。
これがSEがブラックだと言われる理由の1つでしょう。バグを多く出してしまう人ほど、

と叫びます。
SEはむやみやたらと残業・休日出勤しているわけではありません。問題が発生しているから残業・休日出勤をしているんです。バグが出なければ作業は計画通りに進み、残業・休日出勤なんてする必要がないんです。
ただ、1回でもバグが出ると負のスパイラルにハマってしまいます。
- バグが出る。
- バグ修正を割り込ませるので日程が遅延する。
- 遅延を回収するために残業や休日出勤をする。
- 高い作業負荷から、仕事にミスが入りやすくなる。
- ふたたびバグ発生…以降、ループ。
負のスパイラルにハマるとなかなか抜け出せないし、そもそもバグの発生が必然なのでハマりやすいです。
バグ発生で会社に損害を与えてしまうかもしれないプレッシャー
バグが与える影響というのは残業・休日出勤といった身体的な負荷の問題だけではありません。精神的な面でもストレスを与えてきます。
ソフトウェア開発におけるバグというものは、時に重要なシステムを止めてしまうことがあります。
たびたび発生するのが駅や空港のシステムの停止。こういったものがストップしてしまえば何億という損害を会社に与えてしまうでしょう。
一般的な社員に対して直接賠償請求などはされることはありませんが、SEは一生かけても稼ぐことができないような損失のある職業です。
また、医療系の場合であれば人の命さえ奪ってしまうこともあるでしょう。(医療系のソフトウェア開発は品質基準が非常に高いという話は聞きますが。)
今の時代はソフトウェア開発も非常に複雑になっていますし、ソフトウェアを使っている製品も多いです。
新卒~若手SEは知らないかもしれない…。昔のゲームは単純なもので、バグなんてあっても逆に楽しんでいるぐらいでした。クリアすることすらできない致命的なバグが入ったゲームもありましたね。
現代社会はソフトウェアにあまりにも依存しすぎています。SEの仕事が無くなる心配がないというメリットはありますが、その裏では深刻な人で不足という背景があり、未熟なSEがバグを埋め込みながらギリギリラインで仕事をこなしています。
わたしもたいしたレベルのSEではないため、いつか会社に致命的なダメージを与えてしまうかもしれないというプレッシャーと戦いながら仕事をしています。

まとめ
- SEを辞めたくなる瞬間No1はバグ発生時。
- バグはすべてを狂わす。人生もバグる。
- バグ発生は必然なのに周りからは仕事できないやつ扱いされる。
- 昨日まで味方だった人が、バグ発生で手のひらひっくり返して敵になる。
SEの仕事で一番つらいのはバグ発生です。バグさえ発生しなければSEの仕事なんてちょろいんですよ。ちょろすぎです。
本記事を読んで、バグ発生には耐えられそうにないなぁと思うようであれば、SEから足を洗うことも視野に入れたほうが良いでしょう。
SEの仕事はプログラミングができるだけではダメなんです。ITのスキルがあってもダメなんです。とにかくバグを出さないこと!バグの発生が少ないこと!これが重要なんです。
中途半端に仕事ができるSEは辛いです。バグをたくさん出しながら仕事をこなすことになります。SEとしてトップになる!これぐらいの勢いがなければSEを一生涯続けていくのはむずかしいのです。