プログラマーとして、私たちは仕事に誇りを持っています。 最善の方法でタスクを実行することに、この誇りを示しています。 変数やメソッドの名前など、細心の注意を払ってそれらを扱います。 List <KeyValuePair <Guid、string >>またはDictionary <Guid、string>を使用したかどうかはユーザーが気にしなくても、特定のタスクに必要なクラスを常に選択します。 私たちは神経質にすべてを完璧な状態にしようとしています。 多くの人がOCDを持っていると考えるかもしれません。
しかし、開発者が自分の書いたものに誇りを持っているとどうなりますか?
このために感情がコードに入った場合はどうなりますか? プログラマが自分のコードだけでなく、作業の実施方法、意思決定、開発者としての行動にも参加できない場合はどうなりますか?
私たちは皆、そのような人々に対処しました。 コードについて1つの質問をすると、彼らは常に自分自身を守ります。 これらは、突然コードを改善する方法を提案した場合に感情的な議論を始める開発者です。 彼または彼女は、問題を解決する方法が間違っている、不適切であると呼ばれ、恐らく将来的にそれを覚えている可能性が高いときに沈み始めます。
事実は、私たち全員が以前はそのようだったということです。 特に、私たちがテクノロジーをほとんど理解していない「ジュニア」開発者である場合、私たちにとって理想的と思われるコードを作成しましたが、特定のタスクには最適ではないことがよくありました。 この経験は、経験豊富な開発者がこの問題を解決するためのより良い、より正確な方法を示してくれたときに感じます。 私たちは、私たちが半分の週を費やしたことをした組み込みクラスの存在に悲しみました。
しかし、経験を積むとき、使用したテクノロジーについてもっと知りたいと思ったとき、私たちは仕事から離れ始めました。 多くの人は、実装したものよりも問題を解決するためのより良い方法を見つけることを学びました。 私たちの多くはこれに夢中にさえなります。 特定のテクノロジーについて学べば学ぶほど、私たちの生活を本当に簡素化することを学び、それが好きになりました。 残念ながら、すべてのプログラマーがこの道に着手したわけではありません。 一部の開発者は、「批判を拒否する」ステップに留まっています。
この動作の原因は何ですか? これは苦味でも、幼児主義でも、他人に対する自分の高揚でもないと思います。 私の意見では、これは自己疑いによるものです。 私がまだ環境に優しいとき、コードを変更したり、問題を解決する別の方法を選択したりすることは、私が愚か者だといつも思っていました。 自分のコードを最後まで保護する開発者は、自分が書いたコードが非最適であると非難されると、他人の目で見る価値が低下することをひそかに恐れていると思います。 理由は何でも。
この問題にはいくつかの解決策があります。 最初は、彼または彼女との簡単な会話です。 彼らが自分の仕事に執着しすぎていることを知らせてください。そうすると、製品全体の品質が低下します。 多くの人にとって、これで十分でしょう。 悪い製品に対して責任を負おうとする人は誰もいません。もしあなたがそれを正しい光で見せれば、開発者はそれに対してではなく、チーム全体と協力し始めます。
しかし、それが機能しなかった場合はどうなりますか? まあ、あなたはそのような快適な解決策を持っていません。 そのプログラマーがgiveめない場合、最良の方法はチームの残りのサポートに参加することです。 彼がチームリーダーでもマネージャーでもない場合、彼の悪いコード(および仕事に対する態度)はチームの他のメンバーに抵抗しません。
次のステップは、マネージャまたはチームリーダーに直接改善を提案することです。 残念ながら、チームの他のメンバーを「刺した」という感覚を感じるかもしれません。そのため、あなたの方法が本当に優れていることを確認できる別の有能な開発者を連れてくるか、一緒に調整する必要があります。 あなたの決定をマネージャーに提供し、他の開発者に自分の立場を守らせ、マネージャーに決定をさせてください。 今ではすべてが彼の手にあり、あなたは彼の決定に影響を与えることはできません。 彼が別のパスを選択した場合、少なくともあなたは試してみました。
開発者として、私たちはコードにあまり感情的にならないはずです。 この間違いなくあなたよりも良い解決策に対する論争を考えるとき、これを覚えておいてください。