2018-03-09 04:38:41 +0000 2018-03-09 04:38:41 +0000
178
178

自分のせいでバグを起こしてしまった同僚への対処法

私は比較的新しい仕事をしているのですが、あるWebサービスを利用しているときに「男」としての地位を確立しています。私たちのウェブサイトはそのサービスと統合されています。今日は、サイトの利用者がサービスを利用できないという問題が発生しました。当然、私は助けを求められたのですが、サイト開発者の一人が、私が仕事をしていないことをほのめかして、私のコミュニケーションの悪さを非難して、個人的に私を怒らせてしまいました。その後、少なくとも他の8人との電話会議で、彼は問題を解決していないと受動的に攻撃的に私を罵倒しました。しかし、私は彼が再び私とそのトーンを取る前に、彼はそれが彼のコードではないことを100%絶対に確信していたことを好むだろうということを彼に表現する方法についていくつかの提案を期待しています。

回答 (8)

99
99
99
2018-03-09 10:41:44 +0000

人によっては、自分から注意をそらすために、積極的に他人のせいにしてしまう傾向があります。あなたも比較的新しい人なので、彼がしたことはとても都合が良かったに違いありません。メールを書き、問題が何であったのか、どのようにして根本原因にたどり着いたのか、最終的な解決策は何だったのか、そして今後どのようにして防ぐことができるのかを記述してください。

このメールの最後に、以下のように書いてください。

XYZ,

これらの手順を、このコードの適切なドキュメントまたは標準作業手順書に追加してください。

このようにして、あなたは彼を “指弾している "のではなく、彼がこのコードの所有者であり、それゆえに責任があることを明示的に呼びかけることになります。誰もが (特に上級管理者が) 誰のコミットかを確認するためにコードベースのリンクを開くわけではないので、呼びかけることは重要です。

25
25
25
2018-03-09 12:58:31 +0000

私は非難ゲームをしないことでキャリアを築いてきましたが、本当は人間は大きな声に耳を傾けるものです。しかし、あなたが自分を守ることに関わると、彼はあなたを彼のレベルまで引きずり下ろし、経験を積んだあなたを叩きのめすでしょう。

もしあなたが見つけられるなら、あなたはチャンピオンが必要です。理想的には、これはあなたのマネージャーであるべきですが、時にはそれは別のよく知られた開発者です。彼らはうるさい人を黙らせるためにあなたのためにバットに行くでしょう。あなたがすべきことは、問題を解決するためにあなたが何をしたかの事実 (非難ではなく) と、次にサービスに何か問題が発生したときに、問題をより早く発見して解決できるように、彼らがあなたにどのように進めてほしいかについて、彼らと個人的な議論をすることです。そのためには、(他の開発者のコードを使わずに)サービスを直接テストするための小さなテストユーティリティを書いたり、ログを記録したりすることで、「私たち対彼ら」の問題を素早く判断することができます。もし誰が実際に落ち度があったのかを知っていれば、あなたの名前をはっきりさせることができます。

私はいつも他の開発者を弁護の対象にしないように、後ろ向きに曲げてきました。私は「問題を複製するのに苦労していますが、サービスを正しくテストできるように、サービスにどのような呼び出しをしているのか、何を返しているのかを教えてください」というようなことを言ったことがありますか?開発者が実際のコールとレスポンスのログトレースを提供してくれる場合は、何が返ってくると予想されたのかを聞いてみてください。しかし、ほとんどの場合、開発者は自分のコードを見せるだけです。その場合、問題を発見できることもあります。そのような場合でも、開発者を呼び出してはいけません。開発者は自分で問題を見つけなければなりません。デバッガを使ってコードを走らせて、ある変数がコードのある行に何を含んでいるかを無邪気に聞いてみてください。まだまだ続くかもしれませんが、ご理解いただけたでしょう。

17
17
17
2018-03-09 16:52:10 +0000

