千載一遇の雑記

千載一遇の雑記です

「それ違うんじゃない?」と思ったときのコミュニケーション戦略

同僚との会話でも、家族との会話でも、友人との会話でも何でもいいのですが、誰かと話していて相手の言っていることが間違っていると思ったとき、どんな対応をするでしょうか。いきなりそれに対する反論を述べたり、自分の意見を表明しようとしたりしていないでしょうか。

 

この記事で言いたいことは、「その対立構造は実在していますか?」「相手の言ったことをちゃんと理解していないだけではありませんか?」ということです。

 

僕はミスコミュニケーションによる対立が死ぬほど嫌いなので、こんな記事を書いています。"ミスコミュニケーションによる" 対立が嫌いなだけで、お互いがお互いの主張を正しく理解した上で、それでも私の意見とあなたの意見は違いますね、という展開になることは嫌いではありません。別に嬉しい気持ちにはなりませんが、そういうことはあるよなと納得できます。納得できない理由でいがみ合っている人たちを見るのは心底嫌気が差します。

 

子供の頃から、誰かと誰か (例えばAさんとBさん) が対立している場面に遭遇したとき、「僕が聞く限り、AさんとBさんの主張は食い違っていないように聞こえます。Aさんはこの事象のこの側面について話していて、Bさんは別のこの側面の話をしているだけではないでしょうか?」みたいな仲介というか翻訳のような立ち回りをする機会がなぜかたくさんありました。生まれつきの思考特性かもしれないし、育った環境かもしれません。

 

以下は今適当に考えた例ですが、例えば家族との会話で

 

家族1「 (ハムスターみたいな小さい動物ではなく) 大きい動物を飼いたいね! (ゴールデンレトリバーとか) 」

家族2「 (大きい動物ってゾウとかキリンとかか...?) そんなの絶対飼えないでしょ!やだよ!」

家族1「なんでよ!前ペット欲しいって言ってたじゃん!」

 

みたいな会話があったとします。これを横で聞いていたら滑稽に感じますよね。明らかに誇張した例なので、いや、そうはならないだろ、と思うかもしれません。が、普通に仕事をしているだけでも、こういった類のすれ違いには遭遇します。似たようなやり取りを目撃してことがある人も多いと思います。もしそんなの見たことがないという人は、この構造に気づいていないだけの可能性もあります。

 

ここから本記事のタイトルの話になります。つまり、あなたが当事者として誰かと会話をしていて、相手の言っていることが何か違うなと思ったとき、あなたが最初にするべきはそれに対する反論でも、さらなる持論の展開でもありません。自分と相手の理解度の確認です。まず確実に共通認識が取れているところまで戻ってください。話はそれからです。

 

それまで積み上げてきた会話の上に、どちらかが何か新しい主張を追加で積むためには、それまでの認識にずれがない状態になっている必要があります。そうしないと、理解されていない主張に対して的外れな批判が発生し、そこにさらに的外れな追加説明がされる、という地獄になります。何回も言いますが、僕はこの状況が本当に嫌いです。

 

あなたが聞き手のとき、まずは自分が相手の言っていることを理解できているか疑ってください。質問をして、自分の理解度を上げてください。たとえ最終的に批判するにしても、相手が的外れな批判を受けたと感じるようなことを言うのは生産的でないし、無駄に感情を昂らせるだけです。

 

ちゃんと理解した上で、それでもおかしいと思う箇所があれば、それを指摘してもいいです。ただ、本当に「ちゃんと理解した」ことをどうやって証明できるでしょうか。どこまで理解度を上げたとしても、どこか自分が見えていない側面があり、その部分に基づく意見かもしれないと思いながら、「これまでの自分の理解ではこう聞こえていて、もしそうだとするとこの部分が矛盾するように思うのですがいかがですか?」といったコミュニケーションをする方がいいんじゃないでしょうか。

 

回りくどいですか?言い方はあなた次第です。スタンスはこうであってくれ。

 

逆に話し手側のときも、自分がそれまでに話したことが相手に正しく理解されているか、確認しながら話を進めてください。頭の中に浮かんだ順に長時間一人で語り続けないでください。

 

一度に大量の情報を聞き手に浴びせたとき、聞き手が理解しているか確認するコストは莫大になります。これはソフトウェア開発的なアナロジーで言うと、ビッグバンリリースをするなということです。別の話で言うなら、大量に機能実装をして、後からテストコードを追加するのは大変だろ?ということです。

 

聞き手の理解が追いついていない状態で主張を話し続けるのはお互いの時間と体力と感情の無駄遣いです。こまめに理解度を確認してください。

 

また、聞き手から受けた批判が的外れだと感じたとき、反射的に批判に対する批判を投げ返せないでください。聞き手が自分の話をどのように理解したからこのような意見になったのかを確認してください。

 

