2024/11/17 このエントリーをはてなブックマークに追加 はてなブックマーク - 合意形成していても理解は必ずズレていく

合意形成していても理解は必ずズレていく

カテゴリ: ,

理解のレベルには差がある

前にたまたま思いつきで話したのだけど、 理解のレベルには差がある。 それを今回ブログに書いてみる

10の理解5の理解1の理解

Aさん「こういう技術があって、XXだからYYでZZです。分かった?」 全員「OKわかった」 となった場合、合意形成が出来ていると言える。 ただし、その事象や技術、コンテキストの理解には差がある。 話しているAさん、それを聞いているBさん、CさんDさんがいるとすると Aさんの理解度は10、BさんとCさんの理解度は5、Dさんの理解度は1みたいなことが起きがちな気がしている。

合意形成を続けると理解レベルの差で格差が生まれる

そうするとどうなるか。 同じタイミング同じ人たちが同じ説明を受けていたはずなのに、まちまちの理解をしていることになる。
これが1つの件であれば、「あぁ、確かに説明足りてなかったかな?改めて…」 みたいな展開になる

同じ「理解」で合意形成したはずなのに、知っている情報と知らない情報が生まれる

しかしこれが半年、1年と続いていくうちに コミュニケーションの数は増え
合意形成したものの、理解度がバラバラなものが多数あり、結局チームとして意思疎通が出来てると思っていたのに期待したほど出来ていなかった、ということもある。 いつの間に、格差が生まれていたのである。

合意形成していたとしても同じ方向を見ているだけ

立ち返って、何回も出てる「合意形成」という言葉を考えると、単純に同意しただけでどのぐらい分かったとか示していないので当たり前と言えば当たり前。 「分かった」と答えたら100%理解していると思うのが そもそも傲慢な考えだということでもある(自戒も込めて)

合意形成していたとしても理解の差を埋める必要がある

結局、方向性を揃えることは出来てるので 皆で理解の差を補完しあう必要がある。つねに。 大事なのは「話す側がすべて教えるということではないこと」。 理解度1のDさんが「分からない」と意思表示するのも大事だし 理解度5のBさんやCさんが「全体は分かったけどここについては…」と掘っていくのも大事だし 一番わかっているAさんが言葉としてでてこなかった知識や背景を更に伝えたり 分からないところを見極めたりするのも大事。 あと、繰り返し、手を変え品を変え説明する、話す、というのも大事な気がする

かといって理解の差を完全に埋めることは不可能

かといって、自分と同じように他人が分かる もしくは、すごい他人と同じように自分が分かることなんてない。

補完と相互理解の関係性をつくっていくのが大事かも

あくまで、1だった理解度を2にするとか それぞれの理解度を開示し合って 前提を理解し合うという補完と相互理解的な関係性をつくるのが大事って話な気がする 完全には互いを理解できないことを理解するのだ

2024/10/15 このエントリーをはてなブックマークに追加 はてなブックマーク - 時間の使い方・働き方。思考と行動を変える4冊の感想、について書いてみるテスト

時間の使い方・働き方。思考と行動を変える4冊の感想、について書いてみるテスト

カテゴリ: ,

今回は意識高いたかーいな本の話です。

以前にも書いたところと重複があるけど 「時間」に関する本を好んで読んでます。

時間は減り、日常は忙しくなりつづける

最近思うんです。人生はジリ貧だと。

  • 歳を取れば取るほど、体力気力はなくなり、絶対的な時間はなくなる。
  • 家族が増えたり、ライフステージが変わり、自分に費やせる時間が相対的な時間もなくなる。
  • 仕事の領域が広がり、専門化し、求められるレベルも難易度も上がる。

忙しい。なのに、その中で成果を求められる。
常に「減ってる時間の中で価値を上げる」ということが求められる。歳を取れば取るほど難しくなる。忙しくなる。

そういった課題感から色々本を読んでる最近なので
意識高いたかーいになってしまっています。

読んだ本

で、その課題感から

  1. ゆとりの法則
  2. 限りある時間の使い方
  3. エッセンシャル思考
  4. シングルタスク

これらを読んだ。
4つの本をなんとなく読んでいたけど、どれも共通点が多く面白かった。

これらの本の根っこの課題は同じな気がした

共通してることは

  • 忙しさとの戦いであること
  • 多くのことは実現できないし、出来ることは限られているということ
  • 人々はSNSなど余分なものに時間を奪われているということ
  • 本当に重要なことは何かを問いかけていること

これらは本のタイトルやアプローチは全然違うのに、コアな部分は似ている部分もあり 根っこの課題は同じなんだなと思った。 課題に対しての対処法や考え方をそれぞれに展開している。 現代の抱える病というか、時代が同じであれば人間の悩みや社会課題は実は似通っているのだなと思わせられた。

