165 Views
November 17, 25
スライド概要
就労訓練中に個人で作成したデータ基盤とETL、可視化までの一気通貫アプリケーションです。
システムエンジニア、テクニカルサポートを経て、就労移行支援を通じた就労訓練中。データエンジニアを目指した学習中です。
財務データETL基盤の設計・開 発プロジェクト 2025年10月 NeuroDive横浜 島崎啓一
目次 財務データETL基盤の設計・開発プロジェクト経験を軸に、私の学習・訓練についてご紹介いたします。 1. 自己紹介 6. 開発・学習における工夫 2. プロジェクトの実施背景 7. 苦労した点と解決策 3. プロジェクトの目的と成果 8. コスト削減効果の試算 4. アプリケーション全体設計 9. 想定している企業 5. 技術スタックと実装の詳細 10. まとめ:今回実践できたこと
1. 自己紹介 名前:島崎 啓一(しまざき けいいち) 経歴:システムエンジニア(顧客:デジタルマーケティング企業)、 テクニカルサポート職を経験 趣味:読書、サイクリング、技術者コミュニティで学ぶこと Neuro Diveでの専門 : データ分析 データの集め方やデータ分析基盤の仕組み データベース、クラウド
2. プロジェクトの実施背景:原体験 (1)業務での失敗体験 (2)私生活での成功体験 「正確性が重要な作業は コンピューターに任せた方が良い 」 「生データは単体では価値を発揮できず、 加工・継続的な管理を通して価値を発揮する 」 ● システムエンジニアとして作業時、 私のミスでお客様のサーバー、 Webサイトをダウンさせてしまった ● 人間の正確性や集中には限界がある ● 糖尿病治療で-25kgの減量、 血糖値は正常範囲で管理できている (血糖値に関して投薬は不要) ● 血糖値、血圧、体重など生データを記録、 体重は「除脂肪体重」に加工して管理した
3. プロジェクトの目的と成果 目的 成果 (1)分析者にとって利用しやすいデータ基盤構築 1. (2)データ分析関連職に求められる スキルセット の体系的な理解と習得 を目指す ・実務を想定した拡張性を考慮した設計する データ取得・加工・可視化まで一貫で行う アプ リケーションを開発したこと 2. Microsoft Data Foundation資格の取得 3. Docker/Git/uv/Ruffなど開発環境の標準化 4. 開発したアプリケーションの効果・価値を試算 ・データエンジニアリングの工程を経験する したこと ・現場に必要な技術を調べ・考え・実践する 年間120万円・30時間削減
3. プロジェクトの目的と成果 データエンジニアに関わるスキルセット 自己評価 1. Python、SQLなどのプログラム言語の基本的使い方 1. ○ 本プロジェクトで実践 2. クラウドインフラの初歩的な知識(Associate資格) 2. △ 資格取得の学習中 3. クラウドのデータ関連発展資格、派生資格 3. 4. データエンジニアリング分野のツールを学ぶ 4. △ GitとLinter、テストは経験 5. データ基盤のアーキテクチャに関する知識 5. △ 資格学習を通じて学習中 × 経験なし FAQ >【中途採用】未経験の職種に応募することはできますか? - 風音屋 より引用
4. アプリケーション全体設計 データ取得 データ保存・加工 データの可視化 金融庁EDINETのAPIに接続し、 財務 CSVデータをDataFrameで変換・加工し、 Streamlitフレームワークでコードベース データを CSV形式で収集 します。 データベースに格納します。 データの整 のダッシュボードを作成。 DataFrameを 合性を保ちながら、分析に適した形式 直接活用でき、バージョン管理も可能 に変換 します。 にしています。
アプリケーション全体設計:構成図 画像はClaudeにて作成
5. 技術スタックと実装の詳細 Python (Pandas, SQLAlchemy) PostgreSQL データ処理の中核技術として、業界標準の Pandasライブラリを リレーショナルデータベースによるデータ管理。正規化された 活用。APIアクセス、 CSV取り込み、前処理、データベース操 スキーマ設計により、 データの整合性と拡張性を確保 してい 作まで一貫した実装 を行いました。 ます。 Streamlit Docker, Ruff, uv Pythonベースのフレームワークで、 コードによる柔軟な UI構築 開発環境の標準化により、誰の PC環境でも開発可能にしてい とGitによるバージョン管理 を実現しています。 ます。WindowsPCとMacで動作を確認できており、 実務での チーム開発を想定 しています。
6. 開発・学習における工夫 AI活用 複数の学習リソース活用 開発環境の標準化 生成AIをコーチ、レビューワー、先輩エンジ 不明点があれば、複数の情報源を活用し システムエンジニア時代の環境構築の苦 ニアの役割で活用し、技術力の向上を加速 て理解するまで調査。失敗から学び、改 労を教訓に、Dockerによる開発環境の標 させました。重要なのは、AIに丸投げせず、 善を繰り返すことで、理解を深めました。 準化を実践しました。基盤開発エンジニア 自己学習のツールとして活用した点です。 を目指す上で、開発環境の再現性確保は 【活用した学習リソース例】 ● ● ● 必須スキルと理解しています。 要件や設計は必ず文書化し、議論 ● 公式ドキュメント の前提を統一 ● Udemy Business 「なぜ?」を深掘りし、理解するまで ● 書籍 ● Dockerでの開発環境を管理 壁打ちを継続 ● IT支援員さん ● uvでPythonの仮想環境を管理 アウトプットには作成者である自分 ● 技術ブログ, コミュニティ ● Ruffでコード解析、構文エラー等を が責任を持つ姿勢 ● Youtube など 【標準化の例】 事前に発見
7. 苦労した点と解決策 1 2 3 5月〜6月 7月 9月〜10 月 当初の目標設定の見直し 設計時の実データ確認不足 による手戻り 作業中盤での大幅な設計変 更 課題:未経験のGoogle Cloudによる構築を 課題:実データの確認が一部おろそかにして 課題:最初の設計は変更や拡張に弱い密結 目指していたが、目標期間内での実現が困 おり、設計上の欠陥が実装中に判明した。 合な設計上のアンチパターンとなっていた。 難と判断。 解決:クラウドを使った本格的な構築は次回 以降に延期。その代わり、開発環境の標準 化を取り入れ、基礎的な技術を把握するス テップアップを図った。 解決:設計の修正という手戻りが発生。設計 時から実データの観察し、最適な設計を目 指す重要性を痛感。 解決:方針転換により作業期間が1ヶ月以上 延びたが、クラスや関数の役割分担を明確 に分離する設計変更を行い、拡張性と保守 性の高い設計に変更できた。
8. コスト削減効果の試算 120万円 30時間 年間コスト削減 年間工数削減 データ収集・加工作業の自動化によ データ取得から可視化までの 自動化 り、月給相当で 4人分の人件費を削 により、レポート作成時間を大幅に短 減。繰り返し作業の効率化により、分 縮可能です。 析担当者がより高度な業務に集中で きます。 削減効果の算出根拠 • 担当者の時給換算:約2500円 ※データアナリスト職の求人票より算出 • 手動データ収集・加工作業:1社あたり30分と仮定 • 作業回数:年間20回と仮定
9. 想定している企業と職種 某地銀グループ 金融DX企業 職種:データレイクエンジニア 職種:データエンジニア 業務内容 業務内容 • データ基盤の設計・構築・運用 • データ基盤の設計・構築・運用 • 部門連携によるデータ連携の要件定義 • 生成AI導入における顧客支援 • データパイプラインの構築と最適化 • SaaSデータ分析サービスのデータパイプライン設計・構 築・運用 本プロジェクトで実践した APIからのデータ取得、データベー ス設計、 ETL処理の経験は、データレイク構築業務に直結 します。 Pythonを中心とした データパイプライン設計・構築を経験し ている点が業務と直結 しています。
10. まとめ:今回実践できたこと (1)実務を想定した学習姿勢とスキルセット (2)ビジネス課題を理解する力 データパイプライン構築を実現し、戦力となる技術力を習得しました。 単なる技術習得にとどまらず、コスト削減効果の試算や業務効率化の視点 Pythonによるデータ処理、データベース設計、可視化ツールの活用など、 を持ち、技術をビジネス価値に変換する思考力を身につけています。 データエンジニアに求められる幅広いスキルセットを保有しています。 (3)自走力 (4)品質と拡張性への意識 公式ドキュメント、技術コミュニティ、生成AIなど多様なリソースを活用し、課 テスト実装、Docker環境構築、Gitによるバージョン管理など、保守性と拡 題を自力で発見・解決する力を実証しました。失敗から学び、粘り強く取 張性を考慮した開発を実践。実務でのチーム開発を想定した開発を行っ り組む姿勢は、実務での成長にも直結します。 ておりました。 今後の展望 データベースやクラウドインフラ技術や、IaC・CI/CDのような自動化技術も学ぶ予定です。 そして、データエンジニアとしてデータ利活用のための環境整備を技術でサポートしていきたいと考えています。