リードについて次の質問をしてください。
- 彼らは一人で仕事をするのですか、それとも非常に小さなチームで仕事をするのですか?
- 彼らは主にこの1つの店でコーディングされていますか?
- 彼らは意思決定に慣れていますか?
- 彼らは「ただそれを成し遂げる」ことに慣れていますか?
- 彼らはほとんどのコードを書きましたか?
答えが「はい」の場合、特定のタイプのリードプログラマーの絵を描きます。それがあなたが経験したものと一致するなら、多分それは彼らの頭に入るのを助けるでしょう。そうでない場合は、この回答を無視してください。
これは、初日からそこにいて、同じコードベースで同じ仕事に何年も費やし、自分のやり方に慣れており、他の方法で多くの経験がない人です。
彼らはコードを書くときに他の人を考慮しません。それは彼らにとってすべて理にかなっているからです。もちろん、彼らはそれを書いた、または彼らはそれを理解するのに何年も費やした。
彼らはコーディングスタイルは個人的な好みであり、メンテナンスやバグを減らすツールではないと考えています。コーディングスタイルについて議論するとき、彼らはあなたの議論を聞くのに苦労します。なぜなら彼らはおそらく彼らが自分たちのやり方で何かをする理由についてあまり考えたことがないからです。彼らが聞くのは、「自分のやり方でやりたい」または「新しい、おしゃれでトレンディなやり方でやりたい」ということです。
彼らは彼らの方法で設定されています。なぜなら、彼らはすべてのツールとエディターで長い間同じ方法でそれを行っており、彼らのスタイルに正確にマイクロ構成されているからです。このスタイルからの逸脱は、慎重に配置された、しかし非常に脆弱な作業方法と矛盾します。変更しようとすると、編集者、ツール、作業方法、または「読みにくい」という苦情が寄せられます。彼らは変化を拒否します。なぜなら、彼らは変化することができない現状で非常にきつく締められているからです。
これは、ソフトウェアエンジニアリングとソフトウェアアーキテクチャを適切に学習したことがない人です。彼らは、うまくいくものは何でも一緒に並べます。
技術的な問題ではなく、人の問題があります。
リードを再トレーニングするか、やめなければなりません。
管理に行くことは最後の手段です。両方のための指摘@JaredSmith理由から、あなたが失うことになるので。この男は彼らのためにお金を稼ぐのに何年も費やしました。彼は彼らの会社を書いた。彼は多くの火事で消火しました。あなたにとって彼はスパゲッティを作るカウボーイシェフです。彼らにとって、彼は会社を建設し、救ったヒーローです。
再トレーニングするには...
- 彼の信頼を得る。
- 彼の考えを理解してください。
- 彼の変化に対する恐れに対処してください。
- 変更を簡単にします。
- これが彼にとってどう良いか示してください。
彼のスタイルを真剣に考え、彼の頭の中に入る。それについて彼に尋ねてください。なぜ彼は彼のように物事をするのですか?彼はそれを読んだときに何を見ますか?それは彼のツールとどのように相互作用しますか?彼はどのようにコードを移動しますか?これらすべてを知ることで、彼の異議を理解し対処することができます。
彼の主観的な異議の客観的な根源を見つけ、それらを実行可能にします。「読みにくい」は主観的であり、情報を提供しません。それについては何もできません。「私は色覚異常で、構文の強調表示は機能しません」は客観的であり、情報を提供し、それについて何かをすることができます。詳細については、Getting To Yesという本をお勧めします。
根本的な問題、つまり彼が経験している実際の問題に到達したら、それを修正または軽減できるかどうかを確認します。その後、それは問題ではありません。彼らはおそらく、変化に関して感情的な問題を抱えているでしょうが、少なくとも彼らはそれが実際の問題だと主張することはできません。
少しずつやってください。これは何年も同じ方法でやっている人です。彼はコード内の特定のパターンを見て、それを使ってそれを理解することに慣れています。これらのすべてのパターンを突然変更すると、混乱を招きます。既知のグッドプラクティスでゆっくりとスピードを上げていくのはイライラするので、彼にそれを説明しなければなりません。
標準的なコミュニティスタイルの支持者。これは、個人的な好みに関する議論を排除し、彼らの異なるスタイルが非常に優れている理由を正当化するよう彼らに圧力をかけます。採用を計画している場合、新規採用の統合が容易になります。
自動化されたコードスタイルの擁護者。正しいスタイルに従ってボタンを押すだけです。標準スタイルで始まるツールを使用し、好みに合わせて設定し、ボタンを押すだけでコードのスタイルを変更できます。スタイルに従うことを可能な限り簡単にすることは、それがどれほど難しいかについての多くの議論を取り除きます。好きなようにコーディングできます。完了したらボタンを押し、他の人が読むことができるスタイルに従います。
この人は他人のことを考えているわけではないので、これらの変化が彼らにどのように役立つかを示す必要があります。「これが今の標準だから、あなたが次に雇う人と再びこの戦いを経験する必要はないだろう」と同じくらい簡単です。または、「テストがある場合は、コードの変更に対してより積極的になり、変更の心配を減らすことができます」。または「良いドキュメントがあれば、人々はコードがどのように機能するかについての質問で悩まされ続ける必要はありません」。これが効果的であるためには、彼らが何を望んでいるかを知る必要があります。
長い長い道のりです。上司を管理して再訓練する忍耐があるかどうかを判断する必要があります。自分のことを、イライラした部下というよりも教師だと考えてください。