WHAT どんな仕事?
膨大なデータを分析するためにデータの整理や管理を行ったり、複雑で大規模なデータが活用できるよう情報基盤の構築や運用を行う。
情報化が進展した今日、膨大なデータ(ビッグデータ)が蓄積され、利用・活用されるようになっている。また、AI(人工知能)も様々な場面で応用が進んでいるが、その実用化のためには大量のデータが必要となる。このような膨大なデータのエキスパートと言えるエンジニアである。
データエンジニアに似た職業にデータサイエンティストがある。データサイエンティストがデータを分析し、新たな商品やサービスを生み出したり、業務プロセスを革新する知見を引き出すのに対し、データエンジニアはこのためのデータの収集、整理、管理、そして情報基盤の構築や運用を行う。
また、データエンジニアとは呼ばれていなかったが、システムエンジニアの中にはデータの収集と整理に関する開発、また、データを活用するための情報基盤の構築と運用を行う人も居り、この人達もデータエンジニアと同じような仕事をしていたといえる。そして、データエンジニアの中で分析に特化し、専門性を高めていきデータサイエンティストとなったり、機械学習に特化しAIエンジニアになっていく人もいる。データエンジニアとシステムエンジニア、データサイエンティスト、AIエンジニアの関係はこのように整理することができる。
データエンジニアの具体的な業務としては以下の3つがある。
第一に、データはそのままでは利用できないことが多く、欠損しているデータを補ったり、データの重複を整理したり、表記の揺れ(サーバーとサーバ、西暦と和暦、年齢区分、centerとcentre等々)などを統一する作業であり、分析できるようツールを使いデータを整理、加工する業務である(データの前処理)。また、このデータの整理、加工のためにプログラムを作成することもある。
第二に、データを収集し、蓄積し、利用できるような情報基盤を設計し、構築する業務である。具体的には、IoTなどにより集まってくる膨大なデータからデータベースを作成し、データサイエンティストやデータを分析する人が必要な形で取り出せるよう、情報インフラを開発する業務である。近年では、膨大なデータを廉価に効率的に格納し、利用するためにクラウドサービスを利用することが多い。この場合、データエンジニアはクラウド上にデータを蓄積し、利用する情報システムをクラウド上で開発、運用する。データをグラフ等で見やすく視覚化することもある。データサイエンティストの仕事と重なるが、データをビジネスにどう活かすかを検討することもある。
第三に、AI(人工知能)開発における「教師データ」の作成がある。AIに学習させるためには「教師データ」が必要であり、そのデータを作成する。データを整理し、データを整える業務である。このデータ整理のためにプログラムを作成することもある。AIを運用しその結果から、教師データを作り直すこともある。
よく使う道具、機材、情報技術等
収集・解析ツール(データ検索・収集するElasticsearch、グラフ化するKibana 、解析するBeats 、Logstashから構成されるElastic Stack)、統合開発環境(IDE:integrated development environment、Visual Studio、Eclipse、Xcode等)、クラウドデータストレッジ(AWS:Amazon Web Services、GCP:Google Cloud Platform等)、 ビッグデータの分散処理のためのHadoop、表計算ツール(Google Googleスプレッドシート等)、パソコン
TASK タスク(仕事に含まれるこまかな作業)
この仕事をしている人が「実際に行っている」と答えた割合(実施率)順。重要度は5点満点中の平均評価。
データの加工、整理の方法について検討する。
重要度 3.35
データを加工するプログラムを作成する。
重要度 3.00
データの背景となる業務知識を習得する。
重要度 3.27
表記の揺れ(サーバーとサーバ、centerとcentre等々)を統一する。
重要度 2.76
どのような情報基盤にするか検討する。
重要度 2.77
PROFILE しごと能力プロフィール
興味・仕事価値観・スキル・知識・仕事の性質・アビリティの6領域で仕事の特徴を表す、job tag独自の数値プロフィール。
HOW TO 就くには
新卒採用では理工系の大学、大学院の者が多いが、文系でも、心理学や経済学等データを扱っていたという卒業生も多い。高専や専門学校の情報系の卒業生もいる。システムエンジニアとして一括して新卒採用し、その中からデータエンジニアとして育てていく会社もある。
中途採用の場合、システムエンジニア等IT関係のエンジニアから転職という人が多い。また、金融、医療、製造、教育等、何らかの分野に詳しい業務知識を持っていると中途採用では有利となる。
資格関連では民間が運営する海外のものがあり(Google認定プロフェッショナルデータエンジニア等)、この認定を持っているとデータエンジニアのスキルがあると国の内外で評価される。
データエンジニアそのものの資格ではないが、情報処理振興機構(IPA)のデータベーススペシャリスト試験、システムアーキテクト試験などは関連する知識を持っている証明となる。
新卒採用の場合、入社後、社内で必要に応じて、基礎スキルの研修(プログラミング、数学、データ分析、データベース、分散処理、機械学習、AI等)、業務知識の習得(データの背景を把握するための顧客の業務の理解等)、プロジェクトのマネジメント(チーム管理やアジャイル開発)等の研修を行う会社が多い。開発のスピードアップが求められる今日、以前のウォーターフォール型でない、アジャイル開発のスキルが求められている。
このような研修を受け、その後は社内でプロジェクトに参加し、仕事をしながら、また、関連するKaggle等のコミュニティに参加し、力をつけていく。KaggleとはそのトップページにYour Machine Learning and Data Science Communityとあるように、世界中の機械学習とデータサイエンスに携わる数十万人が集まるコミュニティである。
この後のキャリアとしてはプロジェクトのマネジメントをし、さらにグループのマネジメントをするようになるというように管理職的なキャリアを歩む人と、専門性を高めエキスパートになっていく人がいる。専門性を高め、データサイエンティストやAIエンジニアになる人もいる。
データエンジニアに必要なスキルとしては、微分積分、線形代数、確率統計などの数学のスキル、Python 、Scala(スカラ)、Java、Rなどのプログラミングのスキル、ビッグデータ分析のための環境をアマゾン、グーグルなどのクラウド上で設計、構築し、運用するスキルが求められる。また、Hadoopなどによる大規模なデータを分散処理する知識などが求められる。そしてAI開発が盛んな今日、機械学習の知識が求められることも多い。また、データを扱う上では対象分野の業務知識が非常に重要である。業務知識が無ければ、どのようなデータでどのように処理すれば良いかが分からない。技術動向や社会、経済の動きを把握していることも必要である。
収集・解析に必要なプログラム作成に生成AIを活用することも多くなっており、生成AIで仮のものを作り、修正、加筆したり、作動確認し、利用する。
膨大で複雑なデータを丹念に処理していく必要があることから、根気があり、粘り強いことが求められる。データの分析では自分の思い込みがないか、自分の考えを客観的にとらえられることも必要である。技術や分析に対する好奇心、新しい手法を積極的に取り入れるチャレンジ精神も求められる。
学歴(この仕事に就いている人の最終学歴の内訳)
修士課程卒(修士と同等の専門職学位を含む)
23.7%
関連資格
Google認定プロフェッショナルデータエンジニア