primeNumberデータマネジメント特集

データ活用の基盤を築くデータエンジニアの育成に向けて大学におけるデータエンジニアリング教育の観点から

データを活用していこうとする企業や組織の方たちと話をしていく中で、⁠データエンジニアの採用が難しい」という声を聞くことがよくあります。

こうした状況に対して私たちprimeNumberでは、一方で希少な人材を補完するものとしてデータ基盤の総合支援SaaSであるtroccoを提供していますが、他方で業界としての裾野を広げていくためにさまざまな教育活動にも取り組んでいます。

たとえば、gihyo.jpの運営会社である技術評論社と共同で早稲田塾の中高生向け教育プログラムを支援したり、横浜国立大学と講義の運営を通した教育プログラムの開発を行ったり、横浜市立大学からのインターンシップ生の受入れを行うなど、中高生から大学生までデータエンジニアリングの知見の普及に力を入れています。

そうした取り組みを進める一方で、教育領域でのデータエンジニアリングの普及には依然として難しさを感じています。データエンジニアリングは、データサイエンスを支える3つのスキルセットの1つとして取り上げられているにもかかわらずです。

「2023年度スキル定義委員会活動報告/2023年度版スキルチェックリスト&タスクリスト公開」
一般社団法人データサイエンティスト協会スキル定義委員会「2023年度スキル定義委員会活動報告/2023年度版スキルチェックリスト&タスクリスト公開」4ページ目より)

本記事では、教育におけるデータエンジニア育成の難しさと、その中でもどういった取り組みを進めていくのが良いのかについて、私見を述べてみます。

そもそも⁠なぜデータエンジニアリングが重要なのか

教育の話に入る前に、前提をおさえておきましょう。そもそも、なぜデータエンジニアリングは重要なのでしょうか。その理由は、データサイエンスに値するデータは、適切に準備しないと存在しないことにあると考えています。

とくに、下記のグラフで顕著なように、技術者が組織内部ではなく外部の開発会社に偏在している日本においては、技術を効果的に扱える人材が組織内部におらず、ましてやデータを効果的に活用できる状態にないことが多いと考えられます。

独立行政法人情報処理推進機構IT人材育成本部編「IT人材白書2017」
(独立行政法人情報処理推進機構IT人材育成本部編「IT人材白書2017」13ページ目より)

データは上手く使えば業務を劇的に改革するためのツールになり得るのですが、それは活用に値するだけのデータを整備できるかが土台になるものです。この点を踏まえると、データエンジニアリングの普及はデータサイエンスを社会実装していくうえでの大きな課題であると言えるでしょう。

大学生は何を学んでいるのか

まず、大学生がどのような学問分野を学んでいるのかについて見てみましょう。下記は学校基本調査での1~4年生の1学年あたりの学生数について、学科系統の大分類の内訳をみたものです。

令和5年度学校基本調査
令和5年度学校基本調査より筆者作成)

ここからわかるのは、理学と工学を学んでいる学生は、全体の2割弱しかいないということです。中でも国立大学では割合が大きく35%程度になりますが、私立大学では1割強しかいません。

次に、もう少し細かい学問分野について見てみましょう。以下のデータは私立大学がなく国公立大学に限定されますが、全体から中分類または小分類に「コンピュータ」または「情報」が含まれるもの(情報系とする)と、⁠データ」が含まれる(データ系とする)ものを切り出しています。

大学改革支援・学位授与機構「大学基本情報」
大学改革支援・学位授与機構「大学基本情報」より筆者作成)

このデータを見ると、情報系(名称で判別しているのでハードウェア寄りも含まれると思われる)が6%程度であり、近年新設されてきているデータ系は規模的には全然存在感がない(見えない)ことがわかります。

私立大学は人数規模が著しく大きい割に理工系の割合は小さくなるので、設置区分を問わない全学生で見ると情報系が3~4%というところでしょうか。データ系はもちろん、情報系でも全学生に対してかなり一部に限られることがわかります。

データサイエンス教育は大学で拡大するが……

学部学科単位では上記のようになりますが、専攻を問わずにデータサイエンス教育が行われるようになってきています。具体的には、⁠数理・データサイエンス・AI教育プログラム認定制度」の中で、2021年からリテラシーレベル、2022年から応用基礎レベルの認定を通して、データサイエンス教育の普及が推進されています。

