全日本dbt-osmosisを愛でる会を開催しました

8/26に「全日本dbt-osmosisを愛でる会」を開催しました。パネルディスカッション形式のため、細かい資料はありませんが、当日のアジェンダなどは以下のスライドで公開しているため、雰囲気は感じ取ってもらえるかと思います。

開催の経緯: ノリと勢い

きっかけは株式会社ヤプリの山本さんが公開してくださった以下のエントリでした。

私が過去に発表したスライドやエントリを参考にしてもらっていて、めっちゃ嬉しかったです。また、bq_sushiなどの東京の勉強会に参加した際に「dbt-osmosis使ってます」と(リポジトリオーナーではなくただのcontributorである)私に声をかけてもらったりすることもありました。「これだけdbt-osmosisのユーザーが増えてきているのであれば、使ってる人でわいわいやれば絶対面白いんじゃね?」と安直な発想に至ります。

ここからはもうノリと勢いです。山本さんやイベントで声をかけてくれた人、Tech Blogなどでdbt-osmosisを使っていると書かれていた人に声をかけていきました。

企画書もない状態でお声がけしていたので「何やその怪しいイベントは...」となってもおかしくない状態でしたが、なんとお声がけさせてもらった5人とも快諾してくれました。そんなこんなで速攻開催が決まりました。ノリと勢いを大事にしたかったので「全日本dbt-osmosisを愛でる会」というアホっぽくはあるがいかにも勢いはある(?)名前にすることにしました。

「やるならちゃんと盛り上がるように設計しよう」ということで、この段階でようやく企画書やらアジェンダを整理し始めます。開催前に一度だけ事前打ち合わせ会をさせてもらい「この内容であればXXさんに話してもらうのがよさそう」という当日の流れを決めていったのですが、この段階でめっちゃ盛り上がってきたので、いいイベントになることを確信していました。

いいイベントにはできると思っていたけど、こんなマニアックなスコープの勉強会でconnpassの参加者枠が100人以上で全部埋まるとは思ってなかったので、いい意味でビビりました。

開催当日の盛り上がり

オンラインイベントでのキャンセル率を考えると、まあ50人くらいかなと思っていたのですが、常時80人近くの参加者がいて、Slackのスレッドもコメントなどで大盛り上がりでした。人の入れ代わりを考慮すると、トータルでは100人くらいの参加があったような気がします。

細かい資料やログはないですが、当日はこういった内容について各社の導入の様子をパネルディスカッション形式で掘り下げていきました。

  • dbt-osmosisを導入しようと思った背景(15分)
    • 以前はどうやっていたか
    • 何が辛い / 大変になってきたか
    • dbt-osmosisをどういう形で導入し始めたか
    • 誰向けにメタデータを出しているか / 使ってもらっているか
  • 導入時の注意ポイント / 躓きポイント(15分)
    • 技術的な面
      • 特にマルチプロダクトでdbtを運用している組織では、dbtやdbt-osmosisの普及やCI/CDの整備をしてenablingをしているという話が出ていました
      • 発展的な話題として、dbt Semantic Layerへもdescriptionの伝播はできるのかという話もありました*1
    • チームや組織への導入
      • descriptionが埋まっているだけでは不十分で、記載されている内容の曖昧性の排除やdbtに限らず組織全体でユビキタス言語を設計していく重要性などが語られました
      • また、descriptionといったメタデータだけでは不十分なことも多いため、ER図の自動生成やディメンショナルモデリングなど分析に特化したテーブルの提供など合わせ技でデータ活用への道を開いていく必要がある、といった話題もありました
      • descriptionを記載する際に「誰向け(開発者向け or データユーザー向け)に書くのか」「descriptionの正しさや分かりやすさを担保するためにレビュー体制はどうしていくのが適切か」といった話題もありました
  • メタデータのカタログへの展開はどうやってる?(10分)
    • Dataplex / OpenMetadata / dbt docsなどなど色々あるけど、みなさんどうやってますか?
    • なぜそれを選択されましたか?
    • 今回のパネリストだと、dbt docsでの展開が5人、Dataplexでの展開が1人の結果になりました
      • dbt docsはバッテリーincludedという形でお手軽さはやはり魅力ですね
        • さらに具体的にはGitHub PagesやIAPなどで展開されていました。特にビジネス側の方がGitHubのアカウントを持っていない場合などはIAPを挟むケースが有効なようです
      • 検索結果に権限があるテーブルだけを見せたい場合や利用状況などを考慮した検索結果のランキングなどが欲しい場合はDataplexなどよりデータカタログに特化したものを使うとよい場合がある、という話も出ました
  • Description以外に伝播させている情報(5分)
    • tags / meta
      • ここはあまりこだわりはそんなになかったかな。ポリシータグの伝播の話を軽くしました
    • 型の情報
  • osmosisを動かしている環境はどこ?(5分)
    • GitHub Actions上で定期実行が3人、手動が3人でした
      • Actionsで動かすこと自体は難しくないためか、思ったより自動化されている人も多いなという形でした
    • @takimoさんからdbt Cloudユーザー向けの追加援護もありました。ありがたい!

私自身、dbt-osmosisのcontributorであったため「内部実装はこうなっているから、こういう形でやると実現できそう」といった補足なども行なっていました。エンジニアリングの話から組織の泥くさい話まで、有意義な話がたくさんできたと思います。

開催時の工夫: 頑張らないを頑張る

