見出し画像

非エンジニア向けSQL勉強会に約1年間取り組み続けた現在どうなっているか?

Saleshubエンジニアの安田です。

Saleshubでは社内の非エンジニアメンバー向けのSQL勉強会の取り組みを1年ほど続けており、今日はその実態、工夫、成果、課題感などについて書いてみたいと思います。特に以下のような方々にとって役に立つ情報になったらよいなと考えています。

  • やってみようかって考えたことはあるけど、まだやっておらず他社の事例を知りたい方

  • 取り組んでは見たけどうまくいかなかった方

  • そもそも非エンジニア向けのSQL勉強会なんて考えてみたこともないけど、どんなものなのか知りたい方

始めるきっかけ

CS(カスタマーサクセス)の部門長と代表が「Redashのクエリをビズサイドだけで作れると最強だよね」と話していたのをエンジニアである私が聞いた、というのがきっかけです。

私も前職でSQLを使えるCSメンバーが、社内のデータをSQLを利用してうまく活用しているのを見聞きしていましたので「SQL勉強会をやりましょう」という提案をしたところ、「いいね!」という話になり、すぐに実行に移すことになりました(なお、「やりましょう!」といったのは私ですが、実は現在SQL勉強会を主導しているのは私ではなく別の開発メンバーです。なので、ただの言い出しっぺですねw それについては後述します)。

こう書いてしまうといかにも事が簡単に実現しそうに見えますが、実際にはこれが実現できるためにはいくつもの前提条件が必要だと思っています。それについては後述します。

取り組みの成果

開始半年あたりから参加者のビズサイドメンバーが、業務のニーズに基づいて既存のSQLに手を入れたり、自分のアイデアに基づいてSQLを自作しビジネスに役立てることができるようになっています(エンジニアのサポートを受けながらではありますが)。

このことによって、明確に意識していたわけではないのですが、暗黙にふわっと期待していた目的は達成されつつあります。

  • ビズサイドメンバーがデータ抽出したいときにエンジニアに依頼して、エンジニア工数を消費しなくて済む

  • 上記依頼を実現するためのコミュニケーションコストをかけなくて済む

  • 上記依頼が実現するのを待つ時間を削減できる

また期待以上の成果もあります。具体的には、ビズサイドメンバーが自社のデータ構造や内容を知ったことで「このデータを取り出したら顧客により価値提供できるのではないか?」という、エンジニアではできない発想でデータ抽出を実現し、サービスに新しい価値を付け加えることができた、というような事例も生まれています。

まだSaleshubのSQL勉強会は途上でまさに勉強会の成果が実を結び始めたタイミングではありますので、これからさらに大きな成果が生まれてくるのではないかと予想しています。

SQL勉強会を成立させる前提条件

このSQL勉強会が無駄に終わらず有効に機能するためにはいくつかの前提条件が必要かと思われます。

データ活用の有用性に対する理解

まず組織内で勉強会実施が許可されるためには、代表や役員がサービスにとってデータが重要であるという認識を持っている必要があります。
また勉強会は、通常の業務に加えて継続的な努力が必要になるため、メンバーレベルでも、サービスを向上させるためには、自社の持つデータを活用することが非常に有効であるという認識や確信を持っている必要があります。

Saleshubの場合、「仮説を尊び、挑み続ける」をValueとして掲げており、仮説検証を非常に重要視しています。そのため、組織全体がデータ活用に関して高い理解を持っており、そのことがSQL勉強会を成立させる土壌になっていたと思われます。

部署を越えて信頼、協力する土壌がある

SQL勉強会をビズサイドメンバーだけで成立させることは困難です。
SQLを理解するところまではできるとしても、アプリケーションプログラムに依存するデータがあった場合、ビズサイドのメンバーだけでは、そのデータの意味を解き明かすことができないからです。

またエンジニアサイドがSQLを教えたいと思うだけでも成立しません。

  • エンジニアがSQLを教えることでよりよいサービスを作りたいと思うこと

  • ビズサイドメンバーがSQLを学んでより良いサービスを作りたいと思うこと

この二つが条件として存在し、この二つの情熱が部署を越えて結びつく必要があります。

この条件がそろうのは結構ハードルが高いかもしれません。

Saleshubの場合、会社として「Saleshubメンバーが大切にしていること」を定義しており、その中に「部署に関係なく、全メンバーでプロダクト改善に取り組む」「相互に成長し合う組織を目指す」というものがありますが、その価値観が組織内でしっかり共有されていることが、この条件を成立させた前提になっていると思います。

ビジネスをよくしたいという強い情熱

これは当たり前の話ではありますが、SaleshubのSQL勉強会を見ていると、ここがすごいと思います。

まず学ぶ側の意欲がすごいです。
SQLは一般的には、ビズサイドメンバーにとってはあくまで付加価値を加えるものくらいにしか考えらえれていないかもしれませんが、Saleshubメンバーの場合、データ活用に関する理解が高いため、SQL習得を高い価値のあるビジネス機会としてとらえており、そこに対する意欲もまた非常に高いです。

