# 職歴概要
## プロジェクト概要(目的・人数・体制)
共通認証基盤の開発(OIDCに準拠したAPI開発、いわゆるIDaaS)。会員情報の管理にはSAP Customer Data Cloud (CDC)を活用し、認証基盤を構築しました。開発はウォーターフォール方式で進行。体制はPMと実装メンバー(1〜2人)で、サービスごとに約10個のAPIを実装。常に2〜3件のプロジェクトが並行して進んでいました。
## プロジェクトにおける自身の役割
- 実装メンバーとして参画
- 各APIの設計および開発
- API仕様書および設計書の作成
- 自動テストコードの実装(Python、Pytest)およびテスト実行
## 取り組んだ課題
1. 詳細設計が存在せず、リクエストパラメータ、レスポンスパラメータ、エラー内容などの基本設計のみが決まっている状態での開発でした。そのため、エラーハンドリングなどは自ら考え、実装を行う必要がありました。
2. プロジェクト方針として、単体テストはPytestを使用した自動テストで実施することが求められました。Pytestの経験がなかったため、新たに学習しながらテストコードを作成しました。
## 工夫
1. 疑問点や不適切・不要な仕様に対して即座に意見を出し、システムの品質向上に努めました。
2. ユーザーの操作を想定し、必要なエラー処理やログ出力を重視して実装を行いました。
3. SAP CDCのAPI呼び出しは、レスポンスタイムの向上を目指し、最小限に抑えるよう工夫しました。
4. 自動テストコードにおいて、会員登録やユーザー情報参照などの共通処理を他のテストでも再利用できるよう共通関数を作成し、効率的なテスト環境を整備しました。
## 結果
1. 詳細設計がない状態でも要件確認を密に行い、自ら内部処理を設計し開発に取り組みました。その結果、単体テストレベルでのバグはほぼ皆無となり、システムの品質向上に大きく貢献しました。
2. 自動テストの開発においては、独自に学習を進めた結果、テスト項目の5〜6割をカバーできるコードを作成しました。また、プログラム修正時の単体テスト工程を30分程度に短縮することができ、工数の削減と開発者の負担軽減に貢献しました。