とあるデータ分析/データエンジニアリングの現場からの雑感

※基本、酩酊状態でクソみたいな与太話を思いついたまま書き捨ててるだけなのであまり真に受けないようにどうぞよろしく。

 

僕がここ最近ナリワイとしているのは、大企業でデータ利活用を推進している or しようとしている現場に潜り込んで、データ分析周りの諸々の課題を主に技術面で解決する、という役回り。

 

といっても、自分が主戦場としているのは技術志向の強い人達が好みそうなGoogleとかメルカリとかリクルートとかヤフーといった自社サービスのテック企業ではなく、普通のユーザー企業に対するIT支援、いわゆるシステムインテグレーションです。

 

ユーザー企業向けのIT支援の領域では、みなさんが嫌悪している大手SIerが今なお幅を利かせており、ユーザーサイドの生え抜きのエンジニアが技術面含めてプロジェクトを主導したり、メンバーの中に有名なOSSのコントリビューターがいたり、みたいなシチュエーションにはそうお目にかかる機会はない。

 

ただ、データの利活用支援という業務の性質上、必然的に先端技術の知見が求められやすくなることもあってか、SIerと言ってもそれなりに技術的素養を持ったメンバーが収集されている印象はある。

僕の今いる現場のチームでも、統計やら数理最適やらの研究室出のメンバー比率がかなり多い。

 

業務課題の特性上、このベンダーのこのパッケージやサービス使っておけばOKみたいな定型的なアプローチでは対応できないし、業務課題と技術の結合度が強いので、上流と下流で完全分業して、俺はマネジメントやるからA君は設計をやって、B君とC君は実装だけやってね、という古き悪しき分業体制は成り立ちにくい。

 

日々移り変わる要件やアドホックな要求に対し迅速に対応しないといけないので、アジャイルでやらざるを得ないというのもある。

 

だからある程度フラットな体制が組まれているように感じるけど、そうはいってもやはり上位SIのプロパーが主にマネジメントを主担当し、小会社やエージェント等からかき集められた協力会社のメンバーが開発を主に担当するという基本的な図式は明らかにある。

 

これは業界構造が抜本的に変わらない限りは温存され続けるし、他の領域と比較したら多少フラットではあるかな、という程度問題。

 

話を少し戻すと、同じチームにいる統計やら数理最適の研究室出の人たちが何をやってるかといえば、半分はマネジメント業務で、もう半分は普通のSE業務だったりする。

 

これは前にも書いたけど、一般企業におけるデータ分析やデータ利活用の現場において、いわゆるデータサイエンティストは必要無いというのが現場の実感としてある。

 

今の現場で圧倒的に必要なのは、データ分析についてある程度の知見を持ったコンサルやSEやエンジニアであり、それは今後も変わることは無いと思ってる。

 

現場で行われている分析の多くは、ドメイン知識に基づいて変数間の相関を見たり、集計結果を時系列で並べて推移を見たり、集計結果をレポーティングしたりといった、これまでも企業によっては普通にやられてきたような基本的な分析作業が大半であって、高度な統計解析やら機械学習やらの出番というのはものすごく限られている。

 

これはユーザーやベンダーのリテラシーの問題というよりは、そもそも多くの現場ではそのような高度な分析アプローチが適合するような課題がそこまで存在していない、というのが個人的な考えで、これは2年前ぐらいからずっと思っていることでもある。

 

以下の占い記事を書いたのも、その実感に依拠しているところがある。

 

今データサイエンティストを目指してる人の7割が5年後に年収350万にしかなれない - データエンジニアの酩酊日記

 

データ基盤やデータの整備がもう少し進めばそのような高度な分析アプローチの出番が多少増えるかもしれないけど、それ以上に日々の泥臭いシステム運用やらエンハンス開発やらデータ整備やらに追われてそちらの人員補強が優先される流れになることが目に浮かぶ。

 

それらを担うのはデータサイエンティストではなく、SEやエンジニアになる。

