Data Developerのメモ帳

機械学習とかデータ分析とかしているData Developerのメモ帳です

データサイエンティストという仕事について分解してみた

ふと考えたので書きます。個人の感想です。Amazonのレビューくらいの気持ちで読んでください。

モチベーション

世間でデータサイエンティストという言葉が流行って数年経ち、そろそろこの言葉を使う人も減ってきた昨今ですが、データ周りの仕事って相変わらず曖昧で外からみたらなにやってるかわかりにくいですよね。で、ザックリというならデータ周りの仕事ってデータアナリストと機械学習エンジニアという2つの職種にわけることができるなーとおもったので文章にするかーという気持ち。

データアナリスト

データアナリストはデータを分析したりモデリングして戦略とか戦術を検討する人、もしくはそれを助ける人。アナリティクスチームはここ。ビジネス側のチームであることが多くてファイナンスや需要予測、KPI設計などをやるイメージです。

古典的な仕事でいうと経営企画とか事業戦略というポジション。マーケターも近いかも。リソース配分の決定をしたり、シミュレーションをしたり、必要な数値をもってきたり、施策の結果を検証する仕事。そういう仕事自体は昔からあったので、それが特化したポジションかな。

高度な機械学習技術やエンジニアリングスキルよりも問題を見つけたり事象を分解、数値におきかえるスキルが重要です。やっていることはビジネスコンサルタントなので、コンサルタントに必要なスキルはデータアナリストも必須で、そこに加えて統計学や実験設計みたいなスキルが必要です。ロジカル・クリティカルシンキングとかビジネス理解とか。ファイナンスとかそういう経営スキルみたいな知見はそこまでじゃないかも。数字と数学で問題を解決することに特化したコンサルタントという感じ。

機械学習エンジニア

機械学習エンジニアは機械学習を得意とするエンジニア。フロントエンジニアがフロントエンド技術に詳しいのと同じ感じです。機械学習を使ってサービスを開発するイメージ。

名前のとおり機械学習エンジニアはエンジニアなので開発をすることが仕事。メインは機械学習を使った機能開発になるけれど、実際にサービスを開発するときは機械学習以外にもwebサービスとしての実装やインフラ構築が必要になるので、場合に応じてそれらの開発を行うことも仕事になると思います。また、機械学習をサービスに組み込む場合はML Ops的なインフラ構築が必要になることもあるので、そこらへんも含めて機械学習エンジニアチームの仕事ですね。

前述したように機械学習エンジニアはエンジニアなので機械学習に特化しているけれど最低限の技術は必要だと考えてます。とはいえガッツリ高いレベルが必要って感じではないので、ひととおりサービスを実装できるくらいあればなんとかなると思います。基本的に機械学習を使ったwebサービスといってもマイクロサービス化して独立していることが多いので、高いレベルの技術は必要に応じて学ぶくらいで大丈夫だとおもうけど。

雑感

なんとなく「データサイエンティスト」と呼ばれる人をデータアナリストと機械学習エンジニアにわけて書いてみたらスッキリした。やっぱりフワッと思っているデータサイエンティストとはこの2つなんだろう。データサイエンティストって単語はあいまいだから使うのやめよ。