業界・仕事内容

データ分析基盤とは|データ分析基盤エンジニアの仕事内容

こんにちは、フリーランスエンジニアの @tara です。

私は現在、実働は週2~3日ぐらいでという、ふんわりとした契約でデータ分析基盤構築の案件を請け負っています。

最近はデータ分析基盤というワードを聞く機会も増えてきたと思います。でも同じエンジニアでも、関わりない人には、いまいち何のことなのかよくわからないですよね。私も今の案件を請け負う前は、名前ぐらいは知っているという状態でした。

今回は、

データ分析基盤という言葉には興味あるけど何なのかよくわからない
かといって今の業務とは関わりないのでがっつり勉強する気はない

という方に向けて、このデータ分析基盤とデータ分析基盤エンジニアについてざっくりと説明していきます。

この記事が役に立つ人

データ分析基盤について軽く何となく知っておきたい人
データ分析基盤エンジニアの仕事内容や要求スキルセットに興味がある人
データ分析基盤の仕事の受注、もしくは転職を考えている人

データ分析基盤とは

データ分析基盤の概要

データ分析基盤とは、企業内のあちこちに散らばっているデータを収集・加工して有効活用するための土台、つまりプラットフォームです。

データ分析基盤エンジニアの仕事は、サーバやインフラ周りの技術を駆使してこのプラットフォームを作ることです。

ビッグデータ時大のデータ分析

データ分析基盤の先にある最終目的は、大量のデータを意味ある物にして再利用することです。

こういった考えは昔からありました。昔はデータは社内のファイルサーバやデータベースぐらいにしかなく、DWH(データウェアハウス)の製品を何か一つ導入するだけで目的は果たせました。

しかし今や、クラウドの台頭とともに企業内のデータ量は膨大でそのあり方も様々です。社内リソースだけでも、技術の発展に伴い様々なDB製品を使うようになってきています。その上、AWS、GCP、Azureといったクラウド環境が混在してあちこちに多種多様なデータがあります。

しかも、それらのデータは加速度的に増大していきます。従来の製品を導入するだけというソリューションでは、とても対応できなくなりました。

そういった背景もあり、現在ではデータ分析を行うためには、データ収集、データに適した加工と出力、データ増大に伴うこれら一連のフローの動的反映などの機能を持つプラットフォームそのものから作っていく必要に迫られました。それがデータ分析基盤です。

DWHも、データ分析基盤では出力の一部に過ぎません。データや要件によっては集約したデータを未加工のまま蓄積することもあります(データレイク)し、ユースケースごとに最適化な加工を施していくもあります(データマート)。

データ分析基盤エンジニア

いろいろある呼称

この現代の膨大なデータを分析するためのプラットフォームを構築するエンジニアを、一般にはデータ分析基盤エンジニアと呼びます。

呼称は他にもいろいろあって、データ基盤エンジニア基盤開発エンジニアということもあります。また単にデータエンジニアと呼ばれることも多いです。基本的に全部同じことです。

データサイエンティストとの違い

データ分析基盤エンジニアデータサイエンティストは、よく知らない人からしたら同じような仕事をしてそうに感じますが、明確に違います。

データサイエンティストのミッション

データサイエンティストはデータ分析基盤のユーザです。

データサイエンティストの仕事はデータを分析することですが、データに直接アクセスすることはありません。企業のあちこちに散らばっていて、アクセス権がないのはもちろん、誰が担当なのかもわからないデータばかりです。

そこでデータ分析基盤を使って、DWHなどにはかれたデータを使用します。このデータを、機械学習や統計の知識を駆使して分析していくのがデータサイエンティストです。

データサイエンティスト兼データ分析基盤エンジニアのスーパーマン募集求人


たまに求人で見かけるのが、データ分析基盤エンジニアの募集にデータサイエンティストの業務が含まれていたり、もしくはその逆で、データサイエンティストの求人の要件にデータ分析基盤構築が入っていたりしています。

これがデータ分析基盤エンジニアとデータサイエンティストがごっちゃになったりする要因です。

いったいどんなスーパーマンを探しているんでしょうかね。フルスタックとは何だったのかとツッコミたくなります。スキルセットでいったら、プログラミング、サーバ周り(フロントとバックの両方)、インフラ、SRE、データ基盤(分差処理、データ処理など)、機械学習、数学、統計、etc…ですかね。。。

