フルサイクル・データ・エンジニア

AI要約

モダンデータスタックの抽象化により少人数でもデータライフサイクル全体を扱える時代になったが、それは技術志向より問題解決志向のエンジニアに向いた働き方である。

って言葉を最近思いついたのだが、調べてみたら求人票の中にはすでにあるようだ。

External Linkherp.careers【フルリモート可】モダンなデータ基盤構築を担う、フルサイクルデータエンジニア - 株式会社Finatextホールディングスherp.careers

元ネタは、ベンチャー企業の人間がみんな大好きな、Netflixの「Full-Cycle Developer」の考え方である。

  • ドメインごとに構成された個々の開発チームが、デザインから実装、デプロイ、サポートまでのソフトウェア・ライフサイクル全てをカバーする働き方をする
  • 中央集権的に集まった専門性の高いチームが、複数のチームで利用するツールを作り、車輪の再発明を防ぐ
  • Time to Valueの最適化を図るための構成となっている

https://netflixtechblog.com/full-cycle-developers-at-netflix-a08c31f83249

データエンジニアリングにおいても話は同じだ。中央集権的に集まった専門性の高いチームがいる企業は稀だと思うが、同様の働きは外部のサービスから得ることもできる。dbtやFivetran、Apache Airflow、Google BigQueryやSnowflakeなど、優れたモダン・データ・スタック*1が登場したことにより、複雑で手のかかる技術は「向こう側」に隠蔽された。技術は抽象化され、結果的に個々のエンジニアのアウトプットは増大した。データエンジニアリングにおけるライフサイクルは、元となるデータの生成、データの保存、DWHへのデータの取り込み、データの変換、エンドユーザー向けの提供まで流れとして捉えることができる*2。適切な技術を選択できれば*3、少ない人数のデータエンジニアリング・チームであっても、フルサイクルに取り扱うことは現代では十分可能だ。

何より、データを利用する人間から来る要望は大体抽象的なものだ。リテラシーにもよるが、「このデータが見たい」「BI上でこの条件でフィルターしたい」くらいの、ふんわりした要望が来ることが多い。そういう要望に直接あたろうとすると、どうしてもフルサイクルになりがちだ。SQLをどう書くかは向こうにとっては知ったことではないからだ。単純に人が少ないから、俺が3人分になる…みたいなことも稀によく起こる。

要望に直接当たって、最適なやり方を考える自由がある働き方が開けているわけだ。コトにあたるのが好きな人間にとっては良い傾向だろう。目の前の人間や要望と向き合い、問題解決に向けて動く自由と力のある時代だ。存分に腕を振るえばいい。一方で、テクノロジー好きな人間にとっては厳しいかもしれない。SQLを書いてばかりいるわけにはいかない時代になったのだから。技術に触れるのが好きなら、別の働き方を考えるのが良いのかもしれない。

*1:優れた抽象化を行う、データエンジニアリング関連技術の総称。境界は不明瞭であり、検索してみると各社が自分のプロダクトをModern Data Stackの枠の中に入れようと必死でSEOしている様が見て取れるだろう。

*2:データエンジニアリングの基礎 ―データプロジェクトで失敗しないために 第二章より

*3:この仮定がかなり強力であることは承知している。私から言えるのは、意思決定の場にいることが重要であるということだ。政治から逃げてはいけない。あなたが適切な情報を知っているなら、あなたは意思決定の場に居て、発言するべきなのだ。この観点で優れたブログ・エントリを見つけ、翻訳したので、リンクを貼っておく。 政治から逃げるな - Matheus Limazenn.dev