わたしはかれこれ10年以上SEを続けてきていますが、いまだにバグは出します。しょっちゅう出します。
おそらく、若手SEの方はこんなふうに思っているのではないでしょうか?

いいえ、そんなことはありません。よく先輩の仕事を見てください。たくさんバグを出しているはずです。
バグを出していないように見えていても、出しています。逃げ方がうまくなっているだけです。

バグが出てしまった…SE向いてないな
どんなにキャリアを積んでもバグは出る
わたしの経験上、どんなに上級のSEになったとしてもバグは出ます。
プロジェクトリーダーを経験することもあるのですが、そういうレベルの人間だってバグは出すんです。
たしかにバグをあまり出さないという人もいます。こういう人は本当に優秀な人です。ですが、これは経験を積めば到達できるものではなく、天性の才能に近いものです。
断言しますが、努力によってバグのないプログラムを作ることはできません。
仕事のやり方・プロセスを見直すことによってバグをある程度減らすことはできますが、最後の最後はセンス・才能の世界です。
大切なのは下記です。
- バグの量を減らす。
- バグをできる限り前工程(設計やプログラミング)で除去する。
- バグは絶対になくならない、必然という考えを持って日程を計画する。
- バグが出ても気にしない!
バグの発生で人生が狂う
バグの発生というのはすべてを狂わせます。日程を狂わせるのはもちろん、人間の人生させも狂わせます。
もしバグがリリースした製品に紛れ込んでしまったとします。そうなると使っているお客様に多大なご迷惑をおかけすることになります。
問題なのはバグの中身。一番やっかいなのが、
- 正常に動いているように見えるバグ
これは厄介です。長期間、正常に動いていると思っていたのに実は間違っていた。この場合、使用した期間の分だけ損失になります。大ダメージです。

SEの仕事はプレッシャーとの戦いです。
そんな状況に置かれてまともな精神でいられる人ばかりではありません。SEは真面目な人ほどメンタル的に潰れやすい。SEはうつ病になる人が多いのですが原因の1つはここでしょう。
ソフトウェアは0か1かしかない。致命的バグが出るのは必然である。
なぜバグはそんな会社の経営を揺るがすようなものになってしまうのか?
それはソフトウェアが常に『0』か『1』かしかないからです。つまり、『動かない』、『動く』のどちらかしかないということ。
車でも自転車でも、ネジ一本を締める力が100だったとします。これが99になったところでほぼ問題にはならないでしょう。しかしこれがソフトウェアの場合には駅や空港のシステムが止まるような不具合になります。
駅や空港のシステムを1日でも止めるような不具合を出してみてください。もうあなたの一生分のお給料を使っても損失を精算できないかもしれません…。
でもこれは仕方のないことです。企業側だってそれはわかっています。それでもソフトウェアを使うのはスピーディ、かつ、プログラマブルにシステムを改造できるからなんです。
バグは必然と思えないSEは向いていない
重要なのは『バグが出ても気にしない』ことです。
正社員のSEだからこそ、

という意識を持ったほうが良いです。本当は時間を売って仕事をするのは派遣社員なのですけどね。

自分に言い聞かせましょう。
よく考えてみてください。駅や空港のシステムを止めた時、個人に責任取れますか?無理でしょう。一生タダ働きした後に多額の保険金かけてもまだ借金残ると思います。
企業はそういったリスク込みで社員を雇ってシステム開発させてます。企業はそれ以上に稼いでいるという面にも目を向けてみましょう。
バグは必然。そう思えないSEはこの先続けても精神がやられる一方です。
本当にSEに向いているという人は『図太い人』
わたしが考える、本当にSEに向いている人というのは『図太い人』です。
わたしが尊敬する先輩というのは技術面だけではなく、メンタル面でも優秀です。そんな優秀な先輩のマインドというのは、

こういった考え方です。とにかくお気楽。会社は会社、自分は自分という考え方。
わたしの先輩ではたった1つのプロジェクトで1年の会社の利益のほとんど消し飛ばしたほどの赤字を出した人がいました。
その時は別の部署の人とかも噂話をしているぐらいのヤバイ状況でした。

と思うほどの出来事だったのですが、先輩はやりきりました。
時間がなくて忙しいと言うのに毎日毎日、お客さんと上司からそれぞれ2時間ずつ説教をくらっている状況でした。毎日22時定時はもちろん、土日出勤もしていたほど。
はっきり言ってメンタルが完全につぶれていてもおかしくなかったはずです。…にもかかわらず、先輩はケロっとしていたのです。

とんでもなくクズっぽい意見に聞こえるかもしれませんが、SEにはこれぐらいの気持ちが大切なんです。本当に本当に。
技術力の高いSEというのはたしかに理想的です。ですが、誰もがそうなれるわけではありません。一流の技術者になれなかったとしても家族を養うためにSEを続けなければならない…。理想だけでは食っていけないのです。
会社のことは他人事。それぐらい割り切っていかないとメンタルが潰れてしまうし、メンタルが潰れれば家族を養っていけなくなります。ミス・バグが多い現場だからこそ大切なことなんです。

まとめ
- どれだけ修行を積んでもバグは出る
- バグが出るのは必然
- バグは人の人生まで狂わす
- 大切なのは割り切ること
SEに向いている、向いていないは技術力ではありません。ミス・バグがつきまとう世界でどれだけ自分を守っていけるかということです。
バグを出してしまうと自分できないなぁ、周りの人はできているのになぁ、と思ってしまうのですが…言うほど周りの人もできていなかったりします。
自分と周りの人、できる人とできない人の差というのは技術面ではなく、どれだけミス・バグを受け入れているかということです。
逆に、超一級のSEだってうつ病を発症して転職した人もいます。
完璧主義な人ほどSEには向きません。そういう人は長く続けても苦しいだけなので転職を考えたほうが良いでしょう。