で、私の時代遅れの同僚の取り扱い質問を、様々な人々がいる同僚に対処するための戦略を議論したくないチームで自分のワークフローを統合します。
可能であれば、現代の技術やツールに無知で、おそらく少し無関心な同僚を「教える」ためのいくつかの戦略を学びたいです。
会社の別の部分で、最近まで比較的孤立して働いていたプログラマーと仕事を始めました。彼は幅広い分野の知識を持ち、最も重要なことには、多くの候補者が欠けているように見える、優れた問題解決スキルを実証しています。
しかし、私が見た実際の(C#)コードはVB6時代への先祖返りです。手続き構造、ハンガリー語表記、グローバル変数(の乱用static
)、インターフェースなし、テストなし、ジェネリックの不使用、スローSystem.Exception
...アイデアが得られます。
このプログラマーは私よりもかなり古く、少なくとも第一印象では積極的な変化を積極的に求めていません。私はそれが主にトピックがどのようにブローチされるのかという問題だと思うので、私は変化に抵抗するとは言いません。
プログラマーは頑固な人である傾向があり、銃を燃やし、コードのレビューと厳格に施行されたポリシーを厳格に施行することは、私が望む最終結果をもたらさない可能性が非常に高いです。これが新しいプログラマーである若手のプログラマーである場合、「メンター」スタンスを取ることについては二度とは思いませんが、経験豊富な従業員を無知な初心者として扱うことには非常に警戒しています(彼はそうではありません-彼はただ分野の特定の進歩に歩調を合わせました)。
穏やかな説得と非物質的なインセンティブを介して、この開発者のコード品質基準をデールカーネギーの方法で高めるにはどうすればよいでしょうか?敵対的な状況を作り出すことなく、微妙な段階的な変化をもたらすための最良の戦略は何でしょうか?
他の人々、特にリード開発者は以前にこのような状況にあったことがありますか?どの戦略が興味を刺激し、ポジティブなグループダイナミックを生み出したのでしょうか?どの戦略が成功しなかったので、避ける方が良いでしょうか?
明確化:
質問のすべての詳細を実際に読むことなく、個人的な感情に基づいて回答している人が本当にいると感じています。次の点に注意してください。これは暗示されるべきでしたが、現在明示的にしています。
この同僚は、年齢のおかげで私の「シニア」だけです。彼の肩書き、影響範囲、または組織での年数が私のものを超えるとは言わなかったが、実際には、それらのいずれも真実ではない。彼はLOBプログラマーであり、メイン開発ショップに夢中になっています。それでおしまい。
私は新入社員でも、若手プログラマーでも、一晩で会社を変革するという壮大な計画を持った他の未熟なバカでもありません。私は基本的にソフトウェアプロセスを担当していますが、「リーダー」として働いた多くの人が知っているように、責任は必ずしも組織図と正確に相関するとは限りません。
私は、どうやって自分の道をたどるのか、地獄に行くのか、満水になるのかを人々に尋ねているのではありません。私が望むなら、それを行うことができ、最終的な結果として、この人はresり、そして/または辞めます。私は変化を促進する社会的で協力的な方法を探していることを理解してみてください。
「...グローバル変数...テストなし...投げる
System.Exception
」という言及は、問題が単なる表面的または審美的ではないことを実証することを目的としています。比較的小さなCRUDアプリで機能するプラクティスは、大規模なエンタープライズアプリで必ずしも機能するわけではありません。実際、これまでのコードで実際に統合テストに合格したものはありません。
質問を額面通りに受け止め、私が話していることを実際に知っていることを受け入れ、実際に尋ねた質問に答えるか、先に進んでください。
PS前提に反論するのではなく建設的なアドバイスを提供してくれた人々に心から感謝します。現実世界の体験の方法でもっと多くのことを聞きたいので、私はこれをしばらくオープンにしておきます。