職務経歴書
プロフィール
- 氏名:矢沢直輝(YAZAWA NAOKI)
- 生年月日:1999 年 09 月 16 日
- 居住地:東京都新宿区
- 最終学歴:東京農工大学工学部生体医用システム工学科
技術スキルサマリー
- 言語: Java, Go, TypeScript, Ruby
- フレームワーク: Quarkus, Ruby on Rails, Next.js
- クラウド: AWS(ECS, Aurora, SQS, Step Functions, Lambda など), GCP(Cloud Run, Firestore, Eventarc, PubSub など)
- インフラ: Terraform, AWS CDK, Docker, Kubernetes
- 認証・認可: OIDC/OAuth2, JWT
- 監視・分析: Datadog, BigQuery, Amazon Athena
- CI/CD: GitHub Actions, CircleCI
職務経歴
ニンテンドーシステムズ株式会社(2023/7〜現在)
https://www.nintendo-systems.com/
職種
サーバーサイドエンジニア(株式会社ディー・エヌ・エーから外部出向)
環境
- 10 人程度のチームによるアジャイル開発
- ニンテンドーアカウント の開発・運用
- 任天堂およびディー・エヌ・エーの関連チームとのコミュニケーション
使用技術
- Java, Go, Perl, TypeScript
- OIDC/OAuth2, Microservices, OpenAPI, Terraform, GitHub Actions, Docker
- AWS(ECS Fargate, Aurora, Elasticache, SQS, Step Functions, AWS CDK)
- GCP(GAE, CloudRun, Firestore, PubSub, Eventarc, Logging, Monitoring)
- Akamai, Datadog
プロジェクト ①:ニンテンドースイッチ向けプッシュ通知システム刷新プロジェクト
背景と課題
- 既存のプッシュ通知システムが特定の古い技術に依存しており、長期的なメンテナンスが困難な状況だった
- 複数の独立したクラスタに分割されたアーキテクチャにより、機能拡張に制限があった
- ユーザーステータス(オンライン状況やプレイ中ゲーム情報)の管理をアカウント管理システムから新プッシュ通知システムへ移行する必要があった
役割と取り組み
- アカウント管理システムと新プッシュ通知システム間の「ユーザーステータス同期機能」の設計・実装を担当
- イベント駆動型アーキテクチャを採用し、GCP の Eventarc と Cloud Run を活用したスケーラブルな同期システムを設計
- k6 を用いた負荷テスト環境を構築し、ボトルネックを特定・解消
- Subscription の分散化によるスケーラビリティの向上
- 監視ダッシュボードとアラート設定の構築
成果
- ユーザーステータス情報が両システム間で許容レイテンシ内に同期され、ユーザー体験を損なわない更新速度を実現
- ピーク時の 1 秒あたり数千件のステータス更新にも対応できるスケーラビリティを確保
- アカウント管理システムからの直接的なプッシュ通知送信が不要になり、システム間通信量の削減とコスト削減を実現
- Eventarc とイベント駆動型アーキテクチャの知見を社内に蓄積し、勉強会を通じてチーム内に共有
プロジェクト ②:日本市場専用ゲーム機の認証システム開発
背景と課題
- 日本国内向けに特化した新型ゲーム機の開発プロジェクトの一環として、「日本国内のユーザーアカウントのみ連携可能」とする認証システムの実装が必要
- 複数の認証ポイントで一貫して地域制限を機能させる必要があった
- 既にログイン済みのアカウントが後から国・地域設定を変更した場合にも対応する必要があった
役割と取り組み
- 認証システムの技術リードとして、設計と実装を主導
- OpenID Connect の Claims Parameter 機能を拡張して国・地域要件を追加
- 認可リクエスト時とトークンリクエスト時の二段階での制限実装による冗長性確保
成果
- 日本国内のユーザーアカウントのみが連携できる認証システムを予定通り実装
- 二段階の検証アプローチにより、セキュリティと冗長性を確保した堅牢なシステムを構築
- 既存コードの徹底分析を通じて開発効率を向上させ、スケジュール通りの開発完了
- 技術チームと UX/デザインチームの密接な連携により、技術制約とユーザー体験のバランスが取れた製品を開発
プロジェクト ③:分析バッチ処理の改善
背景と課題
- 既存のデータ分析バッチシステムでは、複数種類のデータ分析を一つのバッチ処理で連続実行する設計だった
- 処理の過程でいずれかのリソースの分析が失敗すると、後続のすべての分析処理が中断される問題があった
- 実際にシステム遅延が発生し、データ分析の遅延が分析チームに影響を与えていた
役割と取り組み
- 複数のアーキテクチャパターンを比較検討し、パラメータ制御型単一ワークフロー方式を採用
- イベントトリガー(CloudWatch Events)の設定を変更し、リソースごとに個別のイベントを作成
- ワークフロー管理サービス(Step Functions)の定義を修正し、リソース名をパラメータとして処理
- バッチ起動スクリプトの修正とコントローラーの処理変更による個別リソース処理の実装
- リソースごとに適切なエラー処理とリトライ機構を実装
成果
- 各データリソースの処理を完全に独立させ、一つのリソース処理が失敗しても他のリソース処理は中断されない設計を実現
- システム全体の安定性が向上し、以前発生していた処理遅延問題を解消
- 新しいリソースタイプの追加が容易になり、システムの拡張性が向上
- 運用担当者の緊急対応負荷が軽減され、問題発生時のデバッグ効率が向上
副業経歴
裏方ハック株式会社(2023/09〜2025/01)
https://www.facebook.com/urakata.hack/?locale=ja_JP
職種
バックエンドエンジニア・フロントエンドエンジニア
環境
- 受託会社/自社開発会社(エンジニア 5 人程度の小規模チーム)
- 複数の受託案件/自社サービスの仕様作成・開発
使用技術
- Ruby on Rails, Next.js(AppRouter), OpenAPI
- AWS(Amplify, Cognito, S3 等)
- GitHub Actions, Docker
業務内容と成果
-
仕様作成
- 複数の受託案件/自社サービスでデータベース設計、エンドポイント設計を担当
- OpenAPI スキーマの作成により、フロントエンド/バックエンド間の型安全な開発を実現
-
実装
- OpenAPI スキーマに基づくバックエンド実装(Ruby on Rails)
- スキーマから型を生成したフロントエンド実装(Next.js)
フィシルコム株式会社(2022/03〜2024/12)
https://www.ficilcom.jp/
職種
バックエンドエンジニア・インフラエンジニア
環境
- 4 人目のエンジニアとして参画し、マーケティング SaaS「NeX-Ray」の立ち上げに携わる
使用技術
- Go, SQLBoiler, gRPC
- PostGraphile, GraphQL Mesh
- AWS(ECS Fargate, Aurora Serverless v2, Amplify)
- CDK for Terraform
- GitHub Actions, Docker
- Datadog
業務内容と成果
-
技術選定
- マルチテナント SaaS の構築に最適な技術スタックを選定
- Go と gRPC を採用し、マイクロサービスアーキテクチャの基盤を構築
-
アプリケーション開発
- Web 広告の API を叩きレポートを作成する API を開発
- 多様な広告プラットフォームに対応するための抽象化レイヤーを設計
- 単体テスト・結合テストの整備により、コード品質を確保
-
インフラの整備
- CDK for Terraform によるインフラのコード化を実現
- GitHub Actions による完全自動化された CI/CD 環境を構築
- Datadog の導入によりパフォーマンス監視とアラート体制を確立
自己 PR
論理的な問題分析と最適解導出能力
複雑なシステム開発においても、課題を論理的に分析し最適な解決策を見出すことを得意としています。目的と背景を徹底的に理解した上で要件を整理し、短期的な実装の容易さだけでなく長期的な運用のしやすさも考慮した設計を心がけています。また、開発過程で発生するボトルネックを特定・解消し、スケーラビリティと安定性に優れたシステム構築に注力しています。こうしたアプローチにより、ユーザー体験を損なわずに技術的な課題を効率的に解決できると考えています。
チーム志向の問題解決アプローチ
技術的な課題に直面した際は、独力で解決しようと固執せず、チームの知識を最大限に活用することを重視しています。類似実装の調査や、専門知識を持つメンバーへの積極的な相談を通じて、効率的かつ効果的な解決策を模索しています。同時に、自分自身の考えも明確に持ち、それをチームに共有することで建設的な議論を促進しています。また、得た知見は勉強会などを通じてチーム内で共有し、組織全体の成長にも貢献できるよう心がけています。
アウトプット
https://zenn.dev/farstep