サイボウズ データチームのおしごと【前編:どんなことをしているか】
はじめに
サイボウズ株式会社のデータエンジニア/アナリストチームに所属している高田です。
ビッグデータの時代において、データエンジニア/アナリストの職種は近年注目されてきています。
しかし、急増する需要に対して本職種に対する情報の供給が不足しており、興味がある人たちにとって具体的な仕事内容が分かりにくい状況なのではと感じています。
そこで本記事ではサイボウズ データチームの仕事について紹介し、実際のデータエンジニア/アナリストがどんな仕事をしているのか、一例を示したいと思います。
紹介したいことがありすぎて結構な分量になってしまったので、以下の通り記事を分けました。
- 前編: どんなことをしているか(仕事の内容)←本記事
- 後編: どうやってしているか(仕事の回し方)←以下の記事
本記事ではデータチームのおしごとについて、仕事内容に焦点を当てて紹介したいと思います。
注意点
本記事に記載している内容は2023年12月時点の情報を元にしています。
想定読者
- サイボウズ社内のデータエンジニア/アナリストのチームがどんな仕事をしているか知りたい人
- 社内データを有効活用するためのチームを運営するにあたり、他社事例が知りたい人
サイボウズ データチームの仕事は大きく分けて以下の2つです。
- データ基盤の構築・運用
- データ分析・意思決定のサポート
それぞれ紹介していきます。
1. データ基盤の構築・運用
一般にデータエンジニアの仕事はビッグデータを用いたデータ基盤の構築・運用とされています。
データ基盤とは、一言で言えば
「あちこちに散らばった様々な種類のデータを蓄積し、整理し、加工し、分析する一連の流れを効率的に行うための処理システム」
のことです。
私たちのチームも同様に、社内データを有効活用するためのデータ基盤の構築・運用を行っています。
サイボウズにおけるデータ基盤の立ち上げについては以下の記事に詳細を記載しておりますので、合わせてご覧いただくとイメージしやすいかと思います。
社内データを基盤と連携する
一口に「社内データ」と言っても種類や管理方法は様々で、取得方法も異なります。
一例を挙げると以下の通りです。
-
種類
- 顧客との商談履歴
- 自社製品の試用・購入履歴
- 自社製品の利用状況
-
管理方法
- kintone アプリ
- MA ツール
- CSV
kintone はサイボウズ(自社)で提供しているクラウドサービスで、データ管理以外にもタスク管理や依頼の受付など様々な形で活用しています。
上記の別記事に記載の通り、おそらくサイボウズが1番のヘビーユーザーです。
データ基盤への連携により、これらのデータを一箇所に蓄積・管理しています。
運用する基盤は Google BigQuery 、設計は ELT(Extract、Load、Transform の順番でデータ処理を行う手法)を採用しています。
データ基盤のより良い運用について調査・実装する
連携された社内データはテーブル単位で管理されています。
依頼の数だけテーブルは追加されていき、2023年12月現在では基盤上に80以上のテーブルが存在します。
またそれらのテーブルのほとんどが日次で更新され、依頼者がいつでも活用できるよう最新最適な形式を保っています。
これらのテーブル(=データ)を支える基盤を効率的に運用する方法やサービスを日々調査し、チームで検討の上実装しています。
例えば昨年(2022年)はワークフローエンジン Airflow 、ELT の T(Transform) 部分を担う dbt を導入しました。
現在はテストや CI/CD の導入について検討しており、特にテストについては勉強会(事前に読んできた参考書の輪読)をチームで行っているところです。
エラーの原因を調査し、解消する
データ取得元の障害やメンテナンスの関係で、データ取得を正常に行えないことがあります。
またデータ取得はできていても、たまたまデータの形式などが期待されていたものと異なっていた場合は Load、Transform の部分でエラーが発生します。
(実装ミスによるエラーももちろん起こりえます)
上述の通り、ワークフローは Airflow で管理・実行しています。
実行時にエラーが発生した場合、以下キャプチャの形でチームの Slack チャンネルに Airflow から通知を飛ばすようにすることで、エラーをすぐ検知できるようにしています。(xxx には DAG 名が入ります)
エラー通知が届いたら Airflow の実行ログからエラー原因を特定し、解消するための作業を行います。
2. データ分析・意思決定のサポート
上記のデータ基盤を活用して社内データの分析を行い、他部署ひいては全社の意思決定のサポートを行っています。
社内データを分析する
他部署から連携の依頼を受けたデータは、もちろん連携して終わりというわけではありません。
基本的にデータを基盤と連携する目的は、データの分析です。
そしてデータ分析の目的は、営業判断などの意思決定です。
依頼から分析までの流れは、大まかに以下の通りです。
- 〇〇の分析をしたい、という依頼が着信
- 打ち合わせを設定し、詳細ヒアリングと要件定義
- クエリの作成、必要に応じて新たにデータ連携
- クエリの出力結果や BI を提供、場合によっては結果の考察まで行う
4 のアウトプットについては Redash や Power BI レポートを利用することが多いです。
またクエリやレポートの作成だけでなく、時には統計学の知識等も活用しながら意思決定のサポートを行っています。
依頼者へのヒアリング・要件定義から集計・分析、結果の報告まで、一気通貫で対応できるところが、この仕事の魅力のひとつです。
おわりに
データエンジニア/アナリストがどんな仕事をしているか、イメージは湧いたでしょうか?
「1. データ基盤の構築・運用」がデータエンジニア寄り、「2. データ分析・意思決定のサポート」がデータアナリスト寄りのタスクと言えますが、現状完全には分断はされていません。
各メンバーはどちらのタスクにも対応できるようにしています。
前編は「どんなことをしているか(仕事の内容)」に焦点を当てましたが、後編では「どうやってしているか(仕事の回し方)」について詳しく紹介します。
具体的にはタスク管理やメンバーへのアサイン方法、業務の流れなどのチーム体制についてです。
興味のある方はぜひ合わせてご覧ください!
Discussion