特にメンバーのあつみさんは、圧倒的に高い意欲と速度でSQLの学習に取り組み、ビズサイドメンバーによるSQLのビジネス活用を牽引しています。あつみさんのようにSQLの習得をリードするメンバーがいることも、間違いなくSaleshubの勉強会が継続される前提条件の一つになっています。

エンジニアが異業種メンバーの前提に理解があること

エンジニアがテクノロジーに関してビズサイドメンバーとコミュニケーションする際に

  • 前提知識がなさ過ぎて話が通じない

  • 前提知識から説明しなければならないからめんどくさい

  • 何回も説明したのに全く理解してもらえなかった

こういう愚痴を聞くことがよくありますが、こういう愚痴をいうようなエンジニアは基本的にSQL勉強会を主導することは難しいと思います。

教える側は、自分と全く異なる立場の人が自分の専門領域のスキルを学習することのハードルの高さを理解している必要があります。そのためにはエンジニアとして必要な論理的理解力だけではなく、高いソーシャルスキルを持っている必要があります。

Saleshubの場合は、開発メンバー中村さんが、非エンジニアでも理解しやすい資料を作成したり、入念な事前準備をしたりして、この点を実にうまく解決してくれています。彼が作ってくれた学習資料や学習のプラットフォームについては後述します。

さて、ここからは具体的な取り組みの枠組みや内容についてお話したいと思います。

取り組みの枠組み

ここまで約1年続けていますが、基本的な枠組みは最初に決めたものから変わっていません。
以下のような枠組みで継続しています。

毎週1回1時間オンラインで開催する

特別な事情がない限りはコンスタントに勉強会を開催しています。参加者は業務上の都合であったり、個人的な事情で休むことがありますが、毎回録画しているので、休んだ場合は録画を見ることでキャッチアップできます。

定時前後に実施する

Saleshubはフルフレックスのため定時はないのですが、おおむねの社員が働いている基本時間はありますので、SQL勉強会はその後(もしくは前)に実施しています。なお、勉強会参加は業務(就業時間)として扱われています。

参加自由にする

参加者は希望者だけです。上長に勧められて参加しているメンバーもいますが、基本は希望者です。Saleshubは正社員が30人程度の小さい組織ですが、そのうち教える側も含めて15人が参加していますので、正社員の半数近くがこのSQL勉強会に関わっているという関心の高さです。一部の方は現在(2024年2月時点)は参加されていませんが、それについては後述します。

取り組みの内容

大きく以下の2段階に分けることができます。

  • SQLの基礎編

  • 自社データ構造の説明およびデータ抽出の演習編

以下に詳しくご説明していきます。

SQLの基礎編

SQLの書き方を学びます。
たたし、データ抽出に必要な部分のみを扱います。

データ作成、削除、更新といった部分はデータ分析には不要ですので、基本的にはSELECT文の説明だけに絞り、ほかの部分は省略します。

このフェーズでは自社固有の資料やツールを用意する必要はありません。
ネット上に公開されている資料やツールを利用しています。

具体的には
非エンジニアがSQLを覚えてよかったコトと学習方法について
で紹介されていた
SQL Tutorial
を使ってSQLの説明をし、
SQL Tutorial/ja
で実際にSQLを書いてみる、を繰り返す形式をとっています。

自社データ構造の説明およびデータ抽出の演習編

上記が終わったら、次は自社サービスのデータ構造を説明しながら、実際にデータを抽出する訓練をします。

ここが一気にハードルが上がるポイントかと思います。

初学者のエンジニアもそうですが、複雑なデータからデータを取り出そうとする場合、

  • SQLを使い慣れていないのでSQLが難しい

  • データ構造がわからないのでデータ構造の理解が難しい

という二重のハードルを越えなければならないからです。

この二重のハードルを越えるために、講師となるエンジニアが毎回の勉強会のために最適化されたデータ構造の資料を用意していました。

具体的には、以下の二つを用意しています。

  • データ構造を表形式で説明するスプレッドシート

  • データ構造をダイアグラムで表現するfigmaのデザインファイル

中身について以下に詳述します。

スプレッドシート

この資料はエンジニア向けの資料を流用したものではなくて、勉強会向けに作られた資料です。
つまりビズサイドが理解できるような説明が書かれた資料です。
この資料は以下の構成です。

テーブル一覧
ここにはテーブル名とその概要説明が記載されています。

テーブルごとの説明
各カラムの説明や他のテーブルとの関連が説明された資料です。
システム内のすべてのテーブルの資料ではなく、ビズサイドが必要とするであろう主要テーブルのみを説明してます。
このシートは前述のテーブル一覧からリンクされています。

figmaのデザインファイル

テーブルの関係性をfigmaで表現します。

単なるER図と異なり、ビズメンバーが実務の知識からテーブルの関係性を理解できるように、ビジネスドメインごとに関係性を図示しています。
そのため資料としては同じテーブルをビジネスドメインごとに何度も重複して表現しています。

この辺りはビズメンバーがどうしたらデータ構造を理解できるかについての、想像力、表現力、コミュニケーション能力を持っていることが資料作成者に要求されます。

