医療ヘルスケア領域の Web メディアを 0→1 で立ち上げ
案件概要
医療ヘルスケア領域で、ダイレクトリクルーティングが可能な Web メディアを 0→1 で開発。求職者の応募と企業からのスカウトをカバーするマッチング型サービスで、デザイナー・マーケッター・エンジニア・セールスが自社内に在籍する内製チームで進めた。
初期リリース前から参画し、バックエンドリーダーとしてゼロから設計・実装、その後インフラ・SRE を兼任して開発から運用までを横断して支えた。結果として求職者と企業のマッチングを成立させ、サービスの収益化までつなげた。
業務内容
- リーダー業務(2021/11 〜 2022/06 はバックエンドリーダー、以降インフラ・SRE を兼任)
- ライブラリ・言語などの技術選定
- 観点別比較表・プロトタイプを用いた、20 名規模チームの意思決定プロセスの設計・運用
- DDD(ドメイン駆動設計)を採用したアーキテクチャ設計
- GraphQL を使ったエンドポイント設計
- NestJS でのアプリケーション実装
- Jest による単体テスト実装
- マイグレーション環境構築・運用手順整備
- バックエンド(NestJS)が動作する AWS 環境の設計・構築(ECS Fargate / ECR / EC2 / ALB / RDS / S3 / CloudFront / ElastiCache)
- AWS ECS によるバッチ実行環境構築
- ローカル開発環境構築
- フロントエンド(Next.js)が動作する Vercel 環境構築
- SendGrid を使ったメール送信環境構築
- ログイン機能のための Firebase 構築
- 組織改編・サービス統合に伴うドメイン移行
- マイクロサービス(AWS Step Functions)の技術調査
- GitHub Actions を使ったフロントエンド・バックエンドの自動テスト環境構築
- GitHub Actions を使った ECS への自動デプロイ構築
- Datadog と AWS を統合した監視・通知設定
- AWS CDK(TypeScript)による IaC 対応、テスト基盤構築・テスト実装
- Docker のビルド時間改善・CI/CD の速度改善
- コストアラート作成・コスト管理
- 業務委託の商談・タスク分割・メンバーサポート
- 社内テックカンファレンスの運営
成果
- 20 名規模のチームで合意形成しながら、開発者体験の良いモダンな開発基盤を確立
- リリースから 1 年で主要機能をひと通り実装し、求職者と企業のマッチングによる収益化を開始
- エラー検知すらできていなかった状態から、顧客の問い合わせ前にエンジニア側で気づき、1 日以内に改修・リリースできる体制へ改善(1 週間エラーが出ない日も生まれた)
使用技術
- アーキテクチャ: DDD(ドメイン駆動設計)
- フロントエンド: Next.js / TypeScript
- バックエンド: NestJS / TypeScript / GraphQL(Apollo Client / Apollo Server)/ Jest
- データベース: Aurora(PostgreSQL)/ ElastiCache(Redis)
- クラウド: AWS(ECS Fargate / ECR / EC2 / ALB / RDS / S3 / CloudFront / ElastiCache)/ Vercel
- 外部サービス: Firebase / SendGrid
- IaC: AWS CDK(TypeScript)/ Terraform
- 監視: Datadog
- CI / CD: GitHub Actions / CodeBuild