「データエンジニアになりたいけど、何から勉強すればいいかわからない」
この悩み、めちゃくちゃわかります。私もSIerからデータエンジニアに転職する前、同じ状態でした。
ネットで調べると「Python」「Snowflake」「dbt」「Airflow」「Spark」と大量の技術名が出てきて、どこから手をつければいいのか途方に暮れました。
結論から言うと、全部を一気に覚える必要はありません。 優先順位をつけて、段階的に学んでいけば大丈夫です。
この記事では、SIer出身の私が実際にたどった学習ルートをベースに、データエンジニアに必要なスキルと学習の順番を解説します。
データエンジニアに必要なスキルの全体像
まず全体像を把握しましょう。データエンジニアのスキルは大きく4つの領域に分かれます。
1. SQL・データベース設計
データエンジニアの仕事の基盤です。どんなツールを使おうと、最終的にはSQLでデータを操作します。SIer出身者はここが強いので、大きなアドバンテージがあります。
2. ETL・データパイプライン
データを取得して、変換して、格納する。この一連の流れを設計・構築・運用するスキルです。SIerで「バッチ処理」をやっていた人は、考え方の土台がすでにあります。
3. クラウドDWH・データ基盤
Snowflake、BigQuery、Redshiftなどのクラウドデータウェアハウスの知識です。オンプレのRDBとは異なるアーキテクチャや料金体系を理解する必要があります。
4. プログラミング(Python)
データ変換やAPI連携、自動化スクリプトの作成に使います。ただし、データエンジニアに求められるPythonは「Web開発レベル」ではなく「データ処理レベル」で十分です。
学習ロードマップ(6ヶ月計画)
Phase 1(1〜2ヶ月目):SQL力を磨く
SIer出身者でもSQLに自信がない人は多いです。業務でSQLを書いていても、Window関数やCTEを使いこなしている人は少ないのが実情です。
やること:
Window関数(ROW_NUMBER、RANK、LAG、LEAD、SUM OVER)を完全に理解する。これはデータエンジニアの面接で必ず聞かれます。実際に私も面接で「売上の前月比を出すSQLを書いてください」と聞かれました。
CTE(WITH句)を使った複雑なクエリの書き方を身につける。サブクエリのネストを減らして、読みやすいSQLが書けるようになるだけで、実務での評価が変わります。
パフォーマンスチューニングの基礎を押さえる。実行計画の読み方、インデックスの効き方、パーティションの考え方。SIer出身者ならOracleやSQL Serverで触れたことがあるはずなので、クラウドDWHでの違いを理解すればOKです。
おすすめの学習方法:
LeetCodeやHackerRankのSQL問題を1日2〜3問解く。特にMedium〜Hard問題をWindow関数で解く練習が効果的です。
Phase 2(2〜3ヶ月目):クラウドDWHを触る
SQLの基礎が固まったら、クラウドDWHを実際に触りましょう。
やること:
Snowflakeの無料トライアル(30日間)に登録して、サンプルデータでクエリを実行する。ウェアハウスのサイズ変更、ステージからのデータロード、ロールとアクセス制御の基本を理解します。
BigQueryのサンドボックス(無料枠)も触ってみる。Snowflakeとの違いを体感しておくと、面接で「なぜSnowflakeがいいのか」「BigQueryとの違いは何か」という質問に答えられます。
最低限押さえるべき概念:
ウェアハウスとコンピュートの分離、ストレージとコンピュートの従量課金、タイムトラベル、ゼロコピークローン。これらはオンプレRDBにはない概念なので、意識的に学ぶ必要があります。
SnowProの学習教材を読むのもおすすめです。合格まで目指さなくても、アーキテクチャの全体像が把握できます。
Phase 3(3〜4ヶ月目):Pythonの基礎とETLツール
Pythonはデータエンジニアにとって「必須だけど、極める必要はない」スキルです。
やること:
Pythonの基礎文法(変数、リスト、辞書、関数、クラス)を押さえる。すでにVBAやShellスクリプトの経験があれば、1〜2週間で十分です。
pandasでのデータ処理を学ぶ。CSVの読み込み、データのフィルタリング、集計、結合。SQLでできることをpandasでもできるようにしておくと、実務で柔軟に対応できます。
ETLツール(Fivetran、Airbyte)の概要を理解する。実際に手を動かせなくても、「どういう仕組みでデータを取得しているか」を説明できればOKです。
dbtの入門チュートリアルをやってみる。dbtはSQLベースのデータ変換ツールで、SIer出身者には取っつきやすいです。公式のjaffle_shopチュートリアルが最適です。
Phase 4(4〜5ヶ月目):ワークフローオーケストレーション
ジョブスケジューラの進化版です。SIerでJP1や千手を使っていた人なら概念はすぐ理解できます。
やること:
Apache Airflowの基本を学ぶ。DAG(有向非巡回グラフ)の概念、タスクの依存関係の定義方法、スケジューリングの設定を理解します。
ローカル環境でAirflowを動かしてみる。Docker Composeで簡単に立ち上げられます。簡単なDAG(CSVを読み込んでDBに格納する)を1つ作るだけでも、実務のイメージが掴めます。
Prefect、Dagsterも名前と特徴だけ押さえておく。「Airflow以外の選択肢を知っている」だけで面接での印象が良くなります。
Phase 5(5〜6ヶ月目):ポートフォリオを作る
学んだスキルを統合して、小さなデータパイプラインを1つ作りましょう。
おすすめのポートフォリオ:
公開APIからデータを取得して、Snowflakeにロードして、dbtで変換して、BIツールで可視化する。この一連の流れを構築できれば、「データパイプラインを設計・構築できる人」として転職活動で大きなアピールになります。
たとえば、天気APIから毎日データを取得して、週次の天気傾向を分析するダッシュボードを作る。技術的には複雑ではありませんが、「自分でデータパイプラインを1から構築した」という実績になります。
GitHubにコードを公開して、READMEにアーキテクチャ図を載せておくと、面接で話のネタにもなります。
SIer出身者が最短で転職するための優先順位
全部を完璧にする必要はありません。転職活動を始めるまでに最低限必要なのは以下の3つです。
1位:SQLの強化(Window関数、CTE)。 これだけで面接の技術質問の半分は乗り切れます。
2位:Snowflakeのトライアルを触る。 「触ったことがある」と「全くない」の差は大きいです。
3位:SIer経験のデータエンジニア用語への翻訳。 技術力は同じでも、伝え方で評価が変わります。
Python、dbt、Airflowは「知っている」レベルでOK。入社後にキャッチアップすれば十分です。企業が求めているのは「全部できる人」ではなく「基礎があって学べる人」です。
まずは転職エージェントに相談してみる
学習を始めるのと並行して、IT特化の転職エージェントに相談することをおすすめします。
理由は、自分に何が足りないかを客観的に教えてもらえるからです。「あなたの経歴ならPythonは最低限でOK」「SQLの実績をもう少しアピールした方がいい」など、闇雲に勉強するよりも効率的な方向性がわかります。
エージェントへの相談は無料で、登録したからといって転職を強制されるわけではありません。「まだ学習中で、半年後に転職を考えています」と伝えれば、それに合わせた情報提供をしてくれます。
まとめ
データエンジニアに必要なスキルは多岐にわたりますが、一度に全てを身につける必要はありません。
SIer出身者であれば、SQLとRDB設計の基礎はすでにあります。そこにクラウドDWHの知識とPythonの基礎を加えれば、転職活動を始められるレベルには十分到達します。
学習の優先順位は、SQL強化 → Snowflakeトライアル → Python基礎 → ETLツール → ポートフォリオの順。この流れで6ヶ月あれば、未経験からでもデータエンジニアへの転職は十分可能です。
▼ 関連記事
- SIerを辞めて「事業会社のデータエンジニア」に転職した話
- Snowflake未経験でもデータエンジニアに転職できた理由
- SIerの職務経歴書を「データエンジニア向け」に書き換える方法
- 事業会社のデータエンジニアの年収はいくら?
※この記事にはアフィリエイトリンクが含まれています。筆者が実際に利用したサービスのみ紹介しています。


コメント