なんやかんやで, ITコンサルタント(復帰)生活から半年経ったマンです.
マネジメントからアーキテクチャ, はたまた技術的なLTまでやらせてもらえて楽しく過ごしております*1.
昨年の話になりますが, コミュニティーやその他の活動で色々とお世話になってる @yuzutas0さん達が執筆しました, 「実践的データ基盤への処方箋」を頂戴いたしました.
ひと言で言うと,
データ活用のためにこういう本が欲しかったんや!!!
というくらい良著で, データ活用に必要な「人・組織・アーキテクチャ」をいい感じに網羅的に扱っていて良きでした(と, 読み終えた時の感想ツイートがそう言ってました).
読み終えた後も, 時折振り返って部分的に読み直したりしてるのですが,
「データを扱う仕事」って, エンジニアも他の役割の人も目指す姿・キャリアによって学ぶこと・スタンスが違うのでは🤔
と思い立ち, せっかくいい機会なので自分なりに「データを扱うビジネスパーソンのキャリアパス」について言語化してみようと思います.
なお, このエントリーは現在の所属企業・業務とは全く無関係であり, 過去の所属企業・業務に関する事例も一般に公開されている情報の範疇でのみお話させていただきます(お問い合わせ及び, 詳細情報は教える・答えることができませんあしからず).
TL;DR
自らの現状に合わせつつ, 今後やりたいキャリアに合わせて, 体系的に経験を積む・学ぶと良いんじゃないでしょうか.
- データを活用する側か, それをサポートする側か?
- エンジニアか, エンジニアじゃない側面か?
ぐらいで分けて考えると, 仕事を探す側も採用する側もスッキリするんじゃないかなと思います.
おしながき
データを扱う人のキャリアパス
例のごとく, 四象限にまとめました.
「実践的データ基盤への処方箋」で登場する役割・表現を元に,
- 【役割】技術者と技術者以外
- 【組織】データを活用する側(SoI & SoE)とデータを整備する側(SoR)
この2軸の四象限で整理しました&どこに自分がハマる(もしくはやりたいか)によって, 経験の積み方も学び方も変わりますよ!というお話をします.
【役割】技術者と技術者以外
会社・サービスの業種・事業問わず, (多かれ少なかれ)技術者すなわちエンジニア(正確にはエンジニアリングな仕事・スキル)が必要不可欠です.
- ユーザーさんが使うシステム・サービス
- 社内部門が使う内部システム・サービス
- データ分析, 機械学習などでの活用に欠かせないデータ基盤(含むDWH)
一部をSaaSにする, ローコード開発するといったアプローチもありますが, いずれも「エンジニアリングな判断・取捨選択」が必要である以上技術者の存在は必要不可欠です.
一方, 純粋な技術者が苦手・できないようなモノもあります.
- ビジネス課題から事業・サービスの種を生み出す
- プロダクト・サービスの企画・マネジメント
- ビジネス課題を元に定式化・検証・考察
といった事は技術者が解決することではなかったりします.(兼務することはあると思いますが*2)
何が言いたいかと言うと,
データを扱う仕事には技術者と技術者じゃない人, 両方に役割があって生む価値も違うよ!
この辺の境界線(もしくは汽水域)をいい感じにできるかどうかで, スキルの磨き方も組織内での動き方(処世術)も変わって来ますので覚えて損はないかなと思います, 個人的には.*3
【組織】SoE, SoR, SoIどの性格が強めか?
おそらくここが一番ややこしい(もしくはキャリアパスの考察であまり考えないこと)かも.
企業活動を支えるシステム・サービスの分類として, SoE, SoR, SoIというものがあります.
- SoE(System of Engagement): 顧客との繋がり・接点(Engagement)を生み出すシステム(顧客に提供するSaaS, コンシューマに提供するアプリetc...)
- SoR(System of Records): 社内外の企業活動・行動歴を記録・残す(Records)ためのシステム(Salesforce的な営業データベース, DWH, 経理システムetc...)
- SoI(System of Insight) : EngagementやRecordsを駆使して気付きを得る・洞察する(Insight)ためのシステム(Tableauなどで作ったダッシュボード, マーケティングツールetc...)
※IT用語辞典「SoR/SoE/SoI」を元に意訳
「昔はほとんどがSoRだったのが時代の移り変わりとともにSoEからSoIへ〜」という話もありますが,
どの企業・組織もSoE/SoR/SoIなシステム・サービスを持つ・運用する人がいて, どこに属するか(もしくはどのシステムをやりたいか)で価値の出し方もキャリアパスも変わる
が正解かなと思っています.
機械学習が得意なエンジニアな例で言えば,
- SaaSなりコンシューマのアプリなりの事業チームに属すると, 「機械学習のノウハウを使った開発」「ユーザー行動の傾向を探る」といった, SoE/SoIに直結したミッションが増える
- データ基盤やDWHに携わるチームだと, 「どうやったらデータ活用できるか?」「全社的なDevOps(MLOps)どうする?」みたいな, SoR的な思考・観点が求められるミッションがメイン
と, 役割が違ってくる(かつ実は必要とするスキル・スタンスも異なってくる)ので, 同じ機械学習エンジニアでも違う生き物になるよ, と私は思っています.*4
実際の現場で学んだこと
ここまでが「実践的データ基盤への処方箋」を読んでぼんやり思い描いた感想を言語化したものでした.
「じゃあ実際どうだったっけ🤔」と過去の仕事を思い出した時に, 思いっきりこのキャリアパス分類につながる話がありました.
私がJX通信社時代に推進していた, 「データ基盤の構築と運用を通じて社内データの民主化を目指す」文脈での実話だったりするのですが,
Q: どんなデータマネジメントを行ったのでしょうか。
A:
自社のプロダクトのデータをGoogle BigQueryに集約しました。エンジニアやデータサイエンティストが触れるデータは、基本的にGoogle BigQueryが使えれば、社員が自由にデータを使える状態になっています。
また、データの分析・可視化の手段としてGoogleデータポータルを社員に開放して使えるようにしたり、自分でコードを書ける方に向けてGoogle Colaboratory(通称Colab)での分析・解析ができるようなトレーニングを実施しました。
※「今機械学習に必要なのはデータマネジメント」5つの秘訣のインタビューより引用
自社のプロダクトのデータをGoogle BigQueryに集約しました
の件は 「安定してデータを活用するための基盤を提供」するためのデータエンジニア
としてのミッションでしたし,
データの分析・可視化の手段としてGoogleデータポータルを社員に開放&トレーニング実施
は, 「データ活用の水先案内人として, 活用のための手助け」を行うデータスチュワード
としての営みでした.
これらを他のエンジニア・データサイエンティストおよび, インターンの皆さんと手分け・協力して行った結果, 多くの課題はあれど, なんとかデータ活用のキッカケそして今後の活動に繋がり...というのがこのインタビューの結びだったりするのですが,
- データを集約・活用するための基盤開発をしている間は「データエンジニア」としてゴリゴリにエンジニアな仕事をしていた
- 一方, データ分析・可視化などの活用につなげる営みとしてトレーニングやツール整備をしている間はエンジニアな仕事よりむしろスチュワード(執事)として色んなものを手配・案内する仕事がメインだった
ことを考えると,
機械学習エンジニア・データサイエンティストの仕事は泥臭いかつ広範囲なんだよ!
というのがわかるかなと思います&これがそのまま「データを扱うビジネスパーソンのキャリアパス」なんだろうという気がします*5.
結び - 自分は何処を目指すか?
というわけで, 「実践的データ基盤への処方箋」を「データを扱うビジネスパーソンのキャリアパス」という視点で紹介しました.
このブログでは「働く人」「キャリア」に軸足を置いて感想とポエムを書きましたが,
- データ活用のためのデータ整備
- データ基盤システムの作り方と運用
- データ分析の組織(主に人の話, このブログの話題はこれ)
といった所を網羅的に扱うガイド・処方箋としてすごく役に立つので, 手元に一冊あるといいんじゃないかなと思います.
また, データサイエンティスト・データエンジニアのキャリアという観点では(手前味噌ですが)こちらも合わせて読んでもらえると嬉しいです.
これらもそろそろ新作書きたいな...
私ももっとデータ活用して価値を生み出したいのでまだまだこの辺の学びと実践を重ねていこうと思っております.
*1:事あるたびに書いてる・言ってる気がしますが久しぶりのコンサルタント生活は学びの連続でこのキャリアを選んでよかったと思っています, 血圧が上がる程度に疲れることもありますが苦笑
*2:エンジニアをやりながら, この辺の事業開発・データサイエンスをやれる化け物みたいな人も存在しますが, 世の中全体からすると少数派かなあと思います.
*3:会社なりチームなりで適切なジョブ・ディスクリプションがあればこの辺価値を発揮しやすいと思いますが, まあそれは正直難しい(上手く行ってたら採用も捗るし離職者も減るはずですがだいたいそうはならない)ので, 「自分の職域・職能は自分で定義してあとは合う所を探す」ぐらいが丁度いいというのが自分の持論でもあります.
*4:他のエンジニア(フロントエンドやSREなど)もSoE / SoR / SoIみたいな視点はありますが, 特に機械学習エンジニアが顕著に分かれると私は思っているのでこのような例を上げました. あと, 面倒くさいので書かなかったのですがこれがエバンジェリストやソリューションアーキテクト(実は自分の今のロールだったりします)になるとこの話がだいぶ変わってきます.
*5:なお, 前職のJX通信社は幸いにも超優秀な機械学習エンジニア・データサイエンティストなインターンに恵まれていた(少なくとも実装力&アルゴリズムを考える・装着する能力に長けている人が多かった)ので上手く回りました, 私がやったのはプロダクトやビジネスの価値につなぐ部分を担った感じです(四象限に書いたところで言うとデータスチュワード, 書いていない所でいうとデータマネージャーという役割)