この点においてもSaleshubの場合は中村さんが素晴らしい能力を発揮してくださっています。

演習(SQLを書いてみる)

上記、データ構造の説明の後、Redash上でそのデータに関するSQLを作成します。

作成するSQLの課題は、勉強会の初期は講師となるエンジニアが、参加者のレベル感に合わせて作成していました。
勉強会のフェーズが進み参加者のSQLレベルが上がったタイミングでは、参加者もしくは参加者以外のビズサイドメンバーの「こういうデータが欲しい」という要望に基づき、講師の補助のもとでSQLを作成しています。

なお、当然のことではありますが、Redashはユーザーごとに必要最低限な権限を付与される形で管理されています。

補足的な情報

この勉強会はSlack上に専用のチャンネルを持っており、勉強会での取り組み内容の告知やオンライン上での説明の補足もここで行っていました。

また、勉強会の時間内で解決できなかった課題は勉強会の時間外で講師のサポートを得ながら解決したり、参加者同士で補足的な勉強会を開催したりしています。

困難な点

当然のことではありますが、すべてがうまくいっていたわけではなく、必ずしも解決できない困難さも抱えてはいます。

開始時に期間やゴール設定が難しい

SQLの基礎については何をどこまでやるかについての大まかな見通しは作れますが、それでも始めて見ると

  • 結合やサブクエリの概念が伝わらない

  • 半角・全角問題でエラーが頻発する

等、予想したより時間がかかる箇所が多々発生します。
自社データ構造編に至っては、何をどこまでやるかはもっとあいまいになるため開始時のゴール設定やスケジュール設定が難しいです。学習する側の理解の度合いや要望を無視して設定することはできるかもしれませんが、それだとおそらく期待した成果は得られないと思います。

Saleshubの場合、おおむね半年くらいをかけて主要テーブルの説明とそれに関するSQLの演習を一通り終えたので、一連の勉強会は一旦終了したことになっています。ただ、それだけでは実務への適用には不十分なので、現在でもまだ補足的な演習を続けており、なおSQL勉強会は進行中という状況です。

多忙なメンバーが継続参加できなくなるケースがある

ビズサイドメンバーは自分の主要業務を抱えながら、継続参加を必要とするSQL勉強会に参加しなければなりません。そのため、業務が多忙になったり、業務以外の事情で余裕がなくなったりすると、メンバーは勉強会に参加できなくなります。

勉強会は連続講義の形式を持つため、休んだり、参加したりという中途半端な形式での参加は難しいです。休んだ会は後で動画視聴してキャッチアップすることはできますが、基本は毎週参加が求められることになってしまいます。

また先述の通り、いつになったらこの勉強会が終わる、という見通しも多少あいまいです。そのため、Saleshubの場合でも途中(ゴールがあいまいなのでそもそも途中とも言わないかもしれません)で参加しなくなるメンバーはおり、その点では必ずしもすべてが期待通りに進んだとはいえないかもしれません。

ただ、途中までの参加だとしてもSQLの勉強会を通して自社サービスのデータ構造を知ったり、技術的背景を知ることは、ビジネスに対する理解の解像度を上げることになるのは間違いないと思いますので、途中までの参加だったとしても十分有用なのではないかと考えています。

時間がかかる

当たり前のことではありますが、主要業務と並行する形でSQLを勉強するためエンジニアがSQLを習得するよりも、基本的には時間がかかります。また、週に一回なので勉強会と勉強会の間に学んだことを忘れてしまう、という非効率も起きます。

なので、教える側は同じことを繰り返し説明したり、学習者側も勉強会以外に自学自習の機会を作る必要があったりします。

とはいえ、この点は避けられない点ではあるかと思いますので、SQL勉強会を始める際にはある程度覚悟が必要かと思います。

最後に

SaleshubにおけるSQL勉強会の取り組みについて可能な限り詳しくご説明してみました。
SQL勉強会が銀の弾丸だとは思いませんが、前提条件が揃えば組織にとって強力な武器となり、よりよいサービスのエンジンになると考えています。
この記事を参考にSQL勉強会を始める組織が生まれて、日本の、ひいては世界のビジネスがより良いものになることを願っています。

もし上記の説明でわからない点があった、この点をもっと詳しく聞いてみたい、といったご質問、もしくは「うちでもやってみたいけどアドバイスが欲しい」といったご要望がございましたら、安田俊之@Saleshubにお気軽にDMをください。

最後にSaleshubについての告知をさせてください。

来る2024/02/20と2024/02/22にICCサミット FUKUOKA 2024スタートアップ・カタパルト(02/20)、ガーディアン・カタパルト(02/22)Saleshub代表、江田が登壇します。
この登壇の内容は、内容の推敲や資料作成も代表だけでなく組織内の多くのメンバーがまさに全力で協力して出来上がった渾身の一作になっています。
上記リンクよりライブ中継を閲覧できますので、よろしければチェックしてみてください。

長い記事を最後まで読んでくださり、ありがとうございます。


この記事が気に入ったらサポートをしてみませんか?