データ系職種(データエンジニア、機械学習エンジニア、データサイエンティスト、データアナリスト)の違いについて

はじめに

データ系職種(データエンジニア、機械学習エンジニア、データサイエンティスト、データアナリスト)について、自分なりの理解はあったものの、他人に説明するにあたって既存の記事等を探してみたら、いまいちしっくりくるものがなかったので、それであれば自分で整理してみようと思いました。

既存の記事の何がしっくりこないのか

公式の定義があるわけではないですし、これが正解でこれが不正解と言えるものではないとは思いつつも。。
データアナリストとデータサイエンティストの違いは?には以下のような図が掲載されています(同様の図を書いている記事は他にもあります)。

横軸(エンジニア系)に目を向けると、機械学習エンジニアとデータエンジニアがエンジニア軸で同列にいますが、機械学習エンジニアは機械学習モデルの設計とか構築を行うのに対して、データエンジニアはその元になるデータ基盤を構築するイメージなので、この2つがエンジニア軸で同列というのに違和感を感じています。
データアナリストとデータサイエンティストの違いが機械学習の有無というのも違和感あって、データサイエンティストが考えた分析手法を活用して、実際のデータ分析を行うのがデータアナリスト、というのが私のイメージではあります。

Google Cloud ​tools ​for ​analysts ​data ​scientists ​and data ​engineersの以下の表現の方が私はしっくりきます。

データサイエンティストの説明として、「統計学や機械学習を使って」と書かれています。この考え方だと、データサイエンティストをさらに細分化すると機械学習エンジニア(機械学習)とデータサイエンティスト(統計学)に分かれるのではないかと思っていて、その方がしっくりきます。
ただ、機械学習エンジニアを1つの職種として分類して、しっくりくる表現・図で表している記事が見当たらなかったので、本記事を書いている次第です。

私のイメージを図にすると

こんな感じです。
データエンジニアのところをもう少し補足すると、以下のようなことを対応するのがデータエンジニア、という考えです。
(どこまでやるかは、組織の体制やどこまで工数・コストをかけるか次第すが)

  • 様々なデータソースから、ローデータを基盤に取り込む(data warehouse)

  • ローデータを活用しやすいデータセット(data mart)に加工するためのデータパイプラインを構築する

  • データ品質(正しく取り込まれ、加工されている)を担保する

繰り返しになりますが、公式の定義があるわけではないですし、これが正解というものがあるわけではないですが、私の考えを整理してみました。
明らかに間違っている記述があったり、こういう考え方はこの記事で説明されている、とかあれば教えてください。

いいなと思ったら応援しよう!