## プロジェクト概要
広告反響データのクレンジングと社内CRM連携による基幹システムの運用保守を約2年間担当し、システムの集客用SMS柔軟性向上を実現しました。
## 役割・体制
### 自身のポジションと役割
- フロントエンド、バックエンド、インフラの各領域を担当し、主にJavaScript、PHP(Laravel)、jQueryを用いたコーディングとテスト、運用保守を一貫して実施しました。
- 要件定義フェーズ以降は他部署の部長レイヤーと連携し、SMS送信設定画面のUI要件を中心にヒアリング・要件決定を行い、最終的にチケット配分などのタスク管理も担当しました。
- 『技術力向上のために資格取得や自主学習を積極的に行い、レビュー体制の構築とレビュー会の定期開催を主導しました。』
### チーム規模と構成
- エンジニア3名の小規模チームで、うち2名は兼任体制のため、実質的にコーディングは自身が主体的に担当しました。
- 『チーム内での技術交流が不足していたため、技術共有の場を設け、知見の共有とスキルアップを促進しました。』
## 背景・課題
- 広告から得た反響データを各社内CRMシステムに連携するため、データクレンジングや反響の振り分けが必要な基幹システムの運用保守を担いました。
- 技術力不足と経験の浅さが課題であり、特にメンバー間での技術交流や情報共有がほとんどない状況がプロジェクト推進の阻害要因となっていました。
- 『運用に伴う繁忙期(年末年始や大型連休前)に作業負荷が集中し、リソースの効率的な配分が求められていました。』
## 実際の取り組み
### 開発環境
- AWSを基盤とし、Docker環境下でPHP(Laravel)とJavaScript、jQueryを活用したWebサービスの開発・運用を行いました。
- 『CI/CDの仕組みは限定的であったものの、手動によるテストとリリースフローを確立し、安定稼働に努めました。』
### 設計・改善内容
- 広告反響データのクレンジング処理を効率化し、反響内容に応じて適切な社内システムにデータを振り分けるロジックを設計・実装しました。
- 技術力向上を目的に、レビュー体制を整備し、レビュー会を定期的に開催してコード品質向上と技術共有を促進しました。
- 『要件定義の段階から関係部署と密に連携し、仕様の精緻化と運用負荷の軽減に努めました。』
- システムの柔軟性を高めるために、SMS配信の設定画面を改良しました。具体的には配信文言の直接編集、祝日指定、細かい時間帯指定を実装し、従来エンジニアが対応していた設定変更作業を現場担当者が自ら行えるようにしました。
### API統合とStep Functionsによるワークフロー制御
- プロジェクト後期に、LP側から個別に呼び出していた3つのAPI(顧客登録、集客重複チェック、メール送信)をAPI Gatewayの1エンドポイントに一本化しました。
- 3つの処理は最終的に一つの顧客IDで紐づく必要があるため、AWS Step Functionsを採用し、「重複チェック → 登録(ID発行) → メール送信」の処理順序を確実に保証しました。
- それまではLPからのPOSTリクエストを直接受け取る構成だったため、登録処理が失敗してもログが残らないケースがありました。Step Functionsでは各ステートの入力値・出力値が自動で記録されるため、処理ごとに詳細なログが残るようになり、障害時の原因特定が容易になりました。
- 各ステートにリトライ処理を実装し、一時的な障害に対する耐性を高めました。EC2停止などのシステム障害が発生した場合でも、問い合わせデータだけは確実に保全される仕組みを構築しています。
### セキュリティ強化
- セキュリティ要件強化のため、API GatewayにAWS WAFを導入しました。カスタムルールを定義して自システムの特性に合わせた不正リクエストのフィルタリングを実装し、システム保護を強化しました。
### その他アピールポイント
- 『メンター制度を活用し、技術的な課題解決や学習支援を徹底することでチーム内の技術力底上げに寄与しました。』
- AWS Certified Cloud Practitioner(CLF)、AWS Certified Solutions Architect - Associate(SAA)、JSTQB Foundation Levelを取得し、クラウドインフラおよびソフトウェアテストの知識を実務に活かしています。
## 成果・価値
- 集客用SMSの変更作業を現場で可能にし、年末年始や大型連休前にかかっていた約5人日の作業工数をゼロに削減しました。
- LP側の3API呼び出しを1エンドポイントに一本化し、Step Functionsによる処理順序の保証と処理ごとの自動ログ記録を実現したことで、LP側の実装シンプル化と障害時の追跡性向上を両立しました。
- AWS WAFの導入により、システムのセキュリティ要件を強化しました。
- 技術力不足という課題に対し、資格取得や自主学習、レビュー体制の確立によりチーム全体のスキルアップを実現しました。
- システムの安定運用により、広告反響データの正確な連携と振り分けを継続的に行い、業務効率とビジネス価値の向上に貢献しました。