私の犬が象牙の塔におしっこした話

象牙の塔についてのカバー画像

ウィキペディアでは、「象牙の塔は喜んで世界から切り離されて、自分たちのことだけに夢中になっている場所、または雰囲気として比喩的に使われる」と説明されています。エンジニアとして私は、批評を受け入れられない、もしくは受け入れようとしない典型的なプログラマーやアーキテクトを指して、象牙の塔という言葉を使っています。

その人が人格崇拝のせいで象牙の塔状態になっている場合、人々が彼の行動を正当化して、「彼は頭が良すぎて、設計の決定事項をメモする必要はないんだ。頭の中で全部保持しているんだよ」と言うのを耳にすることがあるかもしれません。

頭の中だけで設計の決定事項を保持しない理由はいくつかありますが、限られているわけではありませんが、以下のようなものがあります。

  • もし何かしらの複雑な設計があれば、他の人によるレビューを受けるべきで、それは文書化されていなければ不可能です。
  • 文書化することで、何年も経った後にその設計の決定事項がまだ適用されるか判断することができます。
  • そして最も一般的な用途として、他の人が実装や保守の期間中に理解できるように、設計文書が存在します。

象牙の塔は、しばしば重大な決定に最終的な発言をする個人のグループで、その決定は何年も影響を及ぼすものですが、彼らは他人の意見を求めたり、聞いたりしません。彼らは開発の企業任命された君主です。

象牙の塔はお仲間意識のエコーチェンバーを提供し、普通は顔ににっこり笑みを浮かべて大人たちが決定したから座ってろ、と言う一人の男に率いられています。あるいは彼は嘲笑を浮かべてその後満足そうに微笑むかもしれません。

象牙の塔は、批判を受け入れられない、そして批判をされるなんて信じられないと感じる単なる有害な人物かもしれません。実のところ、チーム内の有害さはたいていの場合単一の個人によって引き起こされます。ほとんどの人は良い仕事をし、同僚に親切で、一日の終わりには家に帰ることを望んでいますが、象牙の塔内のナルシストたちはエゴの上に君臨します。彼らは賞賛の声を聞きたがっています。

これが開発現場のほとんどでの実情です。通常は一人か一つのグループだけがこのように振る舞っていますが、他のチームにはストレスを与えます。なぜかと言うと、企業任命の君主である象牙の塔が意見を求めずに決定を下すことで、開発者たちはイライラし、怒ります。彼らは自分の仕事内容に意見を言いたいのです。技術的な決定に関連する経験があるかもしれませんし、関わるトレードオフについて正直な回答をすることができるかもしれません。もっと良いツールを知っているかもしれません。誰も過去の過ちを繰り返したくはありません。

私はいつも驚かされます。私の周りにいる同僚に埋もれている知識の深さに、そしてもっと見るほど、成功のために彼らの意見がどれほど必要かを受け入れます。クールなことを学んだとブログに書くことにいとわない人がいる一方で、何も書かない何千人もの人々が深い知識を持っていて、時にはあなたの隣に座っていることがあります。

象牙の塔は有害な職場文化の一つであるため、解体されるべきですが、どのようにすればよいでしょうか?

もし私がその状況を解決する銀の弾丸を持っていたら、今の私の人生は違ったものになっていたでしょうが、仕事のダイナミックスを変えるための有効なツールをいくつか学びました。すべての象牙の塔は共通の特徴を持っています。フィードバックを受け入れることができないのです。正直言って、私もそれが理解できます。批判を受けるのは恐ろしいことです。ベストではないと言われるのは聞きたくない。もしあなたの自尊心が仕事に結びついているのなら、自分が思っていたほど良くないと知ることは、人生の他の部分にも波及するかもしれません。

私は作家で、最初の小説を書いた後、愛する人たち何人かがその小説を絶賛しました。私の自己満足の象牙の塔で、私は私の傑作をあちこちに共有しました。そうしたら一人の友人がそれを読んで、その欠点を的確に指摘しました。私は打ちのめされ、傷つきました。どうして誰かが私の最初の小説が完璧でないと言うのですか?でも…でも…私の母は気に入ってた!少し反省した後、もちろん、私は私の傷ついたプライドを静めて、真実を受け入れました。彼女は正しかった。私はフィードバックを受け入れることが、もっとうまくなるための必要な道であると気づきました。私は自分自身から作品を離し、書くことについて私が知らなかったことがたくさんあると受け入れました。数年後、いくつかの出版できる小説を完成させた後、私はその友人のところに戻り、正直さに感謝の言葉を述べました。

