アナリティクスエンジニア:データチームに必要な新しい職種(1/2)

アナリティクスエンジニア:データチームに必要な新しい職種(1/2)

1.アナリティクスエンジニア:データチームに必要な新しい職種(1/2)まとめ

・データ分析業務を取り巻く環境は急速に変化しており従来の職種では対応が難しい部分も出てきている
・従来のアナリスト、データサイエンティスト、データエンジニアの三区分も業務内容が変化しつつある
・高性能な製品はより高度な技術的知識を必要とし柔軟な製品はプログラミングの知識が求められる

2.アナリティクス エンジニアとは?

以下、www.kdnuggets.comより「The Analytics Engineer – new role in the data team」の意訳です。元記事は2019年2月、Michael Kaminskyさんによる投稿です。本サイトの読者の方は、アナリティクスエンジニアの素養を持つ方が多いのではないかな、と思っています。

絶えず変化する環境の中で、多くの企業で、データエンジニア、アナリスト、そしてデータサイエンティストの役割と責任は変化しており、新しい職種の導入が求められています。

データと分析の実務を取り巻く環境は急速に変化しています。 多くの企業では、データエンジニア、アナリスト、およびデータサイエンティストの役割と責任が変化してきています。

この変化により、データチームに新しい職種が必要になり、その職種は「アナリティクス エンジニア(Analytics Engineer:日本語では分析エンジニア)」と呼ばれるようになりました。アナリティクスエンジニアは、データサイエンティスト、アナリスト、およびデータエンジニアのスキルセットが交差する点にいます。

彼らはアナリストやデータサイエンティストの領域に正確かつ厳密なソフトウェアによる実践的テクノロジーをもたらします。そしてはデータエンジニアの領域に分析的なビジネス視点の考え方をもたらします。

分析チームとデータチームを全体としてサポートするための取り組みとして、ツールとインフラストラクチャを構築するのが彼らの仕事です。その役割についてさらに深く掘り下げる前に、データチームの「従来の」役割についての背景を説明しておく必要があります。

1)データエンジニアとは?
伝統的に、これは情報をAからBに移動する「配管」作業であり、単にETL(訳注:Extract、Transform、Load:本来はデータベース間でデータをコピーしたりジョブを連携させる際に使う処理やソフトウェアの総称、製品名で言えばPentahoなど)と誤って表記される事がありました。データを取り込んで保存するための堅牢で拡張性の高い基盤構築に関心がありますが、一般的に「ビジネスロジック」には深入りしませんでした。データがデータウェアハウスに格納できたら、彼らの仕事はもう完了でした。

2)アナリストとは?
伝統的に、アナリストとは報告と純粋な分析が仕事でした。アナリストは、小規模なSQLと多くのMicrosoft Excelを使用して、ダッシュボードを維持しつつ、主要なビジネスに関する主導部署をサポートするために依頼に応じて戦略的分析を実行していました。

3)データサイエンティストとは?
多少混ざり合っていますが、データサイエンティストは伝統的に統計用途に特化したプログラミング言語(RやSASなど)を使ってより複雑で高度な分析を行っていました。彼らは、実業務で稼働させる前の「プロトタイプ」の機械学習モデルの作成や検証を行い、実際の実装は業務開発を行う業務開発エンジニアに引き渡されました。

ここ数年の間に、統計解析の分野でこれらの伝統的な業務と役割に変化をもたらした以下のような多くのエキサイティングな進展が見られました。

1)Redshift、BigQuery、SnowflakeなどのMPP(MPP:Massively Parallel Processing:超大規模並列処理) SQLテクノロジの登場

2)StitchやFivetranのようなデータパイプラインサービス(DPaaS:data-pipelines-as-a-service)型企業の誕生

3)Looker、Mode、およびPeriscopeのようなSQLベースのBIツールの登場

4)成長企業が将来予測と顧客個別化をより重視するようになった

最初の2つを組み合わせにより、アナリストの役割が劇的に変わりました。今日のアナリストは、SQLの書き方、git / githubの使い方、そして一般的にプログラミングを書く事に時間の大部分を費やさなければなりません。彼らは必ずしもソフトウェアエンジニアとしての訓練を受けているわけではありませんが、現在はかなりの数のプログラムを管理する責任があります。

同様に、従来のデータエンジニアは、「システム間で新しくデータを統合する仕組みを構築する事」や「データの大規模化に伴いシステムを柔軟に拡張するための基盤の改良作業」に多くの時間を費やしてきましたが、その作業のほとんどはStitch/Fivetranへの統合、またはデータウェアハウス自体(例えばBigQueryに最適なクエリプランを考えさせるなど)に任せる事ができるようになりました。

最後に、データサイエンティストは突然、重要な業務システムの管理を担当するようになりました。その決定は、即時に業務に反映され、販売や生産などの場でビジネスに大きな影響を与えるようになりました。

それでは、彼らの新しい役割と責任は何でしょうか?

1)データエンジニアの新しい役割
現在もデータインフラストラクチャと配管コードを担当していますが、チームは今では一般的に以前よりずっと小さくなっています。多くの企業は最初は請負業者やコンサルタントを使用するだけで入手でき、既製製品で解決できない作業の「ギャップを埋める」ために必要なデータエンジニアは1人か2人だけです。

2)アナリストの新しい役割
アドホックな分析の実行に加えて、アナリストはBIツールのプログラミングと管理、およびいくつかのELTジョブの作成(Looker PDTまたはdbtなどのツールを使用)を担当します。

3)データサイエンティストの新しい役割
データサイエンティストは、依頼に応じて調査研究を行うのに加えて、機械学習モデルや高度なテストプラットフォームの入力となるデータのクリーニング及び高度に絡み合った複雑なデータパイプラインの維持管理をしています。

以前にこのような組織で働いたことのある人は、曖昧になった役割分担に危機感を感じた事があるでしょう。

データサイエンティストやアナリストが必要に迫られて沢山のプログラムを書く必要が出てきたにも関わらず、今まで彼らに求められてきた役割は優れたソフトウェアエンジニアになる事はではなく、現在でもプログラミングをする事が彼らの最優先事項ともみなされない事が頻繁にあります。

同様に、データエンジニアは優れたソフトウェアエンジニアですが、データが実際にどのように使用されるかについてはトレーニングを受けていないため、アナリストやデータサイエンティストと常に効果的に連携することはできません。

 

3.アナリティクスエンジニア:データチームに必要な新しい職種(1/2)関連リンク

1)www.kdnuggets.com
The Analytics Engineer – new role in the data team