ポートフォリオ
| Repository | https://portfolio.ys-method.com/print_page/ |
目次
自己紹介
宇都宮在住のバックエンドエンジニアです。2018年よりPythonを軸に、要件整理から実装・運用まで一気通貫で担当しています。
近年は5人規模の研究開発案件で、連合学習・デジタルツイン・データ分析基盤を横断しながら、技術検証の推進と開発リードを担ってきました。Python(FastAPI/Flask)に加え、AWS・Kubernetes・Ansibleを使った実装経験があります。
データパイプライン・ストリーミング処理・運用設計を強みとしており、今後はストリームやイベントと生成AIを連携したより高度なイベントプロセシングに関心があります。
職務経歴
連合学習・デジタルツイン研究開発
- 期間: 2025年2月 ~ 2026年3月
- フェーズ: 要件定義~運用
- チーム規模: 5人
5名体制の開発チームにて、設計・実装・検証を担当。 複数社連携によるプライバシー保護・分散型学習研究開発案件において、参画各社が保有するデータや技術を連携させ、連合学習の社会実装に向けた研究開発の基盤プラットフォームを整備。
基盤プラットフォームにおいて、動的なアプリケーションサーバー作成や起動状態変更を行うコンテナベースのサーバーレス実行基盤を1人で設計・開発。 サーバリソースの制限不足などの問題を、柔軟にスケールさせることで効率的にサーバリソースを活用できようにした。
連合学習の実験において、50台規模の環境構築を Ansible 化した。 再現性や手間がボトルネックとなっていたため、再現性の担保と構築コストを削減。 反復速度と運用安定性を高め、構築・実験タスクを定量的に評価でき、継続的な改善が可能な土台を整備した。
プッシュ形式のストリーム処理において、HTTP/MQTT/TCP(Sokect接続)といった異なるプロトコルを単なる TCP に変換、あるいは、それぞれのプロトコルに変換するアダプタ層・TCPプロキシを開発。 プロトコル間でストリーム処理の分断が起きていたが、シームレスに接続できるよう貢献した。
デジタルツインのストリーム処理研究開発において、Fiware や AWS Lamdba を活用し、異なるデジタルツイン空間の結合処理・スキーママッチングを実装した。
- Python(FastAPI/Flask)
- 強化学習(オフロード)
- AWS(EC2/Lambda)
- Ansible(50台規模の環境構築)
- MQTT(Mosquitto)
- Fiware
- TCPプロキシ開発
連合学習・データ分析基盤の研究開発
- 期間: 2021年12月 ~ 2024年6月
- フェーズ: 要件定義~運用
- チーム規模: 5人
5名体制の開発チームにて、連合学習(複数組織がデータを共有せず分散して機械学習を行う仕組み)の研究開発プラットフォームを設計・実装。プライバシー保護と研究の再現性を両立するため、モデル管理・連合学習フレームワーク・バッチ実行など MLOPS 基盤の整備を担当した。
機械学習モデルのアーティファクトとメタデータを一元管理するモデルレジストリ相当機能を自社実装。実験ごとにモデルが乱立し、誰がどのデータでどの結果を出したかを追跡できないという課題があったため、モデルのバージョニング・実験トレーサビリティ・メタデータ検索を実現。PostgreSQL をメタデータストアとして使い分け、研究者が過去の実験結果を確実に再現・比較できる土台を整えた。
連合学習フレームワークを設計・実装。研究段階の参加クライアント10台前後で構成される分散学習環境において、研究者がアルゴリズム本体に集中できるよう、クライアント登録・モデル配布・集約処理・障害ハンドリングといった共通基盤を抽象化。アルゴリズム研究の反復速度向上に貢献した。
バッチ実行基盤を整備。研究者が手作業で実験ジョブを実行していたため、再現性・運用負荷・履歴管理が課題となっていた。コンテナ化したジョブを定義・実行できる仕組みを構築し、実行方法の統一化・再現性確保に貢献した。
MLOPS 基盤構築を Ansible で自動化。構築の作業コストを削減した。
- Python(FastAPI/Flask)
- GitLab CI/CD(パイプラインによる実験ジョブの宣言的定義)
- Kubernetes(コンテナベースの分散実行基盤)
- Ansible(環境構築の自動化)
- PostgreSQL
- 連合学習(分散学習・プライバシー保護)
- MLOps(モデルレジストリ自社実装)
コレクション処理フレームワークの開発
- 期間: 2021年7月 ~ 2021年9月
- フェーズ: 設計~テスト
- チーム規模: 1人
ETLなどデータの前処理に活用できるPython用のコレクション処理フレームワーク(参考サイト)を開発した。 非同期なイテレーションにも対しても活用でき、プロトタイピング開発に活用可能。
- Python
- pytest
- GitHub Actions
データ収集基盤の構築
- 期間: 2019年3月 ~ 2020年6月
- フェーズ: 要件定義~運用
- チーム規模: 1人
1名体制の少人数チームにて、要件定義から運用までを主導的に推進。コンサルティングファーム様のリサーチ業務を支えるデータ収集基盤を、設計・実装・顧客折衝まで一貫して担当した。データベース・デジタルフォレンジック・OSINT といった多様なドメインのデータソースを統合し、調査担当者がデータを横断的に検索・分析できる基盤を構築した。
Django をベースに API と管理画面を開発し、Elasticsearch によって異種データに対する全文検索を実現。それまで個別ファイルやスプレッドシートに散在していた調査データを一元化し、調査担当者の検索コスト削減と分析業務の効率化に貢献した。また、異体字などの表記ゆれをデータ整備やクエリチューニングなどで高品質の検索を実現した。
数十サイト以上を対象としたスクレイピング・ETL を Selenium / Beautiful Soup / SQL を組み合わせて実装。ETL ジョブ実行基盤を整備し、成功・失敗を追跡できるようにした。
AWS(EC2 / RDS)上にインフラを構築。PostgreSQL を RDS に、Django アプリケーションと ETL ジョブを EC2 に配置し、マネージドサービスを活用することで運用負荷の少ないクラウド構成を実現した。
- AWS(EC2 / RDS)
- Python(Django)
- PostgreSQL(RDS)
- Elasticsearch(全文検索)
- ETL / スクレイピング(Selenium / Beautiful Soup / SQL)
- 業務ドメイン: OSINT・デジタルフォレンジック・デューデリジェンス
代理店手数料試算ツールの実装
- 期間: 2018年10月 ~ 2019年2月
- フェーズ: 実装~テスト
- チーム規模: 5人
保険代理店様向けの代理店手数料の支払見込み算出ツールを改修した。
- VBA(Excelのマトリクスに数年間の支払見込みを表示する機能を実装)
- SQL(SQLServer)
- C# ASP.net
予算管理システム(Tagetik)の導入
- 期間: 2018年6月 ~ 2018年9月
- フェーズ: 要件定義~テスト
- チーム規模: 3人
生命保険会社様へ予算管理(オンライン分析)システムの導入を行った。
- Tagetik構築
- SQLServer構築
- JBOSS
- Excel 分析画面実装(オンライン分析用Excelプラグイン)
- 予算実績の取り込み(ETL・SQL)
業績管理システム(Oracle Essbase)のバージョンアップ影響調査
- 期間: 2018年2月 ~ 2018年5月
- フェーズ: 影響調査
- チーム規模: 2人
証券取引所様向けにOracle Essbaseのバージョンアップによる影響を調査した。
- Oracle Essbase Smart View(オンライン分析用Excelプラグイン)
サーバパラメータ管理ツールの開発
- 期間: 2016年6月 ~ 2017年7月
- フェーズ: 要件定義~運用
- チーム規模: 6人
金融会社様の大規模システムリプレースに伴う、サーバ構築に必要なパラメータを管理する支援ツールを開発した。
- VBA
- SQL(MySQL)
e-Learningシステムのテスト支援
- 期間: 2016年4月 ~ 2016年5月
- フェーズ: テスト
- チーム規模: 10人
e-Learningシステムのテスト支援を行った。
- PHP(Phalcon)
- SQL(PostgreSQL)
複合機のテスト支援
- 期間: 2016年1月 ~ 2016年3月
- フェーズ: テスト
- チーム規模: 15人
複合機製造メーカー様のテスト支援(組み込みOS上のREST API・実機テスト)を行った。
- C言語
- NetBSD
保険料試算ツールの開発
- 期間: 2014年2月 ~ 2015年6月
- フェーズ: 要件定義~保守
- チーム規模: 3人
保険会社様の保険料試算ツールを開発・保守した。
- VBA
- Excel Diffツール開発
CRM(顧客管理システム)の開発
- 期間: 2006年1月 ~ 2009年6月
- フェーズ: 開発~保守
- チーム規模: 15人
ERPパッケージのカスタマーサポート業務に従事しながら、お客様に導入されているERPパッケージのバージョンを管理するツールを開発した。
- VBA
- SQL
最終学歴
- 帝京平成大学 中退
- 江戸川高等学校 卒業
技術スタック
得意領域はPythonを中心としたバックエンドです。アーキテクチャと技術選定を行い、保守性の高い開発プロジェクトを構成できます。
開発マシン
| Windows(WSL) | PC貸与の場合は Windows PC でお願いしております | |
| Mac | ほぼ触ったことがありません | |
| linux |
自然言語
| 日本語 | ||
| 英語 | ドキュメント等は翻訳して読んでいます |
レイヤー
| バックエンド | ||
| フロントエンド | ||
| インフラ | ||
| ネットワーク | TCPプロキシー開発経験あり | |
| 機械学習 | ||
| データ分析 | ||
| 自然言語処理 | ||
| 組み込み |
プログラム言語
| Python | ||
| VBA | VBAは得意ですが、VBA中心の案件はお断りしています | |
| C# | ||
| SQL | ||
| JavaScript | ||
| HTML | ||
| CSS | ||
| shell | ||
| Java | ||
| TypeScript | ||
| Go | ||
| SCCS | ||
| PHP | ||
| C | ||
| lua |
フレームワーク
| FastAPI | ||
| Flask | ||
| Django | ||
| Vue.js | Nuxt.js Vuetify 業務経験なし | |
| React | ||
| ASP.NET(MVC5) | ||
| Xamarin(Android) | 業務経験なし | |
| Unity | 業務経験なし |
PaaS
| AWS | ||
| Azure | ||
| GCP |
ミドルウェア
| PostgreSQL | ||
| SQLServer | ||
| MySQL | ||
| Oracle |
| Docker | ||
| Kubernetes | microk8s | |
| ElasticSearch | ||
| MQTT | Mosquitto | |
| Fiware | デジタルツイン研究開発で使用 |
| Prefect | ||
| Airflow | ||
| AlgoWorkflow |
| Ansible | ||
| Terraform |
機械学習・AI
| 強化学習 | ロードバランシングへの応用(業務経験あり) |
CI/CD
| gitlab CI/CD | ||
| GitHub Actions | ||
| CircleCI |