HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🧚
[1기]최종 프로젝트 데브코스
/
🐳
[팀11] 모디
/
스펜서 공지 11.23
스펜서 공지 11.23
스펜서 공지 11.23

스펜서 공지 11.23

1️⃣ 팀 프로젝트 어려운 점은 무엇이 있나요? 모아주세요!
오늘 백엔드+프론트 데브코스가 모여 프로젝트 의논하는 걸 보고 둘러보며 몇 가지 관찰되었습니다.
  • (백둥이 기준) 배운 것처럼 자기소개, 개발 룰, 기능 명세, 스펙 등을 잘 정리하며 진행되는 팀도 있고,
  • 서로 교착상태(DeadLock)이 되면서 진행에 어려움을 느끼는 팀들도 보입니다. 예시를 들면
    • FE : 백엔드가 어떻게 구성되어있는지 모르니 어떻게 요청드려야할 지 모르겠다.
    • BE : 프론트 파트에서 기능명세서를 주셔야 우리가 도와드릴 수 있을 것 같다.
이런 상황을 보고 (실제로 회사에서 같이 협업하시는) 우리의 백엔드 규현 멘토님과 프론트 지은 멘토님과 'FE+BE 플젝 첫 시작을 어떻게 풀면 좋을지?' 에 대해 가볍게 제시해주는 얘기를 나눠보기로 했습니다. 일정 상 특강을 잡긴 힘들 것 같아 녹화하여 전달드리겠습니다.
해서, 백둥이 프롱이가 프로젝트 시작에 어려움을 겪고있는 부분을 Slido에 모아주세요.
[질문-규현&지은 멘토에게 물어봐!]

 
2️⃣ 아래엔 백엔드의 플랜비 리더와 함께하였던 내용을 떠올려보며, 팀프로젝트 초기에 신경써야 할 부분을 나름대로 간추려 보았습니다. 적다보니 길어졌는데 그래도 한 번 읽어보고 생각해보면, 백둥이 프롱이 여러분의 인사이트가 성장할 것 같습니다
 
팀결성
  1. 인사합시다!
      • 교육 과정 전엔 뭘했었는지. 내가 쓴 글 TMI는 뭐가 있는지. 서로 Github, SNS 구경하기 등
  1. 팀원 간의 마인드를 파악하기
      • 프로필은 알기 쉽지만, 마인드는 알기 어려워요.
      • 내가 가장 재밌게 읽었던 글이나 comment 공유하기
      • 예시 : 나는 어떻게 더 나은 프로그래머가 되었는가 - 번아웃을 한 번 겪고 나서, 압박과 부담을 떨쳐내고 싶다는 생각을 했어요!
  1. 팀장이 있기로 결정했다면 생각해볼 수 있는 팀장 기준(예시) 과 앞으로 팀장(PO)가 해야할 일 생각해보기
      • 의견 충돌이 있을 때 누가 가장 중재를 잘 해줄까?
      • 기술적으로 뛰어난 편인가?
      • 어떤 기술에 특히 편향적이지 않고 이성적으로 생각하는가?
      • 이 프로젝트에 진심인가?
      • 말주변이 있는지 (어디 가서 프로젝트 소개도 하고, 발표를 하게 될 수도 있으니)
      • 팀장 일을 하느라 코딩을 덜 하게 되어도 괜찮을까
 
프로젝트 이해하기
  1. 프로젝트의 이름(한국어명, 영문명)
  1. 프로젝트에 대해 정의하기
      • 5문장/3문장/1문장으로 정의해보기
      • 비슷한 서비스는 무엇이 있었고, 무엇을 배울 점이 있었고, 우리는 어떤 차별 점을 가져갈지
      • 어떤 기능이 핵심 기능인지, 어떤 사람들이 사용할지
      • 기능마다 화면은 어떻게 생겼을지 스케치 해보고, 동료들과 비교하기
  1. 프로젝트 더 깊게 상상하기
      • 사용자의 어떤 action에 API call이 일어날지 -> 그 API spec은 어떻게 만들어져야할 지
      • DB 테이블은 어떻게 디자인되면 좋을지
      • 대략 코드가 어떻게 설계되면 좋을 지 스케치 -> 버그가 생길 수 있는 포인트 추측해보기
      • 파생되는 기능은 무엇이 있을 지
  1. 피드백 해보기
      • 구현이 어렵거나 오래걸릴 기능에 대해 어떻게 대처할 지
      • Linear하게 늘어나는 데이터는 어떻게 표현할지, 페이지에서의 response size와 DB에서 limit는 어떻게 할지
      • 검증 작업(validation)이 필요한 부분은 어디가 있을지
        • 악의적 사용 막기, 데이터 일관성 확보(01012345678, 010-1234-5678)
        • 실제 사례 : 2020 수능 성적 미리 확인
  1. 보안상 위험한 UX는 없을까? + reat limiting
      • 로그인 시도 회수 제한, '비밀번호가 틀렸습니다'일 경우 id는 맞다는 게 확인됨 등
      • 이메일 인증 방식, 소셜 계정 연동, 보안 코드(reCaptcha)
      • 어떤 행동을 재시도하는데 필요한 타임 정책(SMS 인증 등) -> 불필요한 지출과 로드 제거

 
프로젝트 준비 과정
  1. Github 세팅
      • repository 생성
  1. 작업 방식에 대한 의사결정
      • 작업 관리에 대해서 어떻게 할건지. JIRA, Github Project+Issues, Notion, Trello, Asana
      • 작업관리에 보편적이고 팀이 익숙한/원하는 기능이 있는지
      • 작업별 assign, due, 우선순위 관리, 칸반 보드 등
      • branch protection, forking workflow 중 어떤 방식으로 할 것인지.
      • PR, Merge. 코드리뷰는 어떻게 진행할 건지
  1. 기술적인 의사결정
  • API 디자인은 REST(대체로 정답), GraphQL 로 할 건지
  • API 에서 사용할 데이터 직렬화 포맷은 XML, YAML, JSON(대체로 정답) 에서 무엇을 할지
    • ArrayList, Map 등은 JAVA만 알아들을 수 있음. 다른 런타임에서도 알아들을 수 있는 형태로 약속해야함
  • 기술 스택은 어떤지
    • 완성후 이 프로젝트 어떤 기술스택이에요? 란 질문을 역으로 거슬러보면 쉬울수도...
    • 팀에 익숙한지, 익숙하지 않다면 러닝커브를 감당할 수 있는지, 같은 과제를 해결하는 데에 지금도 일반적으로 사용되는 기술인지..(=구시대 기술은 아닌지)
    • 인프라는 어떤 것을 할지(데브코스는 AWS 중 EC2 인스턴스만 지원 예정)
    • DB는 RDB? NoSQL?
    •