コミュ障エンジニアと言われない為の基本的なコミュニケーションメソッド5選。

# はじめに
皆さん、優秀なエンジニアさんですよね。知ってます。
今回Qiitaに技術的な事を投稿しようと思ったのですが、プログラミング歴の浅い自分が思いつく事は大抵先輩エンジニアさんが記事にされていて、書くためのネタがありません。ありがとうございます。

しかし、皆さん**喋れますか？**
**初対面の人に会って、上手く話を聞き出し円滑なコミュニケーションを取ることはできますか？**

コミュニケーションは**「相手を思いやる気持ち」**が全てであり基本です。
これはコードを書く上でも重要になってきます。

ここで、以下のコードを見てみましょう。

```ruby

def a(b, c)
  a = 0
  c.times { b = b + c }
  p b
end

a(10, 5)
```
どうでしょうか、怒りがこみ上げてきましたか？
共同開発でこのようなコードを書いた日には、会社中の全エンジニアから**「思いやりの無い奴だ」**と思われるでしょう。
そう、**「思いやりの無いコード」**なのです。

コードはただ書くことができれば良い物ではありません。
コードを書いて一つのプロダクトが動き出す。
その先にはいつだって**「人」**がいるのです。
ですので、もう**コードが書けるだけのエンジニア**を卒業して**思いやりがあって喋れるエンジニア**になりましょう。

それでは早速コミュニケーションを取る上で重要であるメソッドのうちの5つをご紹介します。
読者の人生に幸あれ。

※これから紹介するメソッドは私がこれまでに自然と使っていて、且つこれは使えると思っていたメソッドを、これまでに読んだ書籍の言葉をお借りして皆様にお伝えしております。

## 私とは
エンジニアとして入社をしたが、「明らかにお前は人と話す仕事をした方が良いだろ」という事で入社以来ほとんどコードを書かず、人と話す系の仕事をしている。

# 1. ペーシング(Pacing)
**相手に共感・同調する**
これは非常に簡単なテクニックですが、意外と出来ていない人がいます。
ペーシング、ですから「相手のペースに合わせる」といったメソッドです。

コードにすると以下のようになります。

```ruby:pacing.rb
class Communication
  def initialize
    @response = "エアコンの温度下げましょうか？"
  end
  def not_pacing(question)
    puts @response + "is bad."
  end

  def pacing(question)
    puts question + "、" + @response + "is very good!"
  end
end

com = Communication.new
partner_say = "暑いですね"
com.not_pacing(partner_say)
# => エアコンの温度下げましょうか？ is bad.
com.pacing(partner_say)
# => 暑いですね、エアコンの温度下げましょうか？ is very good!
```
このように、最初のうちは相手の感情を繰り返すことによって共感を表し、会話をしてみましょう。

さらに、具体例に見てみましょう。

```text:ダメな例
女子「お腹すいた〜」
自分「何か食べに行く？」

相手「今日暑いですね〜」
自分「冷たい水はいかがですか？エアコンの温度下げましょうか？」
```

一見、気が効いた発言に見えますね。
しかし、これでは**私は共感してないけど、あなたが望むならそうしましょう**という意図が感じられます。
これでは気が利く相手だった場合「いえいえ、大丈夫ですよ」となってしまいます。
この時点で**「この人とはスムーズなコミュニケーションが取れないな」「なんか違和感があるな」**と感じてしまいます。

ほとんどの人はここまで意識しないだろうと思うかもしれませんが、実は自然とそう感じています。
いかに、違和感を感じさせないかが円滑なコミュニケーションをとる上で重要になります。
基本的にテクニックを使ったからと言って大きく相手によく思ってもらうことなど不可能なのです。
小さな部分に気を配り、**相手を思いやる事**が大切です。

```text:良い例
女子「お腹すいた〜」
自分「お腹すいたね〜、何か食べに行こうか」

相手「今日暑いですね〜」
自分「暑いですね〜、エアコンの温度下げましょうか」
```
このように、まず共感をしましょう。
そうすることで、その後の会話も弾みやすくなります。

また心理的に**「人は自分と似ている人を好きになる」**とも言われています。
個人的には心理の事はよく分かりませんが、たしかに自分と似ていたとしても、少なくとも悪い気はしません。
まずは相手に共感する事から初めて見ましょう。


さらに、人に注意をする場合もいきなり指摘をするのではなく、まず肯定から入るようにしましょう。

```text:ダメな例
必要ない場面でもわざわざ変数に入れる癖があるから、なくしていこう。
```

```text:良い例
ここまでは良く出来てるね。ただ、必要ない場面でもわざわざ変数に入れる癖があるから、なくしていこう。
```
細かいですが、これを徹底するだけで、指摘を受けたほうも「もっと頑張らないと！」というプラスのモチベーションで改善に務めることができます。
また、その後もお互い気持ち良いですよね。
もちろん、本気で注意しなければならない場合は別です。場面を見極めて使っていきましょう。