ここまで読んでもらって分かるように、このスタンスは話し手と聞き手の両方が実践する必要があります。

 

言葉で表現してしまえば、やることは簡単です。相手の理解度を確認してください。どちらかが理解していない状況で新しい話を持ち出さないでください。これだけです。

 

みんなこの考え方で話してくれたらいいのに。

 

Land of Lispがどこにも無い

Lisperになりたい

thousanda.hatenablog.com

のだが、困っている。

 

とりあえず『Land of Lisp』という本から始めようと思ったのだが、紙の本がどこにも無い。『Land of Lisp』はCommon Lispの入門書として有名な書籍である。

 

ちなみに欲しさ順で並べると以下。

  1. 紙の原著
  2. 紙の訳書
  3. 電子書籍の原著
  4. 電子書籍の訳書

 

物理本はスペースを取るデメリットはあるけど、最近は結局紙の方が読みやすいと思ってるんですよね。

 

以下は全て、2024年6月15日現在の情報です。

 

原著の公式サイト

まずは原著の公式サイト。

 

http://landoflisp.com/

 

なんかシュールでポップなMusic Videoがあった。

youtu.be

 

話を戻して購入ページはここ。

nostarch.com

 

紙の書籍は在庫切れで、電子書籍なら売ってるらしい。

This book is currently out of stock, but the ebook is still available

 

お値段 $39.95 なり。

 

日本のAmazon (amazon.co.jp)

ひとつのページに原著と訳書が両方あった。

 

原著のペーパーバッグ が26,950円。たっっっか。

中古の訳書 が4,722円。定価より高い上に状態がそんなに良いわけでもなさそう。なんとなく買う気にならない。

 

グローバルAmazon (amazon.com)

https://www.amazon.com/Land-Lisp-Learn-Program-Game/dp/1593272812

Kindleが $29.99 で、Paperbackが $45.96 とのこと。一応紙の本があった。今の為替相場だと7000円強か。海を超えて配送される送料も加味するとけっこう高額なお買い物になるな... 一旦スキップ。

 

訳書の公式サイト

次、訳書の公式サイト。O’Reilly Japan。お値段は電子書籍も紙の本も4,180円。

 

電子書籍はすぐ買えそう。

 

www.oreilly.co.jp

 

紙の本は?

書籍のご注文はオーム社サイトへ

ということなので、オーム社サイトへ。

www.ohmsha.co.jp

 

このサイトの中に、以下の5種類の選択肢が書いてあった。

結果は以下の通り。

 

オーム社ウェブショップ

SOLD OUT

 

honto

通販サービス自体が終了してる...

 

Amazon

すでに書いた通り。

 

Rakutenブックス

ご注文できない商品

 

セブンネットショッピング

在庫切れ

 

全滅でした。なんということでしょう。

 

 

ちなみにオーム社には常備書店というものがあるらしい。

www.ohmsha.co.jp

 

ジュンク堂書店池袋本店」と「MARUZEN&ジュンク堂書店梅田店」は「オーム社 全出版物常備店」というものらしく、ここにはオーム社が現在販売しているすべての出版物が置かれているとのこと。

オーム社が現在販売しているすべての出版物を展示販売していただいています!

 

ここに行ってみたらあるんだろうか。紙の本がどこも在庫切れとなっている上記の状況でも果たして置いてあるのか。

 

メルカリ

淡い期待を込めてフリマアプリも覗いてみる。検索結果はちらほらあるけどすでに取引済みで、現在販売中のものは無かった。

 

 

全然見つからないな... 紙の『Land of Lisp』 is どこ?

 

Lisperになりたい

Lisperになりたい。

 

Lispというプログラミング言語がある。

 

「この世には2種類の人間しかいない。Lispを書けるやつと、書けないやつだ。」

 

私はLispを書けない。Lispを書けるようになりたい。きっかけは好きなPodcast番組「ゆる言語ラジオ」のLisp回だ (リンクはYouTube) 。

 

【検証】40時間Lispを勉強したら信者になれる?【Lisp1】#118 - YouTube

 

元々いつかは関数型プログラミングパラダイムを学んでおきたいという思いはあった。一時期Haskellを学んでいたことはあったが、手に馴染む前に挫折した。

 

そういえば僕はEmacs派だ。EmacsLisp方言のひとつであるEmacs Lispという言語を使って拡張できる。それならやっぱりLispをやるしかない。

 

Lispは "list processing" や "list processor" の略で、全ての操作がリストに対するなんらかの処理になっているらしい。Lispソースコード自体もリストの形になっているとのこと。クールだ。

 