仮に名刺にはデータサイエンティストと書いてあったとしても。

 

サンプル数は少ないけど、僕がここ数年で経験したいくつかの現場でも、基本的にデータ分析はドメイン知識を持ったユーザー側が主体となって行い、ベンダー側はあくまでユーザーの分析補助や、分析要件を踏まえたデータ基盤の構築・運用を行う、というような役割分担になっていることが大半だった。

 

逆にユーザー側が主体とならないデータ分析プロジェクトが上手くいくことは想像しにくい。データもドメイン知識もユーザーが握っているわけだから。

 

そういうわけで、データ利活用プロジェクトに招集される要員の多くはエンジニアであり、データ分析のスペシャリストとしてのアサインはそれほど多くはない。データ分析要員としてアサインされた人員も、実際の作業は通常のSEとさして変わらず、データマートからSQLでデータ抽出してレポートを作成したり、お客さんへの報告資料を作ったりといった、いわゆるデータサイエンティストという職種から一般に想像される業務内容からは乖離している内容が多いと思われる。

 

後は、AIの導入検討の要員としての人員調達はそれなりに見聞きしたし、自分のところにも案件が結構流れてきた。いわゆるPoC案件。

 

だけど、これは実需というよりは、ブームを利用したITベンダの売り込みとユーザーのリテラシー不足による一時的な仮の需要なので、蜃気楼のごとくそのうち消える。というかもう消え始めてる?

 

たぶんPoCでデータ分析要員としてプロジェクトに入った人員の多くは、結局何も成果が得られず切られたか、前述のような基本的な集計とかSQLでのデータ抽出みたいな簡単な作業要員としてあてがわれてるか、データ整備したりデータ基盤作ったりとか全然別のことやってると思う。

 

別にデータ集計とかSQLとかの基本的な分析作業を腐しているわけではない。むしろそれらが今の現場で求められていることであり、ユーザーが抱えている目先の課題解決のために必要であるというだけの話。

 

逆にどれだけ高度な技術を持ち合わせていようが、ユーザーが抱えている業務課題の解消に適合しなければ使うべきではないし、無理に使おうとすればユーザーの信用を失って契約を切られることになる。カレーライスを欲してる客にフォアグラのソテーを出してるようなものだから。

 

それらを踏まえると、今日本政府がやろうとしてる「データサイエンティストの大量育成」が仮に成功したとしても、その大量に育成されたデータサイエンティストが現場で大量に必要とされる未来が訪れるイメージが、現場の実感として全く持てない。

 

多くの場合、クリティカルな分析を行うためにはドメイン知識が重要になり、ドメイン知識の習得には長い年数を要することが多い。外部の人間であるベンダー側が提供できる価値は、ドメイン知識を持ったユーザーが行う分析を技術的な側面で支援することにあると思う。

 

そうすると今後必要になるのもやはりエンジニアということになる。

分析の手札や効率は分析基盤によって規定される。ユーザーが見たいデータにいつでもダイレクトにアクセスしてすぐに分析できる環境を整備することが重要になる。

そのような環境を作るためには、いかに出来の良い分析基盤を構築、運用し、ユーザーの分析要件に応じて迅速に改善し続けられるかがキーになる。

 

今日本でそれが出来ている大企業はかなり限られているはず。その根本原因は、ユーザー企業が優秀なエンジニアを抱えることをせず、外部に丸投げしていることにあると思う。

そして大手SIerをてっぺんとした多重下請け構造によって非効率な開発がはびこっていることが、出来の良いデータ基盤をユーザー企業が整備することをさらに困難にしている。

 

日本の大企業がシステム小会社を作ってシステム開発を丸投げしたり、ITベンダが孫受け会社を作って多重下請け構造になるのも解雇規制が根本にあると思うので、今後も解決することはたぶん無い。

 

というわけで、今後もそういう泥臭い現場に入って、色んな制約の中で自分に出来ることをやっていくしかないんだな、ということを悟った。