最後に少し応用を効かせた例を出して終わりにします。

```
後輩「先輩、pacingメソッドの使い方が難しくて・・・どうすれば良いか分からないんですけど、ちょっと教えてもらえませんか？」

自分「picingメソッドは難しいよね。俺も最初見た時は難しくて使いこなすまでに時間がかかったよ（笑）」
```
相手のワードを使って**同調**（「pacingメソッドは難しい」）して、さらに**共感＋過去の体験を話す**（「俺も最初見た時は難しくて使いこなすまでに時間がかかった」）事によって、親近感を沸かせています。
このようなちょっとした会話を付け加えるだけで、後輩はまたあなたと話したいと思ってくれるでしょう。
余裕のある方は、**日々の会話にプラスα**も心がけてみましょう。


# 2. マッチング(Matching)
マッチングとは、**相手と言葉を合わせること**です。
**相手の使う用語を、あなたも使う**ということです。
ちょっとした事ですが、こういった小さな積み重ねで少しずつ相手の信頼を得る事ができるのです。

以下の会話を見てみましょう。

```
A「そのコップを取ってください」
自分「はい、このグラスですね」
```

```
A「そのお皿を取ってください」
自分「はい、この取り皿ですね」
```

このように、いちいち相手が口にしたワードを自分がいい慣れているワードに変換して返答をする事もよくありません。
気づかないうちに、相手もストレスを感じてしまいます。
いちいち言い換えないだろ・・・と思っている人もいるかもしれませんが、意識をしていないとついつい出てしまいます。
とにかく、相手の出してきたワードを使って会話を進める事が円滑なコミュニケーションを取る上で非常に重要になります。

また、今回紹介した「マッチング」を使ったLINEやチャットでの会話術を少しだけ紹介します。
そろそろクリスマスなので、これを駆使して予定を埋めちゃいましょう。

マッチングとは**相手と同じ言葉を使う**と紹介をしました。
しかし、**相手と同じ行動をする**これもマッチングの一つです。（いわゆるミラーリングと呼ばれるものとは少し異なります。）
今回は皆さんもよくお使いの、LINEやチャットで使えるテクニックをご紹介します。
例えば女子から以下の様なメッセージが来た時、どう返しますか？

