私たちの主任開発者の何人かは、彼らのためにコードを文書化するジュニア開発者を割り当てるよう経営陣を説得しました。
彼らの議論は次のとおりです。
- すべてに精通した 2 人のプログラマーがいます。
- ペアプログラミングですね。
- 費用対効果が高くなります = 彼らはより多くのことを成し遂げます。
- 彼らのコードが読みやすく、保守可能であることを示しています。
- どんな質問にも喜んでお答えします。つまり、メンタリングの一種です。
ただし、最新の状態を維持するために忙しくしているプログラマーの数は、時間の経過とともに増加しているようです。
これは良い考えですか?
わお!これは私たちの経験ではありません!
重要であることが判明したいくつかの説明を次に示します。
上級開発者は反射的なセルフドキュメンターです。採用の核となる質問です。「これは後輩に任せて」と言われることもある。
これは、上級者向けの検証ツールとして表示されます (そして、私たちの後輩はクリアするのにかなり高いハードルを持って雇われています)。
はい、コードは単一目的で自己文書化する必要があります。後輩がなかなか言い出せないことは、先輩が真摯に受け止めるフィードバックです。
ジュニアはこれをリファクタリングの演習として扱うことが期待されており、予想よりも頻繁にそのように機能します。特に、YAGNI の問題や過剰なスコープなどをキャッチします。実際、彼らは変化を引き起こしました。(彼らが本当に反対し始めたら、私たちはそれを撤回します。上級生は喜んで順応します。彼らは後輩の成功に誰よりも責任があることを理解しています。)
あなたの先輩は自分のコードを説明したくありませんか?
私たちは、「誰もがコードを所有している」というアジャイルの原則に強くコミットしています。これがプロセスを加速すると考えています。
最後に、個人的なメモ - 私が他の人のコードを理解しようとしているとき、私が最初にやりたいことは、理解しようとするときに再度コメントすることです。コメントすることはなぜ面倒だと見なされるのですか?
これが私たちの仕事のやり方であることを明確にするため、一部の若手応募者を除外する場合があります。しかし、それは売上高の問題ではありません。(でもまだ3ヶ月しか経っていません。)