Kind Engineering

積極的な親切な同僚になる方法、Kind Engineering を読んだメモ。

親切とは?
親切とは、他の人々に投資することであり、彼らを助ける方法を見つけることであり、彼らがいる場所で出会うこと。
優しいだけでなく、親切であれ
親切とは、礼儀正しさに等しい。外見的な態度であり、好意的で友好的であること。
Give & Take: この世には3種類の人間がいる
- Takers
- Matchers
- Givers
Givers は次のような結果をもたらす。
- より生産的になる
- より有意義なネットワークや友情を築く
- 自ら支援を受ける可能性が高くなる
- より成功する
- より幸せに

誠実さ
誠実さは信頼を築き、建設的な意見交換を促進する。
仕事での「本来の自分」
プロフェッショナルな面だけでなく、全人格を職場に持ち込む。自分の興味や経験を共有することで、人間味が増し、深い信頼関係が築ける。ただし、これは会社に全てを捧げることではなく、互いをより良く理解し合うためのアプローチ。
適切な場面での正直さ
善意の嘘は悪意がなくとも、成長の機会を奪う。同僚との関わりやフィードバックでは、相手の成長を願い、正直で有益な姿勢を心がける。これは、挑戦を促す際に個人的な配慮を示す重要な方法。
効果的なフィードバック
事実に基づいて正直に伝え、良かった点を称賛し、具体的な改善策を提案する。このバランスの取れたアプローチが、相手の成長と信頼関係の強化につながる。

コードレビュー
1. 全体像を把握する
- 変更の「What」と「How」だけでなく、「Why」を深く理解する
- 背景や意図を探ることで、より適切なフィードバックが可能に
2. 建設的な姿勢で臨む
- 好奇心を持って質問し、尋問や批判的な態度を避ける
- 相手の成長を促す環境づくりを心がける
3. 先入観を持たない
- 悪意や不手際を前提にせず、自分の理解不足の可能性を認める
- 訂正ではなく、説明を求めることで相互理解を深める
4. オープンな対話を促進
- 強い意見や断定的な発言を控え、オープンエンドの質問を活用
- 相手が考えを表現しやすい雰囲気を作り、新しい視点を得る

細かい指摘 (Nitpicks) の効果的な使用
定義と目的
- マージに不可欠ではないが、コードを改善する小さな提案
- チームの標準に合わせるのに有効
明確なラベル付け
- nitpick: のようなプレフィックスを使用
- レビュイーがオプショナルな提案として認識しやすくなる
ストレス軽減
- 重要度の低い提案を明確にすることで、レビュイーの負担を軽減
- 締め切りに追われる状況での柔軟性を提供
ツールの改善指標
- 頻繁な同じ細かい指摘は、自動化の余地を示唆
- リンターなどのツール導入で、人的なレビュー負担を軽減可能
自動化の利点
- ツールからの細かい指摘は、人からのものより受け入れられやすい
- チーム内の摩擦を減らしつつ、コード品質を向上させる

わかる。nits コメントがマージブロックになることはないから、重要度の低いというの明確にするためにコメントに prefix をつけるの大事。

プルリクエストにおける非同期コミュニケーションと同期的コミュニケーションの限界
- プルリクエストに多くのコメントがある場合、同期的なコミュニケーションに切り替えるべき
- 直接的でプライベートなコミュニケーションは、公開されたプルリクエストよりも好まれる傾向がある
- 多くのフィードバックは、たとえ親切な口調でも、受け手に屈辱感を与える可能性がある
- 個人の好みを考慮し、慎重にコミュニケーション方法を選択することが重要
- 基本的には、デリケートな会話においてプライベートなコミュニケーション形式を選ぶべき

心理的安全性を1つの質問に集約すると「あなたは職場で問題を指摘し、解決することにどれくらい安全を感じていますか?」というもの。

フィードバックの推奨
フィードバックを求める最初の人になること。特にネガティブなフィードバックを求めることが重要。フィードバックを求めていることを明確にし、みんなが率直に正直な意見を言えるようにする。
批判してくれた人に感謝し、彼らが共有してくれたことに感謝の意を示すこと。なぜなら、それは恐らく難しいことだから。もし厳しいフィードバックを与えた経験があるなら、それがどれほど不安を引き起こす経験であるか知っているはず。誰かの意見を丁寧に受け入れ、それにふさわしい敬意を示すことで、あなたが気にかけていることを伝えること。

支援とは、相手のいる場所、支援を求める場所で手を差し伸べることであり、「お互いに歩み寄る」ということではない。