それぞれの本で課題に対する切り口が違う

だからといって、同じような本なので4冊読む必要がなかったか? というとそんなことはなく。 それぞれ読んで良かったなと思っている。

ゆとりの法則は、なぜ時間びっしりに自分や他人が仕事しちゃいけないか分かる。 限りある時間の使い方は人生観にまで及ぶ。 エッセンシャル思考は最小限で最大の効果を上げるという思考や態度の哲学だったりする。 シングルタスクは行動の徹底と思考法。

…みたいな感じで、読んだ順番的にも抽象的なところから段々と具体的なところに降りてきて良かったなと思う。

読み終えた自分は何をするか

今後の人生何をやっていけば良いのか。 やることとやらないことをどう決めるか。何を基準に決めるか やると決めたことの精度をどうやってあげるか。 みたいなことを考えるきっかけになった。 なったし、そうしていかなきゃと思えている。

なんやかんや有名な本ばかり

多くの人に読まれてる本だし、他人にもおすすめはまぁ出来る。 でも読んでよかったとなるかは人によるのかな。 当たり前だろ、ってなる人と多いのかもしれない。そういう人でも当たり前の原点回帰になるかな。 考え方に響くかもしれないので、「ゆとりの法則」と「限りある時間の使い方」は読んでみてもらえると楽しいかも。

ということで、この本も読んだら良いよとかおすすめあったら教えてください!

2024/09/30 このエントリーをはてなブックマークに追加 はてなブックマーク - VLOOKUPをしたくない人生だった

VLOOKUPをしたくない人生だった

カテゴリ:

VLOOKUPをしたくない人生だったのですが、色々ワケあってスプレッドシートを使うこともあるので そんな時に覚えておくと便利な関数でも書いておきます。スプレッドシートは関数型言語です

QUERY

SQLのように色々かけます

=QUERY(
'Sheet1'!A:Z,
"SELECT A, B, C, D, E WHERE A = 'ドラえもん'"
)

WHERE とかGROUP BYとかORDER BYとかLIMIT 1とかできます
JOINをやろうとすると出来ないので爆発します

FILTER

FILTER関数を使うと特定の条件のものを除外した結果を返してくれます。スプレッドシートでフィルタ機能つかっても誰かが勝手にいじって絞り込みがいつの間にか変わってたやんウギャーとかならずに済みます

IMPORTRANGE

別のスプレッドシートからデータを引っ張ってくることができます とあるスプレッドシートと同じデータを使いまわしたい場合や とあるスプレッドシートの内容を確認したいけど直接いじりたくない時とかに便利です


=IMPORTRANGE("https://docs.google.com/spreadsheets/d/xxxxxxx", sheet1!A:Z)

UNIQUE

重複を排除します。これもデータクリーンアップで特定行で重複排除みたいなことをイチイチやらずに関数の組み合わせをしたいときなどに便利です

=UNIQUE(A:A)

ARRAYFORMULA

もう、関数を行数分コピペするなんて嫌なんやという時に便利です。

=ARRAYFORMULA(IF(A:A<>  "",  "空ではない","空"))

組み合わせると

組み合わせると、こんな感じになんやかんやできます。
A列がユニークなidだとして

  • Sheet1のA列の空文字でないところに絞り込み
  • 重複を排除したデータをキーとしてVLOOKUP
  • 対象のデータ範囲の1,2,3,4,5,6,7番目を列に展開
=ARRAYFORMULA(
  VLOOKUP(
    UNIQUE(FILTER('Sheet1'!A:A,  'Sheet1'!A:A  <>  ""))
    ,'Sheet1'!$A:$Z,  {1,2,3,4,5,6,7}
    ,FALSE
  )
)

まとめ

ということで関数型言語、スプレッドシートのお話でした!
でも、やりすぎると関数のネストが深くなって秘伝のタレ化します なにごとも程々にするのがよいですね
そもそもの、元々のデータを綺麗にしてエクセルワーク的なのは減らしたいですね

2024/09/19 このエントリーをはてなブックマークに追加 はてなブックマーク - git diffを一番綺麗に出来た人選手権を開催します

git diffを一番綺麗に出来た人選手権を開催します

カテゴリ:

まぁ、僕あのSNSで謎に選手権開くスタイルあんまり好きではないんですけどね

git diffした時にいい感じに表示するようなライブラリを探しています (tigとかlazygitとかTUIも良いんだけど、単純にgit diffをいい感じにするやつを募集しています) 5つ、いいなぁと思うライブラリを紹介します。 ※ちなみに以下は、ChatGPTとかに紹介文章作ってもらいました