絶対に盛り上がると思ったものの、こういったイベントは工数かけ過ぎるとやっててしんどくなる*2のは知っていたので、とにかく頑張らないようにすることを頑張りました。主に考慮した点としては以下の通りです。

  • パネルディスカッション形式で行ない、登壇資料を必要としないようにする
    • ノリと勢いの会であり、事前の資料準備が必須だと登壇の返事をするのに勇気が必要になるため
    • ただし、有意義な会にするために事前のアジェンダ設計だけは頭を使って行なう
  • 会場はオンラインとする
    • めっちゃ頑張るとオフライン開催にできなくもないけど、会場の設営、懇親会の準備など協力してもらう人を集う必要が出てきてしまう
    • 最悪自分一人でどうにかできる会場設定にするため、zoom上のオンラインで行なうことにした
  • アーカイブは残さない
    • zoomの録画機能から動画をYouTubeなどにホストすることも頑張るとできる
    • しかし、公開するにははばかられる箇所の削除やYouTubeのコメントに付いた不適切なコメントへの対処などのことを考えると、バカにならない工数がかかってくる
    • そのため、意思を持ってアーカイブを残さないという選択肢を取った

実際、会を開催するまでに使った準備の時間は以下の通りです。5時間は使ってないくらいなので、個人の趣味の範囲内の工数で抑えられたかなと思います。

  • Twitterでパネリストに登壇依頼(10分)
  • 事前打ち合わせに向けて企画書やアジェンダの設定(60分)
  • パネリストの方に事前に集まってもらって、アジェンダや誰に話題を振るのがよさそうか議論(60分)
    • パネリストの人に事前に依頼したのはこのパートだけ
    • パネリストの方で初めましての方も多かったので、アイスブレイクも兼ねてここだけはお時間いただきました
  • connpassの作成(30分)
  • 当日の司会(90分)

こういう会はとても楽しいですが、頑張り過ぎると燃え尽き症候群になってしまったり、仕事やプライベートに支障をきたしてしまうこともあるので、頑張らないを頑張るのはとても大事なことだと思っています。

地方在住での勉強会との向き合い方

コロナが落ち着いてきたかはともかく、少し前と比較するとオフライン開催の勉強会の活発さが戻ってきたように思います。オフラインの勉強会の開催や参加を待ち望んでいた方にとってはよい傾向でしょう。とはいえ、地方在住者*3にとっては「オフラインで都会に行かないと、濃い情報やコミュニティに接することがまたできなくなっていくのか...」という一種の危機感を持つことはあります。私のようにICなど技術を飯の種としていきたいエンジニアにとって、それなりに死活問題です。

私自身、こうした危機感もあり、実際#bq-sushiの勉強会に参加しにGoogleのオフィスに行ったり、来月は登壇で東京に行く予定がすでにあります。出張のときには機会を生かして、界隈の人とご飯に行ったりしています。とはいえ、地方在住者にとってはオフラインでの都会の勉強会は時間や体力面*4、金銭面から頻繁に行けるものではないとも思います。

「じゃあ、都会に引っ越すしかないのか...」しか選択肢がない世の中は面白くないと私は思います。勉強会もオフライン回帰の中でこそ、地方在住者は勉強会との向き合い方を再考する必要があるでしょう。Web系のエンジニアであれば地方であっても物理開催してそれなりに人数を集められる場合もあるので、地域コミュニティでやっていく方向性もあるでしょう。こういった方向性ももちろん応援したいです。

ただ、私の場合はデータエンジニアリングのトピックに興味があり、こうした話題にそれなりの深さを持って仕事としてやっている人口は、正直東京と比べるとはるかに少ないです*5。入門の話ではなく、ある程度の期間運用などをして分かってきた泥くさい話を私はしたいのです。今回のdbt-osmosisは極論ですが、自分の話したいニッチな話題だと地方のオフライン開催では人が集まらない、ということは普通にありえます。

こういった課題感を持っている人にとって、オンラインの勉強会開催は強い武器になり得ます。前述したように「頑張らないを頑張る」ことがしやすい方法ですし、やり方を考えることで今回の会のように参加者数が集まったり、熱量があるイベントを開催することができます。企画や登壇をせずとも、運営を手伝ったりコメント欄を盛り上げたり、開催レポートを書いてみたりなど、貢献の仕方は様々あると思います。私自身、今回のイベントを通じて、地方にいてもこうしたイベントの開催や登壇を通じて、自分の仕事の分野の(ある程度)最前線に立ち続けることはまだまだ可能そうだ、という手応えがありました。

また、イベント開催は点で終わると、なかなか存在感を出しにくいという課題はあると思います。今回の会の場合、dbt-osmosisをいうツールを中心に置きながらもメタデータ管理などデータマネジメントの話題に広げていくことでより盛り上がることができましたし、そこからData Contractの勉強会や輪読会への接続を考えながら運営をしました(点から線へ)。オンラインだからこそ、参加者やイベント間の接続は意識すると、存在感があるものにできるのかなと思います。

私自身、今いるところにまだまだ住みたいと思っていますし、それを続けていくためにも地方からオンラインでの勉強会開催は続けていきたいと思っていますし、地方で継続的にやっていれば都会での勉強会登壇に呼ばれる、くらいのつもりで頑張っていきたいと思います。また、同様にこうした思いを持つ人がいれば、datatech-jpなどのコミュニティ活動を通じてサポートしていければとも思います。

*1:多分、今はできないけど原理的には可能なはず

*2:私の場合は続けられなくなる

*3:定義は色々ありえるけど、ここでは東京含む関東以外の場所に在住、とでもしておきます

*4:新幹線の往復で腰がバキバキになります...

*5:求人数でいうと体感1/10~1/20以下くらい