データエンジニアとは、膨大なデータを分析するためにデータの整理や管理を行ったり、複雑で大規模なデータが活用できるよう情報基盤の構築や運用を行う職業です。
膨大なデータを分析するためにデータの整理や管理を行ったり、複雑で大規模なデータが活用できるよう情報基盤の構築や運用を行う。
情報化が進展した今日、膨大なデータ(ビッグデータ)が蓄積され、利用・活用されるようになっている。また、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スプレッドシート等)、パソコン
新卒採用では理工系の大学、大学院の者が多いが、文系でも、心理学や経済学等データを扱っていたという卒業生も多い。高専や専門学校の情報系の卒業生もいる。システムエンジニアとして一括して新卒採用し、その中からデータエンジニアとして育てていく会社もある。
中途採用の場合、システムエンジニア等IT関係のエンジニアから転職という人が多い。また、金融、医療、製造、教育等、何らかの分野に詳しい業務知識を持っていると中途採用では有利となる。
資格関連では民間が運営する海外のものがあり(Google認定プロフェッショナルデータエンジニア等)、この認定を持っているとデータエンジニアのスキルがあると国の内外で評価される。
データエンジニアそのものの資格ではないが、情報処理振興機構(IPA)のデータベーススペシャリスト試験、システムアーキテクト試験などは関連する知識を持っている証明となる。
新卒採用の場合、入社後、社内で必要に応じて、基礎スキルの研修(プログラミング、数学、データ分析、データベース、分散処理、機械学習、AI等)、業務知識の習得(データの背景を把握するための顧客の業務の理解等)、プロジェクトのマネジメント(チーム管理やアジャイル開発)等の研修を行う会社が多い。開発のスピードアップが求められる今日、以前のウォーターフォール型でない、アジャイル開発のスキルが求められている。
このような研修を受け、その後は社内でプロジェクトに参加し、仕事をしながら、また、関連するKaggle等のコミュニティに参加し、力をつけていく。KaggleとはそのトップページにYour Machine Learning and Data Science Communityとあるように、世界中の機械学習とデータサイエンスに携わる数十万人が集まるコミュニティである。
この後のキャリアとしてはプロジェクトのマネジメントをし、さらにグループのマネジメントをするようになるというように管理職的なキャリアを歩む人と、専門性を高めエキスパートになっていく人がいる。専門性を高め、データサイエンティストやAIエンジニアになる人もいる。
データエンジニアに必要なスキルとしては、微分積分、線形代数、確率統計などの数学のスキル、Python 、Scala(スカラ)、Java、Rなどのプログラミングのスキル、ビッグデータ分析のための環境をアマゾン、グーグルなどのクラウド上で設計、構築し、運用するスキルが求められる。また、Hadoopなどによる大規模なデータを分散処理する知識などが求められる。そしてAI開発が盛んな今日、機械学習の知識が求められることも多い。また、データを扱う上では対象分野の業務知識が非常に重要である。業務知識が無ければ、どのようなデータでどのように処理すれば良いかが分からない。技術動向や社会、経済の動きを把握していることも必要である。
収集・解析に必要なプログラム作成に生成AIを活用することも多くなっており、生成AIで仮のものを作り、修正、加筆したり、作動確認し、利用する。
膨大で複雑なデータを丹念に処理していく必要があることから、根気があり、粘り強いことが求められる。データの分析では自分の思い込みがないか、自分の考えを客観的にとらえられることも必要である。技術や分析に対する好奇心、新しい手法を積極的に取り入れるチャレンジ精神も求められる。
情報システムの企画、構築、運用などの業務を一括して請け負う会社であるシステムインテグレーター(System Integrator、略してSIer)や中小のデータ分析の専門会社で働いている。このような企業は大学との共同研究等の関係もあり、大学のあるところに多い傾向がある。
基本的には自社で勤務し、作業自体はほぼPCだけでできることから、テレワークなど自宅で作業を行うこともできる。機密性が高い顧客データを扱う場合、厳密な入退室管理が行われている部屋(セキュリティ・ルーム)で作業を行う。また、顧客の拠点で作業を行うこともある。顧客との打合せ、結果報告等のため客先を訪問することもある。
この職業の就業者に関する統計等は無いが、前述のコミュニティの参加者等から日本で数万人居ると考えられる。この中には肩書はシステムエンジニアであるが、実質的にはデータエンジニアの仕事をしているという人も含まれる。フリーランスは少なく、会社の正社員として働いている人が大半である。このコミュニティの参加者から30歳代が多く、次いで40歳代が多い、男女の比率としては7:3から8:2程度と考えられる。
収入面や労働時間はシステムエンジニアとあまり変わらないが、ビッグデータの利用・活用が広がり、仕事が多くなっている反面、スキルの高い人材は少ないことから中途採用の人など高給の人もいる。
今日、産業、社会の広範なデジタル化、IoT(モノのインターネット)、デジタルトランスフォーメーション(DX)など、データ活用が益々、拡大している。AI開発に伴う仕事も多くなっている。一方、専門的な知識、高度なスキルを有する人材は不足しており、仕事には事欠かない状況が続くと考えられる。
業界をまたいで、AI 影響度が同水準の代表職業(規模順)。