1. delta

https://github.com/dandavison/delta Gitの差分出力を美しく色分けして表示するツール。行の追加・削除を強調し、カスタマイズ性が高いのが特徴。CLIで簡単に設定可能で、直感的に使える。

2. diffstatic

https://github.com/Wilfred/difftastic 静的な差分表示を目的としたツールで、シンプルなインターフェースが特徴。シンタックスハイライトを提供し、変更点をわかりやすく強調。使いやすさが魅力で、視覚的な比較ができる。

3. bat

https://github.com/sharkdp/bat#git-diff ファイルビューアで、シンタックスハイライト機能を持っている。git diffの出力を視覚的に整形して表示でき、使いやすさが特徴です。強力なページング機能も搭載している。

4. diff-so-fancy

https://github.com/so-fancy/diff-so-fancy git diffの出力を整形し、変更点を視覚的にわかりやすくするツール。変更が一目でわかるように強調表示し、カスタマイズが可能。シンプルで直感的な使い勝手が魅力。

5. pretty-diff

https://github.com/prettydiff/prettydiff コードやテキストの差分を視覚的に表示するためのツールで、シンタックスハイライトもサポート。ブラウザベースのインターフェースが特徴で、柔軟にカスタマイズ可能。多様なフォーマットに対応しており、使い勝手が良い。

まとめ

いい感じだなーってやつを並べて紹介してみました。 これら以外に「これはいいぞ!」というのを募集中

2024/08/19 このエントリーをはてなブックマークに追加 はてなブックマーク - Snowflakeで実現できるTransformとは何か?調べてみた

Snowflakeで実現できるTransformとは何か?調べてみた

カテゴリ:

SnowflakeのTransform機能はどの程度か調査したい

ETL、ELTなどといったときの文脈のTransformだが 一体Snowflake側でどれほどの機能を提供しているのだろうか。

「データウェアハウスだけどTransformもちょこっと出来るよ」 なのか 「データウェアハウスだけじゃない。ETLすべてお任せあれ」 なのか。

前提

Transformの定義はwikipediaのTransformの項に委ねる
https://ja.m.wikipedia.org/wiki/Extract/Transform/Load

Snowflakeで使える手札

TaskとStreamを組み合わせ、変更差分をUDFでTransform

Snowflakeでよく見る、Streamで差分を確認し、Taskで定期実行し差分をTransformするやり方。 この記事を書いた人が特徴的なのはUDF(ユーザー定義関数)をゴリゴリ使ってるところ https://dev.to/rnubel/transform-data-in-snowflake-with-streams-tasks-and-python-l71

Transformはdbtにすべて託すパターン

ExtractやLoadの部分はSnowflakeに任せTransformはdbtだ!という記事も見る そういう選択肢を取る人も居るらしい https://zenn.dev/dataheroes/articles/bcced35e8156ba

この記事内にも書いてあったが、Snowflakeで完結するメリットもあるといえばありそう

  • コストやテーブルの変更容易性
  • dbtの学習コスト、導入コストとのトレードオフ

Snowflakeをデータウェアハウスとして扱いTransformは各プロダクトでdbtで賄うパターン

Snowflakeのテーブルは使うのだが、Transformはdbtでやっているぽい。各プロダクトのチームがそれぞれ要件に合わせてdbtモデルを作ることでTransformする。プロダクト横断でdbtを使うぞ!となってる場合これで良さそう

https://techblog.cartaholdings.co.jp/entry/snowflake-data-platform-vision

その他参考

https://www.snowflake.com/guides/modern-etl-process/?amp https://www.snowflake.com/ja/guides/etl-vs-elt/?amp https://zenn.dev/circle_yukiyama/books/snowflake-zero2prod

まとめ

Transformationに絡みそうなSnowflakeの手札を調べ、 世の中でどんなふうに使われているか色々ネット記事を漁ってみた。 できることにはある程度限りはあるものの、 SnowpipeとTaskを組み合わせて流れを組めばできることは色々ありそう。 あと、TransformなのかLoadなのか微妙な位置な気がするけど Dynamic Table (https://docs.snowflake.com/en/user-guide/dynamic-tables-about)も良さそう。 結論、このSnowflakeで組めるジョブフローや機能の範囲であればSnowflakeを使う。 そうすると、Snowflakeの特徴である計算リソースがうまく並列で使えることやRole定義などの恩恵が受けれそう。 Snowflakeの提供する機能でユースケースが満たせなさそうであれば、DigdagやAirflowなどのワークフローエンジンやdbtとかでゴニョゴニョする感じだろうか

GA