フィードバックを上手に受け入れるのは困難かもしれませんが、練習すればずっと簡単になります。あなたの努力が完璧ではなく、決してなれないと受け入れ、他人から学ぶことで質を向上させられるなら、エゴは静かになります。

そしてそこに答えがあります。アカウンタビリティの文化を促進し、自分の仕事成果から自身を切り離してください。プルリクエストでは同僚に厳しくしてもらいましょう。キャリアの初期にいるならメンターを探しましょう。他人のコードにゴム印を押す文化を助長したり参加したりしないでください。プルリクエストに何も提案がないなら、質問をしてください。教えられることを示しましょう。デザインの決定をしたら、それを文書化してフィードバックを求めましょう。たとえそれがホワイトボード上だけだとしても。批判されることを受け入れる意志を持ちましょう。

私たちの中にはまだフィードバックを受け入れる方法を理解していない人がいます。それは恥ずかしいことではありません。私もそのような人間の一人でしたし、恥ずかしい方法で学びました。なので、他の人が防御的になったり、かんしゃくを起こしたりするのを避けるために、私の方法を共有しようと思います。

まず私は、フィードバックをくれた人が正しいと仮定し、その人の視点から状況を見るために、頭の中でパラダイムシフトをすぐに試みます。それをすると、質問がわき上がってきます。もっと詳細を知りたいですか?すべての決定にはトレードオフがあるので、どのような利点が変更によって得られ、何が失われるでしょうか?なぜ私はそれをそのような方法で行うのが良いと考えたのでしょうか?これは私の知識の穴ですか?この過ちを繰り返さないようにするために、どこでさらに学べるのでしょうか?

時には、同意へと向かう道を自分自身に強いることができません。そのようなときは、考える時間を要求します。考えている間に、聞かされたことの良い部分を探します。ほとんどの場合、私はすぐにGoogleを使って世界の他の人々がその問題についてどう言っているかを調べます。他の人々はどう解決したのか?2つの道にはどのような落とし穴がありますか?

時々、フィードバックをくれた人が正しいことがあり、そのときは私は防御的にならなくて良かったと感謝します。通常、私はその人に感謝のメモを送り、何かを教えてくれたことに感謝します。

時々、その人が間違っていて、私は彼らに私の研究結果を送って、さらなる議論を求めるか、またはその他の人の性格にもよりますが、無視するかもしれません。しかし、ほとんどの場合、私たちは部分的に正しく、部分的に間違っています。エンジニアリングとデザインの世界はトレードオフが満載であり、物事はまれにすべてが一方通行です。あるアーキテクチャで正しいかもしれないものが、異なるアーキテクチャでは最善の選択ではないかもしれません。数年前に正しいとされたものが、今日では正しいとは考えられないかもしれません。自分自身と他の人々に、間違いを犯す余地を与えましょう。

誰かがあなたに本物のフィードバックを提供する勇気を持っているなら、その行為があなたのためにしたヘラクレスの感情的な偉業であることを認識してください。フィードバックを受け入れられないことが非常に一般的であるため、彼らはあなたを怒らせるリスクがあることを知っています。彼らは無意識のうちに、将来的にあなたの顔が地面にぶつかることを防ぐために余計な一歩を踏み出すかどうかの決定を下しています。

最後に、誰かが正しい場合は、彼らを認めます。それはくさい必要はありません。「ありがとう!今日新しいことを学びました」と言うのでもいいのです。

あなたが脆弱である勇気を持つと面白いことが起こります。チームメイトの間に強い絆が形成され、信頼と卓越の文化が始まります。皆がすべてにおいてより良くなり、生産性の乗数が発生します。

象牙の塔が仕事の成果にフィードバックを求めることで崩れることを期待していますか?いいえ、そうではありません。ナルシスムはそうは機能しません。しかし、積極的に批評を求めることは、他の 人々がフィードバックについて考える方法を変えます。脆弱性が正常化され、より多くの人々がフィードバックを求めて火中に飛び込むことになり、全体的なコラボレーションとコードの品質が向上します。一方で、あなたは共に成長して勝利を積み重ねていきます。

後で、象牙の塔を横目に成功への道を滑らかに進むとき、どれだけ遠く来たか、そしてなぜ来たかを振り返ってみてください。そしてもし気が向いたら、犬におしっこをさせてみてもいいでしょう。

こちらの記事はdev.toの良い記事を日本人向けに翻訳しています。
https://dev.to/tamimandarino/my-dog-peed-on-the-ivory-tower-3mmm