ビジネスの世界に生きるデータサイエンティストとは、データとその活用領域であるドメインを結びつけるお仕事です。
ドメインとは、営業やマーケティング、生産、経営などのデータを活用する現場のことです。
データサイエンティストと同様に、データを取り扱う職業があります。
その中で、データサイエンティストと一番混同されやすいのが、データエンジニアでしょう。
今回は、「データサイエンティストの最高の相棒データエンジニア」というお話しをします。
Contents
データサイエンティスト
データサイエンティストとは、何者なのか? という定義の議論はよくされますが、期待されていることだけで考えると、データとその活用領域であるドメインを結びつけることが期待されています。
賛否両論あるかもしれませんが、データとその活用領域であるドメインを結びつけないことには、評価されません。
何を言いたいかと言うと、データサイエンティストは単にデータを相手にするのではない、ということです。
そのため、高度なデータエンジニアリングスキルを備えていないケースが多々あります。
機械学習エンジニアとデータアナリスト
データサンエンティストと似たような職業に、機械学習エンジニアやデータアナリストなどがあります。
データとその活用領域であるドメインを結びつけるということから考えると、機械学習エンジニアもデータアナリストも、データサイエンティストに含まれます。
どちらも、データとドメインを結びつけるのがお仕事です。
最終的なアウトプットが主に機械学習で活用する数理モデルである「機械学習系のデータサイエンティスト」と、最終的なアウトプットが主に分析レポートなどの報告書である「データアナリスト系のデータサイエンティスト」がいるという感じです。
クッキリと明確に分かれているわけではありません。
最近では、BI(ビジネスインテリジェンス)系のデータサイエンティストも登場してきます。分析レポートなどの報告書が、Qlick ViewやTableauなどのBIツールのダッシュボードになった感じです。
BIツール周りのデータベースの設計やデータのやり取り、分析結果を出力するダッシュボードの設計など、データアナリスト系のデータサイエンティストとは違うスキルが求められるようになっています。
データエンジニア
データサイエンスや機械学習などの書籍などを多数出版しているO’Reilly 社のサイトに、「Data engineers vs. data scientists (Jesse Anderson、2018年4月11日)」という記事が掲載されています。
データサイエンティストとデータエンジニアの対比がなされています。非常に分かりやすくまとまっています。
この対比から分かるのは、データサイエンティストは数学的素養と高度な分析スキルが、データエンジニアよりも求められるということです。
一方、データエンジニアは、高度なプログラミングスキルを用いてビッグデータ処理が求められるようです。
共通しているのは、プログラミングスキルです。
これは、あくまでもデータサイエンティストとデータエンジニアを対比させた場合に、その違いを明確にするためのものですので、求められるスキルは他にもあることでしょう。
データサイエンティストはロックスター
データサイエンティストとデータエンジニアは、それぞれ別の職場で働くのでしょうか。
実際は、協働します。
世界最大のコンピュータネットワーク機器開発会社であるCisco社のサイトに、「Data Scientist or Data Engineer? Think Rock Star and Roadie(Neeraj Chadha、2016/11/15)」という記事が記載されています。データサイエンティストとデータエンジニアの協働関係を記載したものです。
記事では、データサイエンティストはロックスターで、データエンジニアはステージを設置し部隊音響を手掛ける裏方で、データサイエンティストはデータエンジニアなくしては輝けない、と記載されています。
データエンジニアは、収集したデータをHadoop や Spark などのビッグデータ技術を駆使することで、データサイエンティストが扱いやすいデータに変換し提供します。
その提供されたデータを、集計したり、可視化したり、分析したり、予測モデルなどを構築したりすることで、ビジネスにつなげるのがデータサイエンティストです。
データサイエンティスト1人あたりデータエンジニアは何人必要?
先ほどのO’Reilly 社のサイトに掲載されている記事「Data engineers vs. data scientists (Jesse Anderson、2018年4月11日)」によると、1人のデータサイエンティストを支えるためには、複数のデータエンジニアが必要であると、記載されています。
スタート時点で「データサイエンティスト1人あたり2~3人のデータエンジニア」、より複雑なデータ処理が必要な段階になると「データサイエンティスト1人あたり4~5人のデータエンジニア」が必要ということです。
細かい人数はさておき、ビジネスの世界でデータ分析・活用で成果を出したいなら、データサイエンティストだけでなく、少なくとも1人以上のデータエンジニアが必要で、通常はデータサイエンティストよりも多いデータエンジニアが必要です。
ぼっちデータサイエンティストという悲劇
周辺に仲間も理解者もいない独りぼっち状態のデータサイエンティストのことを、「ぼっちデータサイエンティスト」と呼びます。
- 「よし、我が社もデジタルトランスフォーメーションだ」
- 「ビッグデータだ! データサイエンスだ!!! AIだ!!!」
このような掛け声のもと、データサイエンティストだけを揃えても、上手くいかないことでしょう。
データサイエンティストを支える人財がいないからです。
では、データエンジニアがいない場合、データサイエンティストはどうするのでしょうか。
多くの場合、自分自身でなんとかします。ソフトウェアエンジニアから見たら、見るに堪えないプログラムコードを書き、データエンジニアがやるはずのデータ処理を実施します。
慣れないものだからプログラミングするスピードも、実装したプログラムの処理スピードも、非常に遅い場合が多いです。
その結果、ビジネスへのデータ分析・活用が大幅に遅れるか、データサイエンティストが無理をして働くことになります。毎日のように、朝日を拝んで帰宅するデータサイエンティストが、増えないことを祈るばかりです。
今回のまとめ
今回は、「データサイエンティストの最高の相棒データエンジニア」というお話しをしました。
結論から申しますと、データサイエンティストにはデータエンジニアが必要だ! ということです。
データエンジニアがいない場合、データサイエンティストがデータエンジニアの業務をすることになります。
頑張ればできるかもしれませんが、その結果ビジネスへのデータ分析・活用が大幅に遅れます。
周辺に仲間も理解者もいない独りぼっちの「ぼっちデータサイエンティスト」状態など論外です。
スタート時点で「データサイエンティスト1人あたり2~3人のデータエンジニア」、より複雑なデータ処理が必要な段階になると「データサイエンティスト1人あたり4~5人のデータエンジニア」が必要になります。