## プロジェクト概要
救急医療のDXを目指し、傷病者情報のリアルタイム連携による搬送時間短縮と医療機関マッチング最適化を実現したweb・スマホアプリ開発プロジェクト。
## 役割・体制
### 自身のポジションと役割
- フロントエンドエンジニアとして、TypeScriptとReactを用いた医療機関webシステムのフロントエンド設計・コーディング・テスト・運用保守を担当。
- エンジニアリングマネージャー(EM)として、複数チーム横断の調整、組織課題の明確化と解決に注力し、チームの構造化と役割明確化を推進。
- テスト戦略の策定と運用ルールの整備により、品質向上とデグレ防止をリード。
### チーム規模と構成
- アプリチーム3名、アプリバックエンド&webシステムチーム3名、FileMakerアプリ開発チーム3名、医療機関システムチーム3名、OCRエンジニア1名、OAシステムチーム1名からなる複数チームのEMを担当。
- 合計約14名規模の技術チームで、医療・自治体システムの多様なニーズに対応する体制を構築した。
## 背景・課題
- 搬送時間短縮と傷病者と医療機関の最適マッチングを目的に、救急隊がiPad端末からリアルタイムに傷病者情報を医療機関webシステムへ連携する必要があった。
- 自治体ごとに異なる運用方法やニーズに対応しつつ、無理なく維持可能な設計に落とし込むことが大きな技術的・運用上の課題となった。
- ウォーターフォール開発の中で要件定義から運用保守まで一貫した品質基準の維持が求められた。
## 実際の取り組み
### 開発環境
- TypeScript、React、Redux、React Hooksを用い、Tailwind CSSでのスタイリングにより保守性と拡張性の高いフロントエンドを構築。
- Node.js環境におけるGraphQLを活用したAPI連携設計、Dockerによる開発環境のコンテナ化、AWSを利用したインフラ運用を実施。
- GitHubを活用したバージョン管理とCI/CD環境を整備し、Playwrightを用いたテスト設計・実行による自動化テストを推進。
- Figmaを用いたデザイン管理およびチーム内の情報共有を円滑に行った。
### 設計・改善内容
- フロントエンド設計においてFSD(Feature-Sliced Design)を採用し、機能単位での秩序ある設計と運用ルールを策定してコードベースの一貫性を確保。
- テスト戦略を明確化し、地域ごとのカスタマイズに伴うデグレードを未然に防止する体制を構築。
- リファクタリングを継続的に実施し、技術的負債の解消と将来の拡張性を強化。
- EMとして、ミーティングの棚卸しを行い不要な会議を削減し、効率的なコミュニケーションを図った。
- ドキュメント記載ルールを整備し、プロジェクト全体の情報共有とナレッジマネジメントを促進。
- チームの役割と責任を明確化する構造化を推進し、組織力の強化に寄与。
### その他アピールポイント
- ウォーターフォール開発の制約下でありながら、継続的な品質改善と運用効率化を両立させた点が特徴。
- 複数チーム間の調整と技術的なリーダーシップにより、医療現場のリアルタイムデータ連携の信頼性向上に貢献。
## 成果・価値
- ドキュメントの拡充とテスト整備により地域ごとのカスタマイズに伴うデグレードを解消し、システムの安定稼働を実現。
- リファクタリングによる技術的負債の解消で保守性を向上させ、将来的な機能拡張に対応可能な基盤を構築。
- ミーティングの棚卸しとドキュメント管理ルールの整備により、業務効率とチームコミュニケーションが大幅に改善。
- チーム構造化により役割分担が明確化され、メンバーの生産性向上と組織力強化に寄与。