클라 팀에서는 API의 Request와 Response 타입을 프론트엔드와 백엔드 팀원이 각각 다르게 작성하고 있었습니다. 업무는 다음과 같은 방식으로 진행되었습니다:
이와 같은 방식으로 타입이 관리됬을 때, 다음과 같은 문제가 발생하였습니다:
이전 팀에서 Git Submodule을 사용해 공통 타입을 관리한 경험이 있었습니다. 이를 통해 프론트엔드 개발자와의 커뮤니케이션과 작업 효율성이 크게 향상된 것을 느꼈기 때문에, Git Submodule 도입을 추진하였습니다.

📚 게시글 작성 API 구현 예시 (이해를 돕기 위한 예시입니다.)
백엔드 개발자
서브모듈의 main 브랜치를 최신화하고 feature 브랜치를 생성합니다.
게시글 작성 기능 구현을 위해 필요한 타입 작업을 완료한 후, PR을 생성하고 코드 리뷰를 진행합니다.
해당 타입을 사용하여 기능을 구현합니다.
프론트엔드 개발자
백엔드 개발자가 요청한 코드 리뷰를 진행합니다.
타입 관련 PR이 머지된 후, 해당 타입을 사용하여 기능을 구현합니다.
모든 팀원이 동일한 타입 정의를 사용하므로, API의 Request와 Response 타입을 일관되게 관리할 수 있게 되었습니다.
타입 변경이나 추가가 필요한 경우 PR을 통해 명확하게 커뮤니케이션할 수 있게 되었고, 코드 리뷰 과정에서 타입 정의에 대한 피드백을 주고받을 수 있어 실수를 방지하고 코드 품질을 높일 수 있었습니다.