💬

エンジニアのためのコミュニケーション入門:なぜ「伝わらない」のか?

に公開

この記事について

エンジニアの仕事は、コードを書くことだけではありません。チームメンバーとの仕様確認、プロジェクトマネージャーへの進捗報告、他部署への技術的な説明など、その多くはコミュニケーションによって成り立っています。しかし、多くのエンジニアがこの「コミュニケーション」に苦手意識を持っているのではないでしょうか。

この記事では、コミュニケーションを一種の「技術」として捉え、特にエンジニアが陥りがちな問題とその対策を、論理的に分解して解説します。

前提:コミュニケーションは「伝送プロトコル」である

私たちは、コミュニケーションを「人と人との間で情報をやり取りするためのプロトコル」と考えることができます。プロトコルである以上、そこにはルールや、エラーが発生する原因、そしてそれを解決するためのデバッグ手法が存在します。

情報の送受信モデル

「伝わらない」という問題は、この送受信の過程のどこかでパケットロスやデータの破損が起きている状態です。

なぜコミュニケーションは失敗するのか?

1. 前提条件(コンテキスト)の不一致

エンジニアが技術的な話を非エンジニアにする時、最もよく起こる問題です。

  • 送信側(あなた): 「このタスクは、APIのレートリミットとDBのスキーマ変更を考慮する必要があるので、5日かかります」
  • 受信側(相手): (レートリミット?スキーマ?よく分からないけど、なんか言い訳してるな…)「そんなに時間かかるの?」

原因: 送信側は、相手も自分と同じ技術的な知識(コンテキスト)を持っていると無意識に仮定しています。しかし、受信側はそのコンテキストを持っていないため、情報を正しくデコードできません。

対策:

  • 相手の知識レベルを推測する: 話し始める前に、「〇〇の技術的な背景について、どのくらいご存知ですか?」と確認する。
  • 専門用語を翻訳する: 「APIのレートリミット」→「外部サービスへの連続アクセス制限」、「DBのスキーマ変更」→「データベースの根本的な構造変更」のように、相手が理解できる言葉に置き換える。
  • 比喩を使う: 「データベースの構造変更は、家のリフォームのようなもので、家具(データ)を一度全部出して、壁紙を張り替えてから戻すような、慎重さが必要な作業なんです」のように、身近な例え話で説明する。

2. 「事実」と「意見」の混同

  • 悪い例: 「ここの実装、パフォーマンスが最悪ですね。」
    • これは「パフォーマンスが悪い」という**意見(評価)**です。相手は「なぜ?」「どのくらい?」と疑問に思うか、あるいは単に攻撃されたと感じるかもしれません。
  • 良い例: 「この処理を100回実行したところ、平均5秒かかりました(事実)。レスポンスタイムの目標は1秒以内なので、改善が必要だと思います(意見)。」

原因: 事実に基づかない意見は、ただの感想や批判と受け取られがちです。

対策:

  • DESC法を意識する: Describe(事実を描写する)、Express(意見を表現する)、Suggest(提案する)、Choose(選択する)というフレームワークを意識します。
  • 客観的なデータを根拠にする: パフォーマンス計測の結果、ログ、エラーレポートなど、誰もが共通認識を持てる「事実」を先に提示します。

3. 感情のノイズ

人は論理だけで動くわけではありません。特に、ストレスやプレッシャーがかかっている状況では、感情的なノイズがコミュニケーションを妨害します。

  • : 厳しい締め切りのプレッシャーで、少し指摘されただけで「自分のコードが全否定された」と感じてしまう。

原因: 人はそれぞれ異なる経験や価値観(遺伝的・環境的要因)を持っており、同じ言葉でも受け取り方が全く異なります。相手の「状態」を考慮せずに情報を送ると、意図しない形で受信されてしまいます。

対策:

  • 相手の状態を観察する: 相手は疲れていないか?機嫌は悪くないか?などを少し観察してから話しかける。
  • 「I(アイ)メッセージ」を使う: 「You(あなた)はなぜこれをやらなかったのか」ではなく、「I(私)は、このタスクが完了していないことを懸念しています」のように、主語を自分にして伝えることで、相手を責めるニュアンスを減らせます。
  • アサーティブコミュニケーション: 相手を尊重しつつ、自分の意見も正直に、誠実に伝えることを目指します。

まとめ

コミュニケーションは、生まれ持った才能ではなく、意識と訓練によって向上させられる後天的なスキルです。

  • 相手のコンテキストを意識する
  • 事実と意見を分離する
  • 感情のノイズを考慮する

これらの点を意識するだけで、「伝わらない」というエラーは大幅に減らせるはずです。完璧なプロトコルはありませんが、デバッグを続けることで、より信頼性の高い通信を確立することは可能です。


この記事はAIによって修正・追記されました。

Discussion