文部科学省「数理・データサイエンス・AI教育プログラム認定制度」
文部科学省「数理・データサイエンス・AI教育プログラム認定制度」15ページ目)

データエンジニアリングはデータサイエンス教育の3本柱の1つなので、このプログラムを通して教育が進んでいくと思われるでしょうか。しかし、そうとも言えないというのが難しいところです。

まず、リテラシーレベルについてはそもそもが大学・高専卒業生全員を対象にするようなものである以上、データエンジニアに求められるような専門的なことまでは取り扱うことができません。

次に、上位区分の応用基礎レベルについてはどうでしょうか。コンソーシアムで作成されたモデルカリキュラムが公開されているので、その内容をもとに見てみましょう。

数理・データサイエンス教育強化拠点コンソーシアム「数理・データサイエンス・AI(応用基礎レベル)モデルカリキュラム~AI×データ活用の実践~」
数理・データサイエンス教育強化拠点コンソーシアム「数理・データサイエンス・AI(応用基礎レベル)モデルカリキュラム~AI×データ活用の実践~」11ページ目)

上記の図では、☆がコア学修項目、※が基盤となる学修項目になっています。ただし、実務のデータエンジニアリングの基礎となるデータ収集、データベース、データ加工はどちらにも当てはまらず、すなわち発展的な取り扱いになっています。

また、それぞれの項目に関する詳細な内容は下記のとおりです。

数理・データサイエンス教育強化拠点コンソーシアム「数理・データサイエンス・AI(応用基礎レベル)モデルカリキュラム~AI×データ活用の実践~」 数理・データサイエンス教育強化拠点コンソーシアム「数理・データサイエンス・AI(応用基礎レベル)モデルカリキュラム~AI×データ活用の実践~」
数理・データサイエンス教育強化拠点コンソーシアム「数理・データサイエンス・AI(応用基礎レベル)モデルカリキュラム~AI×データ活用の実践~」18、19ページ目)

HTTP、API、データウェアハウスなどといったデータエンジニアにとっての基礎知識は、高度な内容として位置付けられていることがわかります。

これらをふまえると、⁠データエンジニアリング」と言えども、データ領域ではなくコンピュータの仕組みとプログラミングの基礎がカリキュラムの中心になっていると考えられます。

データサイエンス教育は個々の学問領域の学習と合わせて学ぶものであると位置付けられている以上、なかなか深いものまでは想定されていないということが想像されます。

データ系学部はどうか

近年、データを冠するような学部/学科/コースが続々と新設されてきています。学部単位に限定すると、下記のようなものがあります。

~2022年度 2023年度
滋賀大学データサイエンス学部(2017)
横浜市立大学データサイエンス学部(2018)
武蔵野大学データサイエンス学部(2019)
長崎大学情報データ科学部(2020)
立正大学データサイエンス学部(2021)
()内は設立年度
一橋大学ソーシャル・データサイエンス学部
名古屋市立大学データサイエンス学部
順天堂大学健康データサイエンス学部
東京都市大学デザイン・データ科学部
明星大学データサイエンス学環
京都女子大学データサイエンス学部
大阪成蹊大学データサイエンス学部

ただ、個々の大学で公開されているシラバスやカリキュラムを調べてみても、⁠データエンジニアリング」で独立したような講義はほぼ見つかりません。全体の講義内容を詳しく見ても、データエンジニアリングとして取り扱われるものは先ほどと同様にコンピュータの仕組みとプログラミングの基礎が中心であることが多く、一部でデータベースについて取り上げられているくらいです。

なぜデータエンジニアリング教育が難しいのか

このような現状になっている背景を考えてみましょう。それは、データエンジニアリング教育が難しいことにあり、具体的には3つの要因があると考えます。

時間的余裕がない

まず、そこまで実施する時間的余裕がないというのが挙げられるでしょう。コンピュータとプログラミングの基礎を学ぶだけで時間はかかりますし、分析の中心となるモデリングは理論の理解と手を動かしての実践でその学習には大きな手間がかかるものです。

また、ある程度データを取り扱った経験がないと、データエンジニアリングはイメージが付きにくいものですから、学ぶ準備ができるまでに時間がなくなってしまうことも多いのでしょう。

教えられる人が少ない