Lispはその美しさがゆえに「神の言語 (God's Own Programming Language) 」と呼ばれている。Lispジョン・マッカーシー氏 (John McCarthy) によって "発見" された。開発されたのではない。神が作った言語が発見されたのだ。

 

Lispラテン語に似ている。それを母語とする人はいないが、崇高なものとされている。たしかに、初めて勉強したプログラミング言語Lispだという人にも、普段から仕事でLispを書いているも周りで観測したことはない (この世に存在しないとは言っていない) が、Lispはある種の信仰の対象になっている。

 

以上、ここまで全部伝聞。

 

「使える人」と「分かる人」

毎日のように新しいテクノロジーの話題が流れてるくる昨今。世の中には「それを使える人」と「それの仕組みが分かる人」がいると感じています。

 

使ってみることで理解が進む、仕組みを理解することでより上手く使えるといった相互作用はありつつも、AIで素晴らしい画像を生成するプロンプトを書ける人が必ずしも画像生成AIの仕組みを理解しているわけではありません。ビットコインで大儲けした人もブロックチェーンの仕組みを知らなかったりします。逆に、経済に詳しい人が自身の投資で失敗することもあります。

 

これはテクノロジーに限った話でもないので、身近に他に似たようなものがあれば読み替えてください。

 

自分の例で言うと、大学時代は情報工学科というところでいわゆるコンピュータサイエンスを勉強していました。高校生まではプログラミング経験は一切なく、「ゲーム好きだし、コンピュータの勉強をしておいたら将来食いっぱぐれることはないでしょ〜」くらいの温度感で進路を決めました。大学入学後も、授業以外では部活に精を出していたのでプライベートな時間でプログラミングをがんばっていたわけでもありませんでした。ちなみにゲームは作るよりやる方が好きという結論になりました。

 

ただ、講義はまじめに聴くし、レポートやテストに向けての勉強もけっこうちゃんとやる方だったので、学校の成績は良かったです。何が言いたいかと言うと、僕はプログラムを書くのが得意ではない、つまりプログラミングという技術を使えないが、コンピュータやその関連分野の仕組みはそこそこ分かる人だったということです。

 

その後就職活動をする中で、ソフトウェア開発に関わろうと思ったとき、「いずれ上流工程で設計や要件定義、プロジェクトマネジメントなどを主軸にするようになったとしても、キャリアの最初のうちは自分でコードを書くことを経験しよう」と決めました。

 

上流工程と下流工程を分ける下請け構造自体の問題を理解した今となっては、自分でコードを書くことを選んで本当に良かったと思っています。

 

話を戻して、そんなこんなでソフトウェアエンジニアになるわけですが、就活中や新卒でエンジニアになったばかりの頃の自分は、プログラミングを「使える人」に対してコンプレックスがありました。専門学校でソフトウェアエンジニアになるためにプログラミングを勉強してきた人や、文系ながらプログラミングを独学し自分でwebサービスを公開したりインターンで経験を積んだりしていた人たちは、プログラムを使って何かを作り出すことができました。

 

自分にはそのスキルがありませんでした。

 

とはいえ、はじめの方こそそんなことを感じていましたが、ソフトウェアエンジニアを何年かやっているうちに、自分もそれなりにコードが書けるようになってきました。そうなってくると、今度は「仕組みが分かる」ことの価値がじわじわ高まってきているなと感じています。

 

ただコードを書くのではなく、コンピュータの仕組みやアルゴリズムの理論から考えてこちらの書き方をした方がいい、など、日々の選択の中で過去に仕入れた知識が役立っていると感じるときも増えてきました。この文章を書く気になったのも、ビハインドしていた分を最低限くらいは埋められてきたかなーという感覚が生まれてきたからです。

 

「使える」ことはビジネス的な効能に結びつけやすかったり、比較的早く成果が得られます。一方で、「分かる」ことはそれが役に立つまでの期間が長いです。最悪、目に見える形では何の役にも立たないこともあります。

 

でもそれでいいのです。何かを使えるようになることよりも、その仕組みを知ることの方が楽しいんです。自分がそういう性格なので仕方ないのです。好きで学んでることがいつか大きくなって返ってきたらラッキー。

 

最近ではグローバルテック企業たちが展開するAIサービスをどうやったら使えるかみたいな話題が人気だし、まだ誰もやっていないような使い方をすれば世界に先駆けて新しいものを生み出せるかもしれません。

 

でもそれは結局だれかが作ったものを使っているに過ぎないので、他の人も真似できてしまいます。新しさで勝負するには常に新しいものを追いかけ続けないといけません。いつしか、なんかいろいろ知ってるけど知ってるだけの人になります。「この人流行り言葉ばかり使ってるけど薄っぺらいなー」と思われたくありません。僕はこれが一番怖いです。

 

仕組みを知り、原理原則に立ち戻っていくことで風化しづらい知識の柱を立てる。

 

ということで、Kubernetesに興味を持った結果、コンテナを学び始め、コンテナって結局Linuxカーネルなのでは?と思い、だんだん低レイヤーに潜りつつある自分が勉強の途中で挫折しないように、自分自身を鼓舞してこの文章を締めくくります。