データサイエンティスト周辺のキャリアパスを真面目に考えてみる
- この記事について
- 今回の記事で紹介する役割ざっくり
- 【基本職】データアナリスト
- 【上級職】データコンサルタント
- 【上級職】データマネージャー
- 【上級職】機械学習エンジニア
- 【上級職】データエンジニア
- まとめ
この記事について
今日はデータアナリストのキャリアについて。
結構色んなところで、データサイエンティストになるには、とか、データサイエンティストに高度な分析は必要ないとか、色々言われてたりするんですけれども。どの言説もポジショントークっぽいというか、それぞれの置かれた状況しか見てないんじゃないかなーという気がしておりもやもやとしております。
ということで、今日はこのデータアナリスト・データサイエンティスト的なキャリアを選んでしまった人たちが取れるキャリアパスについてのお話をちょっとしてみようと思います。
データの仕事をしている人たちにも色んなパターンがあって一概にパターン化するのは難しくて、あんまりきれいな線路がひかれているわけでは決して無いんですよね。「データサイエンティスト」って一口に言っても、組織の置かれた状況によって様々な役割が求められてしまうのではないかなあと思います。
※どういう組織にどういう役割が必要なのか、は別の記事で書く予定。
そんなわけで、そのあたりをまるっと整理しつつ、データサイエンス周辺にどういう役割が必要とされるのか、というのを書いてみようというのがこの記事の趣旨。
自分がどういうキャリアを築きたいのかを明確にし、その上でそのキャリアを描くためにはどういう組織に属さないといけないのか、というのがなんとなく見えてくるとありがたい限り。
今回の記事で紹介する役割ざっくり
さて、この表でだいたい説明しきったのだけれど。このあたりが主要な役割なのではないかと思います。
組織が小さいときはそれぞれが片手間でお互いの領域に踏み込んでいる事が多いのだけれど、大きくなっていくにつれてどんどんと分業していく感じ。ですが、バックグラウンドと経験に応じてなんとなく振り分けができていく感じ。
ということで個々に紹介していきましょう。
【基本職】データアナリスト
まずはここがスタート地点。どんなアナリストもエンジニアも、SQLもPythonも書けなければそれはデータを扱うものとしてどうなのっていうところですよね。
- SQL
データサイエンティストを目指すぞっていって独学で分析し始めると、Pythonは結構みんな使えるようになっていくんだけど、SQLは意外と抜けている人も多い。研究系の出身者なんかはSQL弱かったりするんですよね。
実務っていう意味では、大抵のデータは何かしらのDBに入っていて、何かしらのSQLライクな言語で処理する事が多いので、SQLが書けないとスタート地点で躓いちゃう事が多いのでここは抑えておいて欲しいところ。
更にいうと、標準SQLと方言の使い分けだったり、HiveとかPrestoみたいな分散処理の特徴までわかるとなお良いけど、ここのレベルは恐らく実務を通しながらじゃないと身につかないかも。
最近は分析のためのSQL、みたいな本もあるのでそういうのをちゃんと通っておけばOK。とりあえずSQLはみんなやっとこうな。
- ドメイン知識
あとはドメイン知識が無いと、ここから上にはどこにも進めないのでこれは実務を通してある程度身につけておく必要がある。
業界の利益構造や業界に特有の指標、業界用語などは最低限身につけておかないと、会話が成り立たないのでこれも必須。
実務を通して嫌でも身についていくが、意図的に知識を付けてブーストしておくと立ち上がりが早い。XX業界が分かる本、みたいなのを一冊読んでおくだけでもかなり違うはず。
- IT基礎知識
意外と見落とされがちなのが、ITの基本的なスキルのところ。データアナリストの業務はIT業界の中にあり、IT知識が必要になるケースは多々あります。
特にデータ分析の多くはインターネットに依存するので、HTTPとはなんぞや、Cookieとはなんぞや、みたいな、インターネットを支える基本技術のところはある程度ざっくりとでも良いので、基本的な知識を抑えておくとよいでしょう。
それから、分析をやっているとどこかでハードルになってくるパフォーマンス・チューニングにはコンピュータそのものの理解が不可欠ですし、どこかでやってくる分析結果の実装の部分では必ず開発に関わる知識が必要になる場面もあるので、このあたりも。
基本情報技術者試験が通ってれば十分、ITパスポートだとちょっと物足りないかも、くらいの温度感だと思っておくととても良いです。
インターネットに関わるデータ分析もおおいので、このあたりは基本的に押さえておくとはかどるかと。
- ロジカルシンキング
そして、自分ができてると思っている人ほどできてないスキルの代表、ロジカルシンキング。
自分はロジカルシンキングが得意だって思っているそこのあなた。あなたが多分一番できていないタイプのスキルです。
これは別に参考書籍とかはなんでも良いというか、本だけ読んでもあんまり意味なくて、とにかくディスカッションの場数を踏むことが重要。ロジカルにメッセージを作り、それをレビューし合うような経験をいかに積めるか、というのが大事。日常的に意識的にできる環境を作っておきましょう。
【上級職】データコンサルタント
さてここからは上級職のご紹介。
- 必須スキル:プレゼン
- あると良いスキル:プロジェクトマネジメント、営業力、データビジュアライズ
この人達の役割は、とにかく意思決定者と直接関わり、データや分析をビジネスに役立てていくのが主な役割。分析結果を意味のあるメッセージに変え、意思決定者にデータに基づいた意思決定をさせるのが一番のお仕事。
便宜上「コンサルタント」って書いてるけど、コンサル相手は社内にいることも社外にいることもある。
この人達はビジネスの役に立てば良いので、分析手法などは後回しでOK。ロジカルな分析さえできれば、クロス集計のみで十分に成果が上がる。むしろデータのビジュアライズやプレゼンなど、いかにして意思決定者にデータを見せるか、という部分にフォーカスするほうが成果が上がりやすい。
- プレゼン
プレゼンに関しては、世の中にいくらでも本はあるけど、一番重要なのはとにかく場数を踏むこと。
場数を踏みながら、たまにプレゼンのコツ的な情報は集め、また場数を踏む、という経験学習を中心に組み立てるのが良い。と思う。知らんけど。別に私も得意じゃないし。
そんなのは得意な人に聞いてくれ。
誰に何を伝えるのか、という目的意識に合わせ、データや分析を手段として使う、というのが重要。
- プロジェクトマネジメント
これも、意外と見過ごされているスキルの一つ。分析だろうが営業だろうが、それを一つの「プロジェクト」と捉えて推進していくスキルは様々な場面で役に立つ。
世の中のプロマネ本はどうしてもシステム開発に寄りがちなので、中々参考書籍などは見つけづらいんだけど。先日発売された「AI・データ分析プロジェクトのすべて」あたりはかなり良いので、こういう部分で知識を入れておくと良い。
他にもPM本というのはかなり多岐に渡るので、こういうところで知識を入れつつも、あとは場数をきっちり踏んでいくのが良さそうです。
- 営業力
フリーランスなんかには必須のスキル。私にはよくわからん。しかし必須であることはわかる。
これも分解していくと奥が深いスキルだとは思うんだけど、いかんせん私は営業経験が無いのでよくわからない。書いてはみたけどよくわからないので誰か得意な人は解説してください。
営業力が無いと、コンサル力がどれだけあってもまず話を聞いてもらえないっていうスキル。多くの会社で「営業」って呼ばれるタイプの職種は存在すると思うので、分業ができるのなら必ずしもコンサルが身につける必要は無いのかもしれない。
けど、自分のプレゼン相手について何も知らない、というのは全くもってダメだと思うので、ある程度は身につけておく必要があり。
- データビジュアライズ
どちらかというと営業力よりはハードスキルっぽいこっちのスキル。データを見やすく、直感的に整えていくスキル。
これも割と、「自分は出来ている」と思っている人ほど出来ていないスキル。
どういうときにどういうグラフを使うのか、というグラフの選択から、PythonやJSのライブラリを使った複雑な可視化まで手段は色々。
手段は色々あるが、大抵はExcelをきれいに使えれば結構いける。Excelのデフォルトグラフは余計な情報が多くて非常に見づらい事が多いので、情報を削り整えていくだけでもかなりきれいにはなる。
Excelのグラフそのまま貼り付けをまず卒業しよう。
【上級職】データマネージャー
さてこれは結構聞き慣れない人も多いのかもしれないが。「データマネジメント」というのは分野としては結構広く、データが活用されていくに従って重要度が増していく役割。
- 必須スキル:データマネジメント
- あると良いスキル:関連法・規約
私もこの役割はうまく定義できていないのだけれど、基本となるのはDMBOKという、PMBOKのパクリっぽくて全然違うフレームワーク。
データの活用が進めば進むほどに、データの管理やセキュリティ、ガバナンスなどなど、課題がどんどん増えていく。その上、このあたりはデータアナリストやデータサイエンティストがやるべき領域とも、データエンジニアがやるべき領域とも微妙にずれているという厄介な領域。
あまりジャンルとしても華やかではなくて、泥臭い部分も多いのだけれど、こういう人たちがいると全体がうまく回っていくという戦略のコアを担う人材、あるいは部署。
- データマネジメント
私もまだまだ勉強中ではあるのだけれど、すでに述べたように基本はDAMA(データマナネジメント協会)が定めているDMBOK。このDMBOKには13の領域があり、まあまあ小難しい事が語られている。
その中身は、下にデータマネジメント知識体系ガイド、というのを貼っているけど、読むのがつらくなる。これを30分で分るレベルにまで要約した本などもあったりするのでおすすめ。
データを管理するためには、基本的なデータエンジニアリングから分析のビジネスへの展開、セキュリティや関連法律の理解をしつつ、これらを組織とプロダクトのマネジメントに落とし込んでいくスキルが必要であって実はかなりヘビーな領域。
ここを極め尽くすと行く先はCDO(Chief Data Officer)なんていう役職が見えてくる。と思ってる。
- 関連法・規約
データ周りは法律も難解な部分が多かったり、常にルールが変わり続けている分野でもある。
個人情報保護法みたいな国内法はもちろん、たとえばGDPRのような海外の規則にまで精通している必要があることも多い。
その他にも、GoogleやAppleのようなTech Giantたちがデータに対してどういう規約を設けているのか、どういうシステム設計にしているのか、というのをある程度理解しておかないと、気づいたときには手遅れになっている可能性もある。
これらの理解を全員がする必要は無いが、必要なときに必要な対策を打てるよう、精通した人がいると安全。
【上級職】機械学習エンジニア
みんなの憧れ、機械学習エンジニア。
- 必須スキル:機械学習、エンジニアリング全般
- あると良いスキル:データエンジニアリング
アナリストが分析した結果を実装する人たち。現実的に、機械学習が必要になる場というのはかなり限られているのでほぼ領域は見えている。金融業界や広告業界、大規模ECのレコメンドシステムなどなど。
基本的に一つのキー(例えばユーザーIDとか)に紐づくデータが大量にあって初めて機械学習が必要になるので、そのレベルにまでデータが集まっている、という時点でかなり大規模なサービスにしか需要がない。商品が10個しかないならレコメンドシステムなど必要無く、ルールベースでどうにでもなっちゃう。
一方でこの分野は、ベースのビジネスモデルさえ出来ちゃえば明確に売上を作れるスキルなので、そういうところでは非常に価値が高い。ビジネスモデル次第でいくらでも高給が期待できる。
当然、高給取りになろうとおもったらそう簡単にいくわけではなく、ビジネスに直結する人材は大きな企業でも数人いれば足りてしまう、狭き門でもある。
アナリストからこっちにジョブチェンジするのもかなり厳しい。
一生懸命本を読んで勉強してるレベルの人だと多分一生なれなくて、学生時代から最先端の論文を読んで実装しまくってるレベルの一握りじゃないと本物にはなれなそう。
ということで参考書籍は無し。arXivやらgoogle schoolarで探してください。
【上級職】データエンジニア
最後はデータエンジニア。
- 必須スキル:エンジニアリング全般、特に分散処理やDB周り。
- あると良いスキル:エンジニアリング全般、データマネジメント。
アナリストの上位互換というよりはエンジニアの一領域、と捉えたほうが自然かもしれない。が、アナリストに結果的にこういう仕事をさせている組織は多い。
主な業務はデータ分析そのものよりも、データを分析するためのデータパイプライン構築や、データ分析を定常化する際のダッシュボード構築などがメイン。
通常、アナリストは単発の分析をするときに試行錯誤をしながらデータをいじる。そのため、これをいざ実装しよう、となったときにはパフォーマンスやSLAなどは一切考えられていない。
そのため、分析自体をスケールさせていこうと思うと、こういったエンジニアの存在は必要不可欠になってくる。アナリストに実装させるとろくな事にならない(思い出)
Hadoop系の分散処理関連技術を使った大規模パイプラインの構築や、RedshiftやPostgreあたりを使ったDWH構築、各種BIツールを使ったダッシュボード構築などがメインの業務。
アナリストの技術力や社内の制約次第では、分析環境の構築もこの人たちの役割になってくるし、データマネジメントチームが弱ければデータマネジメントっぽいことまでやらされる事になるだろう。
実際はこの領域もかなり広いレイヤーがあるのでクラスター構築レベルのインフラ構築、SREみたいな領域からやらないといけないケースもあるはず。
この領域も私あんまり詳しくないので詳しい人は仲良くしましょう。
まとめ
いまこそこの言葉を使うときだ
いかがでしたか?
初めてこの言葉を使うような記事を書いたので感無量です。これでこのブログも量産型いかがでしたかブログの仲間入りを果たした。
思ったよりも長くなってしまって、いつもの3倍以上の文量になってしまったけれど、結構このあたりはやらなきゃいけないことは多くて、どうしてもチームの規模が大きくなるまでは便利屋みたいなエース級人材が少人数で頑張る事になりがちで。
でも本当は、ちゃんと質の高いデータ活用をしようと思ったらある程度専門家を集めて育てて強いチームを作っていかないと、どうしてもどこかに歪みが出てしまうなあと最近はよく思うのです。
分析屋だけ増やしてもエンジニアだけ増やしてもダメで、ある程度バランス良くチームを作っていかないといけない。
ということで、興味があってどっか協力できそうなところがあれば、ご一緒しましょう。一緒にキャリアを考えていけるお仲間募集中。