今X上でとあるポストが物議を醸しています
「若い(新人の)エンジニアが、バグや障害に対して責任を取るべきか」
これに対して、意見は以下の2つに割れているように感じました
- 新人エンジニアのミスは、上司、もしくは会社に帰属するものである。従って新人エンジニアがバグや障害に対して責任を取る必要はない
- 起こしたミスが自分には関係がないというスタンスでは仕事が回らず、上司も全てのチェックを漏れなく行うことは現実的にふかのう。従って新人エンジニアもバグや障害に対して責任を取る必要はある
皆さんはどちらの意見が正しいと思いますか?
責任を「感じる」と、責任を「取る」の違い
この議論をするために、まず 責任を「取る」 の定義を決めておく必要があります。
責任を「取る」とは、(私の定義では)以下2つのことを言います。
- 起こっている問題に対して、解決策を考えて、事態を収束させること
- 同様の問題が起こらないように再発防止策を考え、フローを最適化すること
逆に以下のことは責任を「取る」ことにはなりません
- 起こった問題に対して、非難される矢面に立つこと
- 起こった問題の原因は自分だと、罪悪感を感じること
2は、便宜上、責任を「感じる」とでも言っておきましょう。
2つの意見は矛盾するのか
さて、責任を「取る」の定義を決めるとわかる通り、この2つの意見は矛盾しません。
(当人に事態を収束させる能力があるかに関わらず、)責任を「感じる」のはスタンスの問題であり、自由です。
新人といえど、ミスが起こらないように開発フローを遵守し、起こってしまったミスに対しては、その後の対応をキャッチアップし、再発防止に努める姿勢は必要でしょう。
一方で、実際に責任を「取る」(= 事態を収束し、再発防止策を考える)のは、上司、ないしは会社の役目です。
決められたフローを守った上で起きたミスに関して、上司や会社が、該当者に個人的な責任追及をするのは間違っていると言えるでしょう。
その他
この意見の内容は以下の本に書いてあることを参考にしました。
ご興味ある方はぜひ。