誰かが問題を見つけたときには、みんなで協力して解決策を見つけ、理想的には根本的な原因を見つけてプロセスを改善できるようにしますが、誰も個人的な非難を受けたり、ミスをしたことで罰則を受けることはありません。その結果、人々は皆の利益になるように、それらをカバーしようとするのではなく、彼らの間違いについてオープンで正直であるということです。

それはこの文化に買っていないあなたの店の人々があるかのように見え、それは管理の注意を必要とする何かである。

12
12
12
2018-03-09 12:05:32 +0000

問題がどのように処理されるか、特にユーザーエクスペリエンスに影響を与える優先度の高い問題について、上司と話し合うべきだと思います。

このケースでは、2つのシステムが相互に通信を行っていて、突然通信が途絶えてしまいます。コミュニケーションがうまくいかないときは、双方のシステムを見ることが重要です。誰もがあなたのサービスに焦点を当て、彼らの側で物事を調査しないように導いています。問題解決のための時間の最大の無駄は、それの一部で何が間違っているのかを見つけるためにしようとしていることです***実際にすべきこととして実行されている*.

これらは、しかし、学習経験です。あなたのサービスをトラブルシューティングする方法を完全に知っているのは間違いありません。あなたの経験に基づいてトラブルシューティングプランを設定してみて、最初のステップの一つとして、実際に障害が発生しているのはあなたのサービスであることを確認してみてください("Does the service work being calling from another page?“, "Is the service failing partially or entirely? あなたはウェブサービス担当者ですから、あなたの仕事に少し自信を持ってください。

実際に失敗したのは彼のコードであるという事実を手放してみてください。彼を呼び出そうとしているのは、少し小心者です。彼は最初からそんなにあなたに焦点を当てるべきではありません。問題のトラブルシューティングで社内の一般的な問題としてそれを見て、あなたの上司と一緒にそのように処理してください。また、それが実際に彼のコードだったかどうかはわかりませんが、彼は同僚が書いた別のセクションからコピーした可能性もあります。

4
4
4
2018-03-11 12:54:45 +0000

上司に相談するのは良い提案だと思います。上司はあなたが不当に非難されたことを知る必要があります。あなたの最初の本能は正しいです;あなたは応答しなければならない、またはそれが悪化するでしょう。私は彼に直接メールして、問題が彼のコードにあったことと、今回はあなたが自分の身を守るために上司以外には誰にも話していないことを伝えます。そして最後に、もし彼が再びそれをするならば、あなたは公開することを彼に知らせてください。

2
2
2
2018-03-14 10:25:16 +0000

この質問には少し遅れてしまいましたが、Edgarさんの回答の中にある非常に健全なアドバイスの他に、この質問には第二部があります。

もしあなたが問題を発見し、それがどこで解決されたかをメモした通信を送るならば、他の開発者はおそらく問題がどこにあるかに気づくでしょうが(これは良いことです)、経営陣はおそらく気づかないでしょう。あなたの同僚とこのような信頼を構築することは、長期的には良好な立場に立つでしょう。あなたが見つけるものは、それが彼らの一部に無能を示すようにひどく間違っている場合は、静かにあなたのマネージャーにこれをエスカレートしたいと思うかもしれません - 彼らは知りたいと思うでしょうし、あなたは同様に彼らとの信頼を構築しています。

0
0
0
2018-03-11 04:17:33 +0000

私は、状況の個人的な側面に反応する前に、その上で寝ることをお勧めします。あなたが問題を解決して、物事を再び実行できるようになったなら、あなたはまだ「男」です。少し休んだ後、それは優雅であることが容易になるでしょう。

0
0
0
2019-03-06 23:49:19 +0000

主な問題はすでに他の質問で長く取り上げられていますが、別の観点から指摘したいと思います。

修正は他の人が所有しているコードで行われましたが、クライアントからのリクエストをより保守的に処理することでより大きな問題を防ぐことができました。入力を検証していますか?実行時のエラーを報告しているか? テスト環境はあるか(これはコンシューマにも当てはまります)?時々、サービスの問題が表面化するのを待っていただけだったことがありましたので、ある場所で修正が行われたからといって、それがすべてであるとは限りません。また、このような問題にはコードだけではありません。プロセスもあります。