技術

データエンジニアの学習ロードマップ(個人用)

データエンジニアの学習ロードマップ

現在、Udacityでデータエンジニアに必要なスキルを勉強中なのですが、それだけでは全然足りなさそうなので改めて学習計画を立てて見ました。

こちらを参考に、自分用にカスタムしました。

https://github.com/datastacktv/data-engineer-roadmap

自分に必要そうだけど足りていなさそうなものをピックアップし、どうやって勉強するかなどをメモ書きしていったものがこちらになります。

オレンジ文字がカテゴリ、青文字が技術や製品の名称、緑文字はどうやって勉強していくかになります。赤のラインは個人的に重点的に学びたいものです。

カテゴリ別の目標とやること

CS(コンピューターサイエンス)

おそらくどの職種のロードマップにもであるであろうCS。

その中で、私が身につけたいものはデータ構造とアルゴリズムになります。これはデータエンジニアのスキルセットとは、ほとんど関係ないと思うのですが、将来の転職活動にそなえてコツコツやっていきたいと思います。

AtCoderをやりつつ、積ん読状態であった蟻本を引っ張り出してやっていく予定です。

DB

DBからは、自分に圧倒的に足りていないのはSQLです。

もちろん開発で必要なレベル、テーブルをジョインして必要なカラムの一覧を作るみたいなことはできるのですが、それ以上のいわゆるSQL職人がやるようなことは私はできません。SQLのレイヤーでデータを整形したり、パフォーマンスを意識したSQLにするなどといったことは、現状ではできる気がしません。

来月からジョインさせていただく案件は、こういったSQLをガンガン書くことになりそうなので、GW中に勉強しておく必要があります。

『達人に学ぶSQL徹底指南書』を持っているのですが、半分ぐらい流し読みしただけでこちらもほぼ積ん読状態です。GWはこの本で紹介されているSQLを、手を動かしながら勉強しなおす予定です。

Non-RDB/DWH

この辺りは個人では勉強しづらいですので、業務で出てきたらその時にキャッチアップするぐらいで良いかと思っています。

最近のデータ基盤はデータレイクが主流なので、それほど重要でもなさそうですし。

Cluster Computing

この辺りの理論は、Udacityで軽くやったので、とりあえずはいいかなと思っていますし。

詳細の理論などは、EMRがある程度吸収してくれるので不要な気がしています。

Data Processing

これはかなり実務よりなので、しっかりと勉強しておきたいです。

GW中に、dbtを触ってみて、Modern Data Stackについて軽く勉強しておくつもりです。

SparkはUdacityのカリキュラムに入っているので、そこでハンズオンしながら勉強しようと思っているのですが、Udacityの有効期限まであまり時間がないので、飛ばし気味だったりします・・・💧

Workflow

ワークフローは、データアナリストよりだと思うので、そこまで優先度は高くないのですが、一通り触っておくことぐらいはしておきたいなと思っています。

Udacityで今勉強中の次のセクションがAirflowみたいなので、ここで学んでおきます。

Monitoring

Datadogは一度は触っておきたいと思っているのですが、未だに触れたことがないです。業務で出てきたらでいいと思っていますが、いつになることやら。。。

IaC

IaCはここ数年、仕事でずっとやっているのですが、k8sだけはちゃんとやったことがないんですよね。k8sはがっつりと経験しておくべき技術なのですが、なかなか実現しないですね。

経験しておくべきでだけど、個人的な興味はそれほどないので、それが原因かもしれませんが。

これも個人の時間で勉強する気はしないので、仕事で使うことになったらそのときキャッチアップするって感じでしょうか。

Visualise data

Tableaは良く聞きますが、一度も使ったことがないです。アナリストよりなので、私は特に学ぶ必要もないかなと思っています。仕事で出てきたら、ちょっとやってみるぐらいのスタンスです。

ML/MLOps

AIのモデル作成はAIエンジニアの業務なので、特に何もやるつもりはありません。ただ、モデルを使ったワークフローの構築、いわゆるMLOpsは機会があれば経験したいと思っています。が、これも個人では少し勉強しづらいですし、実際の業務で経験するときがくるかどうかわからないので、今の所、具体的なアクション計画はないです。

まとめ

以上、データエンジニアのスキルセットを身につけるための学習ロードマップ(個人用)でした。

  • SQL、dbtをハンズオンで勉強していく
  • UdacityでSparkやAirflowを勉強していく
  • データエンジニアの学習と並行して、将来のためにアルゴリズムを勉強していく