question **A**
>きーた君、お疲れ様！
今日は楽しかったです♪
また遊ぼうー！
![](http://i.imgur.com/dtJnIpq.png)

question **B**
>きーた君、お疲れ様 :smile: 
今日は楽しかったです :notes: 
また遊ぼうー！ :heart_eyes: 

なんとなく分かったでしょうか、以下のように返すと良いですね。

answer **A**
>こっちこそありがとう！
俺も楽しかった♪
また遊ぼうねー！
![](http://i.imgur.com/vKU1X0v.png)

answer **B**
>こっちこそありがとう :satisfied: 
俺も楽しかった :sunglasses: 
また遊ぼうねー :kissing_closed_eyes: 

今回本文は関係ありません。
注目して欲しいのは、スタンプや絵文字の使い方です。
相手は何も気にせずいつものようにスタンプや絵文字を使ってきます。
そうです、相手の中でのこれらの使い方が**当たり前**になっているのです。
ですので、そういった場合はこちらも合わせていきましょう。
文章の後にスタンプを送ってくる人にはスタンプを、絵文字を多用してくる人には絵文字を。
`(T_T)`こういった顔文字を使ってくる人には、同じように顔文字を返すと良いでしょう。

これらも、相手の印象を良くするというより、**絶対に印象が悪くならないようにする**という目的で使います。
目的、というより**基本中の基本、最低限やっておくべき事**です。
こうすることでまずゼロ地点に立てます。
ここから後は自分のトーク力等でポイントを加算していけば良いでしょう。

# 3. アクティブ・リスニング(Active Listening)
これは、話を聞くときの重要なテクニックです。
アクティブ・リスニングとは、相手の話に対して**目を見て少し大げさなくらいにうなずき、意識的に相槌を打つこと**です。

人はいつしも、相手が**自分の話を聞いているのか不安**なのです。
「話を聞いていますよ」という事は、あなたの聞く態度で伝えるしか無いのです。

ここで以下の式を見てみましょう。

```ruby
'コミュニケーション能力が高い人' != '話し上手'
'コミュニケーション能力が高い人' == '聞き上手'
```
コミュニケーションにおいては、上記の式が成り立ちます。
聞き上手な人程話をしていて気持ちが良いのです。

基本的には自分が喋って相手を楽しませるのではなく、**いかに相手に気持よく話してもらうか**だけを考えていれば良いのです。

特に、普段会話が弾まないような相手が歳の離れた人の場合、アクティブ・リスニングは特に大きな効果があります。

また、相槌を打つ時は基本的に「なるほど！」「そうなんですね！」「へー！」「すごいですね・・・」などありがちな相槌でも問題ありません。。
しかし、話が伸びてくるとさすがにBOT(機械)感が出てきます。
これを解決する為のメソッドが次に紹介する「ペーシング＋ワン」です。

# 4. ペーシング＋ワン(Pacing plus One)
これは文字通り、ペーシングを行いつつ**返す言葉に＋ワン**するというメソッドです。
ペーシングの基本は相手に同調をすれば良かったですね。

```text
相手「天気が良いですね」
自分「そうですね、良い天気ですねー」
```
といった具合でした。
しかし、これだけでは会話が終わってしまいますね。

ここれで**＋ワン**をします。

```text
相手「天気が良いですね」
自分「そうですね、良い天気ですね。気持ちいいですね。」
```
これだけで良いのです。
何か一言付け加えるだけ相手が拾えるワードも増えます。

このように一言を足していくと以下のように、自然と会話が広がります。

```text
相手「今日は一段と寒いですね」
自分「そうですね、寒いですね。冬が来たって感じがしますね」
相手「そうですね、冬を感じられる所にいきたいですね。」
自分「たしかに行きたいですねー。この時期イルミネーションとか綺麗ですよね」
相手「イルミネーションですが、綺麗でしょうね」
自分「絶対綺麗ですよね。ところでクリスマスのご予定は？」
相手「（あっ）」
自分「（あっ）」
```

最後はふざけましたが、このようにプラスワンするだけで会話が広がることが分かります。
**※まだ親しくない間柄で、クリスマスなどの具体的な予定、その後の返答次第で気まずくなるような事が考えられる質問は厳禁です。やめましょう。**

しかし、いくら**＋ワン**すれば良いと分かっていても、その＋ワンするワードが思いつかないという人もいますよね。
安心してください。アルゴリズム、あります。

```ruby
class Communication
  require 'natto'
  def stock_words(talk)
    words = []
    nm = Natto::MeCab.new
    nm.parse(talk) do |t|
      str = t.surface if t.feature.include?('名詞')
      words << str if str
    end
  end
end

com = Communication.new

partner_say = "いやー、昨日は残業で深夜3時までコード書いてて、睡眠不足だわ
朝起きてから彼女と見に行くイルミネーション探したりしてて忙しかったんだよ。
しかも、会社のパソコンで探してたのが社長にバレて、皆に言いふらされちゃったよ（笑）"

com.stock_words(partner_say)
# => ["昨日", "残業", "深夜", "3", "時", "コード", "睡眠", "不足", "朝", "彼女", "イルミネーション", "ん", "会社", "パソコン", "の", "社長", "皆", "笑"]
```
このコード自体は、人の発言をmecabと呼ばれる形態素解析エンジンを使って、文章を読み取り、名詞だけを配列にストックしています。
※簡易的なプログラムなので精度は悪いですがお許しください。

人と話す時、話題に困るという方がいますが、上記のメソッドのように相手の発したワードを切り取り自分の中にどんどんストックしていくのです。
もちろん記憶には限界がありますが、とにかく全てストックしていきます。
相手の話を聞く中で、話題が尽きかけた辺りでこの中のストックからワードを適当に選び出し、**「そういえば◯◯って言ってましたけど・・・」**とそこからまた話を展開させることが出来ます。
これを常に意識することで話題に困ることはなくなるでしょう。


# 5. 相手とすぐに打ち解ける会話術
初対面の相手や仲良くなりたいと思っている相手と、簡単に距離を縮める方法があります。
ちょっと気の利いた発言をして笑いを取ってみたりして、距離を縮めたいなと思うこともあると思います。
しかし、気の利いた発言で相手の小笑いを取るのは非常に難しいですよね。
そんな時、とても簡単な方法があります。
**いちいち大げさに発言をするだけ**です。
と言われても、良くわからないと思うので、実際に具体例を見てみましょう。

```text
相手「ここから◯◯さんの家って遠いんですか？」
自分「そうですねー、大体電車で2年くらい掛かります（笑）」(掛かり過ぎ)

相手「このオフィス新しいですね！」
自分「そうなんですよ！築5分なんです！」（新しすぎ）

相手「この服素材が良くて結構長持ちするんですよ〜」
自分「30分くらいですか？」（早すぎ）
```

といった具合です。
本来相手が期待する答えより大幅にずれた事を言うと**小笑い**をとる事ができます。
しつこく使うのは良くないですが、適度に使えば会話に笑いも生まれて相手との距離も縮まりやすくなります。
とても簡単なので、是非明日から使ってみましょう。


# おわりに
以上で５つのメソッドの紹介を終わりにします。
基本的なメソッドの紹介でしたが、いかがだったでしょうか。
最初にも言った通り、コミュニケーションの基本は**相手を思いやること**です。
**CTOに向いているのは、後輩から良く質問をされる人**だと聞いたこともあります。
既に、コードが書けるエンジニアさんばかりだと思うので、是非この機会にコミュニケーション力も付けて、気が遣えて周りから尊敬されるエンジニアになりましょう。
（メリークリスマス・・・）