PROJECT/협업 회고

💡API도 몰랐던 내가, 팀의 개발 문화를 고민하게 되기까지

MinCodeHub 2025. 10. 20. 13:47

🧩 첫 프로젝트 – React로 진행한 스터디 올인원 프로젝트

개발을 처음 시작했을 때, REST API의 개념조차 제대로 이해하지 못한 상태였습니다.
github도 처음 다뤄보는 상황이었기에, API 명세서를 봐도 무슨 말인지 몰랐고,
백엔드 팀원에게 물어봐도 “명세서 보면 된다”는 답변만 들었습니다.
(아마 그분도 프론트 연동 방식을 모르셔서 그랬던 것 같습니다.)
그 결과, 프론트엔드와의 연동 과정에서 큰 어려움을 겪었고,
이때 “전체 구조를 이해해야 제대로 개발할 수 있다”는 깨달음으로 백엔드를 공부하기 시작했습니다.
 
그래도 해당 프로젝트로 교내 SW 대회에서 우수상을 수상하며 첫 성취를 거둘 수 있었습니다.
비록 연동에 어려움이 있었지만, 스스로 한계를 인식하고 개선 방향을 찾았다는 점에서
저에게는 '개발자로서의 출발점이자 전환점’이 된 의미 있는 경험이었습니다.


🧠 해커톤에서 얻은 교훈들

타 학교와 협업 했던 해커톤에서 많은 교훈을 얻었습니다.

1️⃣ 여기톤 (첫 해커톤 – 백엔드 참여)

7월 초, 프로젝트 준비 중

  • Django로 개발했습니다.
  • 연동을 위해서 프론트 코드를 깃허브에 올려달라고 요청을 여러번 했습니다.
  • 해커톤 이틀 전인 7월 4일에 프론트의 모든 코드가 올라왔고 그때부터 axios로 연동을 시작했는데, 하루 전날 mtv로 변경해야 함을 알게 되어 전면 수정하게 됐습니다.
  • 연동은 촉박했고, 프론트엔드 팀이 완성된 코드를 한 번에 올려서 중간 점검이 어려웠습니다.
  • 결국 시간에 쫓기며 개발을 진행했고, 일정 관리의 중요성을 절실히 느꼈습니다.

2️⃣ 간지톤 (두 번째 해커톤)

연동을 하는 동안 많은 고난이있었습니다.

  • 프론트엔드 코드가 일관되지 않아 구조를 파악하는 데만 많은 시간이 소요되었습니다.
  • 연동 중 UI가 무너지고, 수정할수록 다른 화면이 깨지는 악순환이 반복됐습니다.
  • 결정적으로 채팅 연동 중 MessageId가 누락되는 오류가 발생했는데,
  • 원인은 백엔드 엔티티에 남아있던 불필요한 chatRoomId 필드였습니다.
  • -> 해커톤 당일까지 연동을 했었고, 마음이 급해서 원인을 빠르게 알아내기 힘들었습니다. 

두 번의 해커톤을 겪으며 “코드의 일관성과 명확한 계획의 중요성”을 깊게 깨달았습니다.
당시 동아리 수료식에서 동아리원들이 저를 “풀스택 개발자상”으로 뽑아주기도 했는데,
연동 이슈를 끝까지 해결하려고 고군분투했던 모습이 인상 깊었다고 합니다. (웃프지만 감사한 순간이었습니다.)


🚀 MSA 프로젝트로의 도전 – msa-server

이전의 실패를 되풀이하지 않기 위해, 이번 프로젝트에서는 처음부터 일관성과 계획을 핵심으로 삼았습니다.

  • 코드 일관성을 위해
    • 프론트엔드는 Atomic 디자인 패턴을 도입
    • 백엔드는 네이밍 컨벤션, 브랜치 전략, PR/이슈 템플릿을 직접 만들어 팀에 공유
  • 애자일 방식으로 전환하여
    • 유저 스토리 기반 월간 보고서 작성 -> 진행률 점검
    • 기능별 간트차트로 일정 관리 및 실측 개발 시간 추적
    • 데일리 스크럼을 통해 매일 팀원들과 작업 상황과 이슈 공유
  • 새로운 기술(gRPC)과 Atomic 패턴 등은 팀 스터디 세션을 열어 함께 학습하고 실무에 적용

덕분에 일정 관리뿐 아니라 팀 간 커뮤니케이션 속도와 집중도도 눈에 띄게 향상되었습니다.
또한 이전 해커톤 프로젝트보다 훨씬 높은 완성도와 협업 효율을 경험할 수 있었습니다.
단순히 기능 구현을 넘어서, '팀 단위의 개발 문화와 프로세스 개선’이라는 새로운 관점을 얻게 된 계기였습니다.