しかも、そういう求人に限って、年収400~600万円とかだったりするんですよね・・・

データ分析基盤エンジニアの要求スキルセット

経験ベース

データ分析基盤エンジニアに要求されるスキルセットは多岐にわたります。

担当やフェーズにもよりますが、経験ベースで言えば、Webエンジニア(バックエンド、できればフロントエンドも)、インフラエンジニア、SREエンジニアの業務はこなせるぐらいの経験が必要です。更に言えば、機械学習エンジニアの業務もできればベターです。

それどんなスーパーマンって思われるかもしれませんが、事実なんですよね。。。(汗)

まあ、一人で全てをこなす分けではありませんので、できないパートがあっても大丈夫です。私はフロントエンドの経験はありませんが、やっていけてますしね。

知識ベース


知識ベース言えば、以下の様な感じです。

エンジニア領域 知識
データエンジニアの知識 分散処理、分散DB、データ処理(データパイプライン、カラムナフォーマット変換など)
Webエンジニアの知識 プログラミング、DB設計、API設計、UI(フロント)
インフラエンジニアの知識 DBパフォーマンスチューニング、ネットワーク構築、セキュリティ、各種認証(AD連携など)
SREエンジニアの知識 ジョブ管理、性能監視、構成管理、デプロイ自動化など、EFK(ログ収集基盤)
機械学習エンジニアの知識 Pandas、モデル構築
データエンジニアの知識

これはデータをどう扱うかの知識で、システムのグランドデザインを考えたりETLをどうやって実装するかを考えたりするのに必要な知識です。

この辺の知識は、データ分析基盤構築の仕事をしていれば嫌でも身についてくる類なので、最初はなくてもそれほど心配いりません。

むしろこれらの知識を効率的に吸収していくために、Webエンジニアやインフラエンジニアの知識が必要ともいえます。

Webエンジニアの知識

これは必須です。プログラミングは、Python、Scala、Javaあたりを使うことが多いです。中でもPythonは、細かなジョブや分析業務との相性がいいので使われるシーンが多いです。

DB設計、API設計も必須です。この辺の知識がないと、データ分析基盤のシステムデザインの話ができません。

UIは担当業務によっては必要になります。集計したデータやそのメタ情報をWebシステムで見せることがありあます。

インフラエンジニアの知識

データ分析基盤はDBとは切っても切れない関係にありますので、DB周りの知識は必須です。DB設計はもちろん、パフォーマンスチューニングなどの運用周りの知識も必要になってきます。

また、あちこちに散らばったデータと連係が必要なためネットワークやセキュリティの知識も必要です。

SREエンジニアの仕事

データ分析基盤は大がかりなシステムになりやすいので、ジョブ管理や性能監視、構成管理やデプロイの各種自動化が必要になってきます。ログ収集の知識も必要になってきます。

機械学習エンジニアの知識

データ分析の業務をするわけではありませんが、ユーザにどういったシステムを提供するかを考えるに当たり、Pandasやモデル構築などの必要最低限の知識は必要です。

データ分析基盤エンジニアの年収


データ分析基盤エンジニアの年収は500~800万円ぐらいです。Webエンジニアと給与水準は、変わらないと考えていいでしょう。

多種多様な知識が要求されるわりには、それほど高くありません。正直に言って割に合わないですね。

ちなみに私が今契約中のデータ分析基盤の案件は時給5000円の準委任契約です。といっても、明確な労働管理はしておらず仕事量も多いので実質時給4000~4500円ぐらいになっていそうです。

tara
tara
年収換算でいったら850万円ぐらいでしょうか。フリーランスでこれは正直少ないですね(涙)

まとめ

以上、データ分析基盤とデータ分析基盤エンジニアについての紹介でした。

データ分析基盤構築の仕事は、いろいろな知識が要求されるからこそ様々な技術に触れる機会も多く面白い仕事です。Webエンジニアやインフラエンジニアの方で新たな仕事にチャレンジしたい場合は、データ分析基盤は有力候補の一つとして考えてみるのもいいと思います!

ABOUT ME
tara
tara
年収360万円でIT業界のキャリアスタート
SES -> Web業界 -> 大手メーカー -> フリーランス
と経験してきて、現在は年収1000万円を越えました。

エンジニアのキャリアアップに役立つ情報を発信していきます。