## プロジェクト概要
**AIによる光学解析ツールを活用した図面管理ツール**の機能改修および新規機能開発に携わりました(2024年6月〜9月、2025年4月〜現在)。このプロジェクトでは、主にバックエンドとフロントエンドの開発、そしてコードレビューを担当しました。
### プロジェクト詳細
- **プロジェクト概要**: AI光学解析ツールを用いた図面管理ツールの機能改修・新規機能開発
- **チーム構成**: 5名
- **担当工程**: 要件定義、基本設計、詳細設計、実装、単体テスト、結合テスト、保守運用
- **使用技術と開発環境等**:
- **言語**: `Python`, `TypeScript`, `Go`
- **フレームワーク**: `React`
- **データベース**: `MySQL`
- **インフラ**: `AWS`
## 取り組んだ課題と解決策
このプロジェクトでは、特に**チームコミュニケーションの課題解消**と、それに伴う**開発の負債削減**に注力しました。
### 1. チームコミュニケーションの齟齬解消と開発の負債削減
#### 課題
チーム内のコミュニケーション不足や認識の齟齬が原因で、開発プロセスにおける非効率性や、将来的な負債につながるような実装が発生していました。
**なぜ問題だと考えたか**: コミュニケーション不足は、個々人の解釈に依存した開発を進めてしまい、結果的に手戻りや潜在的なバグ、あるいは意図しない仕様変更を引き起こす大きなリスクとなると認識していました。これは、長期的に見てシステムの保守性を損ない、開発コストを増大させると考えました。
#### 解決策
私は、積極的にチームメンバー間のコミュニケーションを促進し、認識の統一を図るための働きかけを行いました。
**この方法を選んだ理由**: コードレビューは、単なるバグチェックだけでなく、設計意図やビジネスロジックに関する相互理解を深める絶好の機会だと考えたからです。
**具体的な取り組み**:
- レビューを通じてコード品質だけでなく、設計意図やビジネスロジックの理解度を確認
- 必要に応じて議論を促進
- 各メンバーの担当範囲や実装方針に対する共通認識を深化
**結果**: 手戻りの発生を抑制し、軽微なものではありますが開発の負債を未然に防ぐことに貢献しました。
### 2. PMとの連携強化による開発課題の早期解決
#### 課題
開発現場で発生する技術的・運用上の課題が、プロジェクトマネージャー(PM)が業務に忙殺されていることで十分に共有されず、解決が遅れることがありました。
**なぜ問題だと考えたか**: 開発現場で発生する課題は、時としてプロジェクト全体の進行に大きな影響を及ぼす可能性があります。PMがその状況をタイムリーに把握できていないと、適切な意思決定やリソース配分が遅れ、プロジェクトの遅延や手戻りにつながると考えました。開発とビジネスサイドのギャップを埋めることが重要だと認識していました。
#### 解決策
開発チームが抱える具体的な問題をPMに積極的に伝え、密なコミュニケーションを図りました。
**この方法を選んだ理由**: 開発サイドから具体的な情報を提供することで、PMが多忙な中でも迅速に状況を把握し、的確な判断を下せるようサポートすることが、プロジェクト全体の利益になると考えたからです。
**具体的な取り組み**:
- 技術的な制約や実装上の難しさを明確に共有
- 潜在的なリスクの早期報告
- PMが意思決定を行う上で必要な情報を迅速に提供
**結果**:
- 開発チームとPM間の連携が強化
- 課題が早期に認識され、適切なリソース配分やスケジュール調整を実現
- プロジェクト全体の円滑な進行に貢献
## 出したバリューとできること
上記の経験を通じて、私は以下の価値を提供し、貢献できます。
### 1. フルスタック開発能力
バックエンド(`Python`, `Go`)とフロントエンド(`TypeScript`, `React`)の両方を担当し、AI光学解析ツールを用いた図面管理ツールの機能開発・改修に貢献しました。
### 2. 多言語・多技術環境への適応力
`Python`, `TypeScript`, `Go`といった複数の言語や、`React`, `MySQL`, `AWS`などの多様な技術スタックを用いた開発経験を積み、新しい技術環境にも迅速に適応できます。
### 3. プロジェクト推進におけるコミュニケーション能力
チーム内の認識齟齬を解消し、PMとの密な連携を通じて開発課題を早期に解決する能力は、プロジェクトを成功に導く上で不可欠な強みとなります。
### 4. 品質意識とレビューによる改善提案
コードレビューを通じて品質向上に貢献し、潜在的な問題を早期に発見・解決するだけでなく、開発の負債を未然に防ぐ視点を持っています。