## 目的、背景
フリマアプリ開発
## 規模感、チーム構成、担当した役割
規模: 50名
チーム構成: 企画, デザイナー, webFE,アプリ, BFF BE, SRE
担当した役割: BFF
## 使用技術や開発環境等
使用技術: TypeScript, Nest.js, jest
開発環境: intellj
その他: TDD, ペアプログラミング, LeanXP
## 取り組んだ課題
1. FEライクなAPI設計
2. 積極的なコミュニケーション
3. 社員教育
## どんな課題だったのか
- 各コンポーネントによってアーキテクチャが異なり、FE(web, iOS, android)⇔BFF⇔BEでI/Fの認識齟齬が発生していた。チームとしても課題となっていたがwebFEの知見を活かしてFEライクなAPI設計を行い実装段階での手戻りをなくした。最終的にはプロジェクト全体としても問題として定義され全体で解決に動いた。
- レガシーシステムのAPIのマッシュアップをする追加機能案件があったが、オフショアで開発されており仕様書も乏しい状態で、開発が困難であった。そのため、企画に工数の調整を依頼して担当チームに新規APIの作成を依頼した。のちに他の追加機能案件でも利用されるAPIとなり保守性を担保できる結果になった。
- 大型の追加機能案件で画像認識機能をマッシュアップしたAPIの作成時、BFFの責務から大きく外れたビジネスロジックを持つことになってしまった。そこで、BFF,BEの責務の明確化を提案しBEへ責務を移管することが実現され、マイクロサービスにおける各コンポーネントの責務をプロジェクト全体で定義する結果を得ることができた。
- 参画後半にチームの人事異動が発生し、知見があるメンバーのほとんどが異動となり自身がチームの古参メンバーとなった。また、新入社員や中途社員を迎え入れることになりチームの生産性の低下が予測されていた。自身が教育に対してもポジティブであったため、積極的にアウトプットをして、チームのメンバーがやりやすい雰囲気づくりを目指した。ペアプログラミングを採用していたのもあり、キャリアが浅いメンバーのフォローも行いやすく、コミュニケーションを密に取りに行った。最終的には新入社員が半年で大型案件を担えるようとなり、撤退後にはチームメンバーから「一番ペアプログラミングがやりやすい」と言葉をもらった。