読者です 読者をやめる 読者になる 読者になる

たかもブログ

溝の口周辺のこと、スマホゲーム開発、Web制作のことなど好きなことを何でも書いています。事実のみです。

エンジニアが素直にバグを認めて謝れない理由

f:id:takam0:20170214112450p:plain

制作業界にいる人しか分からないネタですが、どうしてエンジニアはバグが起きても素直に「すいません」と言えないのだろうか、と思ったことある人は多いのではないでしょうか。

仕様変更や仕様矛盾があると揚げ足を取ったように指摘しますが、バグがあっても「直しといたから」とまるで、やってあげたような感じでバグ発見者に報告。
挙句の果てには、バグレポートの内容が分かりにくい、再現手順を詳しく書け、などとバグを見つけた人に食ってかかる始末。

全員がそうとは言いませんが、いますよね。そういうエンジニア。
不愛想でミスを認めない。すぐに感情的になったりふてくされたりして、制作現場では時には厄介な存在だったりします。

僕も業務で仕様設計したり、プログラミングもするので、エンジニアの端くれとして、素直に認められない気持ちは分かります。僕自身も作り始めると小難しい人になっている可能性の方が高いです。(多分なってます。)

そして、端から見たら「バグってミスだろ!ちゃんと謝れよ」「反省しろよ」と思う気持ちもよく分かります。

分かるのですが、自分が開発をし出すと素直に謝るなんて到底できない。
では、どうしてそうなのか?

エンジニアが素直にバグを認めて謝れない理由を、僕自身に置き換えて考えてみました。言い訳にも近いので、謝れる人格者は読まないでください。

スポンサーリンク

 

他の人に出来ないことをやっている、という自負がある。

業務で使うプログラムは覚えればすぐに誰でも出来る、というほど簡単なものではありません。業務システムなどは、きちんと設計しないととんでもないことになったりするので、それなりに経験がないと出来ません。

Webサービスの開発現場では、少ない人数のエンジニアが非エンジニアに囲まれて作業をします。そうすると、周りにはほとんど話が通じない、分かっているのは自分だけ、という環境下で開発作業を進めることになります。

経営者は孤独だと言いますが、逆に社長がミスをしても、社員がそれを叱るということはありません。上司に関してもそうだと思います。
謝る人は謝りますが、たいていは自己解決してそれまでです。
それは自分は責任を負って自分の責任で仕事をしているという自負があるからです。

実際に開発しているエンジニアは自分が一番大変で忙しいと思うし、他の人には出来ないことをやっているという自負があります。もちろん、バグがあった時「やば!」とか「しまった!」とは思います。SNS見ててニヤけてた顔が急に真面目になったりします。

しかし、それに対して作っていない人に謝るとかそういう発想が浮かばないのは、責任を負っている自負からくるものではないかと思います。俺が作って俺が直すのに誰に謝る必要があるのかということです。(少なくともクライアントには謝る必要がありますが。)

ですので、システムのことを分かっている人、プログラミングを出来て内部の処理仕様などを話せる人には意外と従順だったりします。 

 

誰でもやる資料の誤記レベルのミスが、プログラムでは大きな誤作動を起こす。

例えばディレクターなどが資料を作る際に、ちょっとした打ち間違いや誤記などのミスをすることがあります。それはすぐに訂正すれば、よほど大切な資料でもない限り、たいていは誤記ということ以上のミスには発展しません。
(もちろん見積り金額間違えたりすると大目玉ですが)

しかしプログラムの場合、値を比較する「==」という表記を「=」に間違えただけで、とんでもない誤作動を生み出します。

実際にバグが起こると「なんで、そんなミスをするの?!確認はちゃんとしたの?!」と騒がれますが、実際は誰でもやるようなちょっとした誤記だったりするのです。

これはプログラムを担当する以上、それなりに責任感を持たないといけないのですが、プログラム内部を知っている人からすると、時には凡ミスという認識しかないのです。

注意したり指摘した人に対して、すまないという感情よりは「じゃあ、お前は完璧なんだな?」という感情の方が強く出てしまい、結果として仕様ミスなどがあると、気が付いていてもそのまま作ってしまったり、声高に指摘してしまうのかも知れません。

スポンサーリンク

 

人間の作業である以上バグはしょうがないものだと思っている。

ヒューマンエラーという言葉があるように、プログラムといえど人間の作業なので、ミスは必ずある、という認識でエンジニアは作業をしています。

むしろリリースした後にバグが発見されると、テスト段階でなぜ確認出来なかったのか?とテストした人を責める傾向すらあります。
バグが起きた原因は制作の品質管理体制に問題があると思っており、自分の作業ミスについてはしょうがない、と思っていることも多いです。

ちゃんと確認しろよ!と言われるとごもっともなのですが、「じゃあお前がやれや」と思ってしまう黒い人格が出てきてしまうのも事実なのです。 

 

そもそも動作確認をする時間すら与えられていないこともある。

たいていのシステムは、企画や画面設計から入り、デザイナーがインターフェイスデザインをして、WebであればHTMLコーディングがあり、一番最後にエンジニアがプログラム処理を埋め込みます。

すると最終的に作業を担当するエンジニアには時間がほとんど残されていないことも多くあります。

特に納期がずらせないような開発ですと、エンジニアはひたすらプログラムを埋め込む作業をするだけで、ろくに確認する時間がないことも多いです。

その状態で、不具合についてああだこうだ言われても、確認する時間すら貰えなかったのに何言ってんだよ!という反発の気持ちしか生まれてきません。
時間があっても確認作業とか面倒臭いことが嫌いなエンジニアは多いので、大してバグの数は減らないのかも知れませんが、短期でプログラムをするとそれなりにバグの数も多くなります

エンジニアは開発期間をかなり多めに報告します。
報告を受けた人が「いやいや、もっと早くできないの?」と思っていることは百も承知です。

それはこういったしわ寄せが来ることも考慮に入れつつ多めに時間をみているのです。

 

謝っている時間があったらすぐに修正するのが先決。

プログラムは基本的に24時間365日稼働するものですので、不具合は即座に修正する必要があります。その時点でいちいち謝るとかなんとか言ってる場合ではありません。

謝ってる時間があったらとっとと直すのが基本です。
そして、大きなバグの原因が分かり、修正完了してうまく動いた後は達成感に包まれます。ミスであるバグはひとつのタスクとして昇華し、エンジニアにとってゲームを全面クリアしたかのような満足感に包まれてしまうのです。

そうなると、悪かったという気持ちよりは一山過ぎた、と言う気持ちが強くなってくるので謝るなんて気持ちは霧散してしまいます。

そんな時に、後からねちねちとバグの発生した原因とか再発防止策とか聞かれると逆ギレしたくなったりするんですね。 

スポンサーリンク

 

僕自身が開発している時の心境や、今までみてきたエンジニアの状況を踏まえて書いてみました。

理由は色々あるとはいえ、バグはミスあり確認不足でもあります。
「あ!ごめん」と「ありがとう」ひとことって大切ですよね。

気を付けないとと思っています。