次に、体制的に教えるのが難しいということがあります。そもそも民間でもデータエンジニアはたくさんいるわけではないですし、近年のデータエンジニアリングのプラクティスは2010年代以降のクラウドデータウェアハウスの発展に大いに影響を受けています。その中で、なかなか知見が体系的に整理されていないこともあるでしょう。

加えて、大学が新たな学部学科を設置するには設置認可や届け出を行う必要がある以上、既存の体制の組み換えになるということがあります。新設の母体として経済/経営や心理、教育、疫学などがベースにある場合は、機械学習よりも因果推論の領域が強くなりますし、PythonよりもRが利用されます。そのような環境では、データエンジニアリングを教えられる人を見つけるのが難しくなるのです。

使えるデータがない

最後に、そもそも使えるデータがないというのがあります。データエンジニアリングは運用されているデータを生み出すシステムがある環境の中で、ドメインとデータを連動させていくことに価値があります。そう考えると、大学という場でデータエンジニアリングに使えるデータがどれだけあるかという壁に直面するのです。

産学連携で学ぶ場を提供する

大学の場だけで難しいのであれば、データがある外部と連携すればいいとも言えます。実際、データサイエンスを冠する学部学科では産学連携のPBLを看板の取り組みにするところは多いですし、最初に設置された滋賀大学などはその筆頭でしょう。

産学連携の取り組みは個別の詳細が外部に公開されるわけではないので、その内容については広く理解してはいませんが、先述の理由から分析が中心のことも多いのではという気もしています。

実際、私がインターンの学生を受け入れる際にも考えていたのですが、データ分析はスコープ切り分けてアドホックな取り組みがしやすいですが、データエンジニアリングは日常の運用の色が強いので、短期間で集中的な学習がしにくい性質だと思い悩んだ記憶があります。

弊社の取り組みの中では、データサイエンスとデータエンジニアリングのバランスを取るように設計していますが、基礎的なところから積み上げていくように教えることはなかなか骨が折れるものです。

とはいえ、データの取得から利用までデータ活用の一連の流れについてシステム的な観点を持つことは、データ領域で仕事をしていくにあたって確実に力になっているだろうという手ごたえもあります。いい方法については模索中ではありますが、その重要性は強く感じています。

先端的なインターンシップの取り組み

別の視点として、インターンシップとしてかなり深い内容が行われており、感心した取り組みがあります。例えば、dbtによるバッチパイプラインの実装を取扱ったLINE社の事例【インターンレポート】LINEの大規模ETL batch pipelineにおけるdbtの導入によるデータ分析での課題解決の検証や、Airbyteのデータ転送でCI/CDを実装したSansan社の事例TerraformによるAirbyteを利用したデータ基盤へのデータ連携とCI/CDがあります。

いずれも実施期間が6週間、1か月強と長期間の取り組みにはなりますが、おそらく参加学生に取っては初めて取り組む技術スタックにも関わらず、非常に良い学びになっただろうと想像します。私自身もこの内容を見ながら、もう少しできることがあるかもしれないと刺激を受けました。

データエンジニアを育てていくために

過去にはデータ関連の教育があまり行われていなかったので、現在データエンジニアとして働いている人は、ソフトウェアエンジニアやデータアナリスト/サイエンティストから成り行きでなった人が多くいると思われます。しかし、これだけではデータエンジニアの裾野を広げていくことには限界があるでしょう。

データエンジニアリング教育には先述したような難しさがありますが、データサイエンス教育が普及してきている今では、少なくともデータになじみがある人が増えるという点で以前よりもその難しさは緩和されてきているとも考えられます。

大学だけで進めるのは難しい内容だからこそ、産学連携やインターンシップなど、産学協働で学ぶ場を提供することが重要です。そのときに、幅広い対象に概論的な内容を伝えていくことと、優秀な層に深い取り組みをさせていくことの2つの方向性があるでしょう。みなさんにとって、何かできそうなことはあるでしょうか?

また、データ領域にはさまざまなコミュニティがあり、勉強会も非常に頻繁に実施されているため、そこに学生の参加を促すこともできるでしょう。私もこの記事を執筆しながら、改めてもっとそういった取り組みをした方が良いだろうと思い直しています。

データエンジニアリングを広く普及させていくことには多くの難しさがありますが、その中でもこの領域が重要だと思う人たちが、産学を超えて取り組みを進めていければいいと考えています。私も頑張っていきますので、ぜひ一緒にやっていきましょう!

おすすめ記事

記事・ニュース一覧