[항해99] 1주차 회고

suhjaesuk·2022년 11월 19일
11

항해99

목록 보기
4/4
post-thumbnail

❓이번주 뭐 했냐

월요일 아침 9시 발제를 통해서 미션이 공개됬다. 매니저님은 사람좋은 웃음을 하시면서 말하셨다. 요약하자면 ‘4일간 팀 프로젝트를 만드셔야해요. 발제가 끝나면 바로 시작해주세요’ 이다.

📌팀장이 되다

발제가 끝나고 공지를 확인해보니 내가 팀장인걸 확인한 순간 갑자기 생각해야할게 넘쳐흘러 멍해졌다. 바로 팀을 만나러가야하는데, 10분간 생각정리와 자료정리를 하고 가상공간을 통해 팀을 만나러 갔다. ‘늦어서 죄송합니다. 죄송한데 제가 공지를 아직 못읽어서 20분 뒤에 이야기 나눠도 될까요?.’ 나는 아직 팀장으로서 팀을 만날 준비가 안되있었다. 회의가 매끄럽게 진행될 수 있도록 자료정리를 이어서하던 도중 팀원이 시간이 지났다고 알려주었고 복잡한 머리와 정리되지 않은 내용을 바탕으로 회의를 진행하였다.

‘자 저희가 뭘해야하냐면요…’

📌기획 회의

도전과제로 당일 오후 6시까지 S.A를 작성해야했다. 회의를 통해 채워야할 내용은 다음과 같았다. ‘프로젝트 제목과 소개, 와이어 프레임, API 목록, git hub 주소’

먼저 무엇을 개발할지 브레인스토밍을 진행하여 아이디어를 도출했다. 다양한 주제가 나왔고, 그 중 ‘일기’라는 주제가 선정되었다. 주제를 정하자 나머지 항목은 쉽게 작성하였다. 추가적으로 팀원분께서 디자인 컨셉과 DB스키마를 짜주셔서 기획 컨셉이 명확하게 되었다. 가장 고민이 됬던것은 제목이였다. 간단한 웹 서비스에 간단한 제목을 정하고싶었고, 오랜 고민끝에 제목을 ‘어떤일기’ 로 결정하고 S.A를 제출하였다.


📒어떤일기

  • 오늘은 어떤 일이 있었나요? 여러분의 감정을 공유해주세요.
    - 간단하게 일상을 기록해보세요.
    - 200자 내외의 부담 없는 길이.
    - 심플한 디자인으로 내 글이 예뻐보이는 효과.
    - 다른 사람들과 소통하고 좋아요를 눌러보세요.

👨‍👨‍👧‍👦분담

S.A를 제출 후 분담은 페이지별로 하자 정하였고 팀원 중 한분께서는 말씀하셨다. '메인페이지는 제가 하고싶습니다. 맡겨주세요.' 메인페이지는 뷰가 많고, 모든 페이지와 연결되있어서 할게 많았다. 그 팀원분에게는 이미 ‘어떤일기’가 자신의 사이트였고, 맡은 역할 외 많은 것들을 신경쓰셨다. 이 팀원을 사자라고 칭하겠다. 나는 사자님에게 감격을 받고 ‘저는 로그인/회원가입을 해보고 싶습니다.’ 라 말하였다. 로그인/회원가입을 안해봐서 욕심이 났고, 필요한 기능만 개발한다면 빨리 끝낸 뒤에 사자님을 도와줄 수 있을 것 같았고 팀원분들께선 동의해주셨다. 사자님의 멋진 발언을 이후로 나머지 팀원은 순탄하게 분담할것을 정할 수 있었다.

📌 페이지 목록 (분담 목록)

  • 로그인/ 회원가입
  • 메인 컨텐츠 페이지
  • 컨텐츠 작성페이지
  • 컨텐츠 상세보기 페이지
  • 컨텐츠 수정 페이지

지금 와서 하는말이지만 내가 사자님을 도와줄 수 있는건 없었다. 내가 미숙한 템플릿 언어, 라이브러리, JS를 능숙하게 쓰시는데 괜한 방해가 될까 개발에만 집중할 수 있도록 개발외의 것들을 최대한 신경썼다. 이럴때마다 무능함의 무게가 나를 덮친다.


👨‍👨‍👧‍👦좋은 팀문화

개발을 접하면 ‘좋은 팀문화’, ‘팀으로 성장하기’등 협업에 관해 많이 강조한다. 이는 나의 신념과 일치하는 부분이 있다. 나는 같이 성장하는 환경, 신뢰있는 환경 두가지를 중요시 여긴다. 성장과 신뢰가 없는 공간은 죽은 공간과 같다고 본다. 이 두가지를 만드려면 어떻게 환경설정을 해야할지 고민이 많았다. 많은 글과 영상을 보고 도출해낸 결과는 ‘수 많은 소통과 규칙’ 이였다. 아래는 좋은 팀문화를 만들기 위한 노력한것 들이다.

  • 데일리 스크럼
  • 확실하게 소통하기
  • 잡담하기

📌데일리 스크럼

매일 오전 9시, 오후 4시 데일리 스크럼을 진행하였다. 오전에는 어제 무엇을 했고 오늘 무엇을 할건지 간단하게 나누었고, 오후에는 현재 진행사항과 의논사항을 공유하였다.

📌확실하게 소통하기

인류가 발전한 이유는 미래를 대비하는 능력 덕분이다. (걱정과 불안은 과하면 건강에 나쁜 영향을 미치지만, 적당하면 성장에 도움을 주는 마치 계륵같은 존재다.) 이를 개발에서는 ‘혹시 모를 오류를 미리 방지하는 능력.’ 이라고 대입하고 싶다. 모든 문제는 사람이 혼자있을땐 일어나지 않는다. 집단이 이루어질때 문제가 생긴다. 우리 팀원은 초보 개발자 4명이 모인 집단이였다. 협업 경험이 매우 적었고 그래서 확실하게 소통을 했어야 했고, 아래는 우리팀이 4일간 수없이 말한 내용들이다.

-지금 제가 이해하고 있는게 맞을까요?
-화면 공유, 코드 공유 부탁드립니다!
-지금 무엇을 하고 계시는지 알 수 있을까요?
-지금 이렇게 생각중인데 어떻게 생각하시나요?
-감사합니다! 확인했습니다! 덕분에 해결됬어요!
-지금 진행상황입니다. 현재 어디까지 했고 …

  • 소통 예시

📌잡담하기

  • ‘잡담이 경쟁력이다’

솔직히 내향적인 내가 남들에게 먼저 말 꺼내기는 쉽지 않았다. 하지만 나에겐 책임이 있었고, 움직였다. ‘나는 이러한 사람이다.’ 라는 말로 시작하엿고, 나를 드러내어 팀원과 친해져 신뢰를 쌓았다. 사람을 처음 만날땐 두려움이 있다. 그 두려움을 친근함으로 만드는데 수없이 많은 노력이 필요한데, 가장 쉬운 방법은 자기소개인것 같다. 내가 자극을 주니 팀원들은 서서히 반응을 보였다. 이후 많은것을 공유하여 현재 어려운점, 부탁, 칭찬등을 스스럼 없이 나누었다.

  • 잡담 예시


👨‍👨‍👧‍👦좋은 동료들

  • if(최고의 복지==동료) print('YES!') //출력값 : YES!

‘최고의 복지는 좋은 동료다’라는 말이 있다. 회사에서 쓰이는 말이지만, 내가 이번 프로젝트 기간에 확실히 느낀점이다. 모두 책임감 있게 맡은일만 하는것을 넘어 각자 상호보완적 관계가 되었다. 이 프로젝트를 자기의 것이라 생각해준 팀원분들께 이 글을 통해 다시한번 감사의 인사를 드리고 싶다. 동료자랑은 이미 남들에게 실컷해서 입이 아프니 한 사건을 말하는걸 이후로 이 글에서 만큼은 안하도록 하겠다.

나는 개인적으로 해야할 일과 팀장으로써 해야할 일이 있었다. 프로젝트 제출 날에 수많은 일들을 신경써야했고 분담할것들을 정해줘야 했었는데, 각각 시간이 얼마나 들고 어떻게 분담을 해야할지 갈피가 안잡혔다. 멍해져있는 나를 보고 팀원이 ‘저는 이걸하면 될까요?’ 라고 먼저 말해주었고. ‘부족해서 죄송하다. 내가 해야할 일인데 부탁드린다.’ 라고 답변드렸다. 이후 팀원이 한 말이 기억에 남는다. ‘팀원을 믿으세요 팀장님.’ 그 말을 들은 이후 혼자 책임질 문제가 아니라 판단되어 속도감있게 팀원들에게 책임을 나누었다. 의견을 묻지않고 ‘OO님 이거 부탁드려요.’ 라 말하였지만, 팀원분들은 아무말 없이 따라주셨다.

✅멘토링

  • ‘선배 개발자에게 지식 전수받기’

RPG 게임 캐릭터가 지식을 전수받는건 클릭한번으로 되는 쉬운일인데, 현실은 그렇지가 않다. 의식적으로 질문해야하고, 내가 경험하고 어려운 점이여야 납득이 간다. 질문을 먹고(질문하기), 소화하고(이해하기), 싸는 과정(피드백)까지 필요하다. 팀원과 궁금한 사항을 정리한뒤 질문 폭탄을 준비했다. 많은 질문을 가이드 없이 드리면 예의가 아닌것 같아 질문을 미리 메신저를 통해 알려드렸다. 이후 예정대로 멘토링이 진행되고 모든 질문사항에 대해 명확한 답변을 주셨고 피드백을 적극적으로 하였다.

🔚데드라인

  • '선택과 집중!'

해당 프로젝트는 4일이라는 기간이 정해져있는 프로젝트였다. 따라서 기획단계에서 ‘개발 스코프를 어디까지 잡아야할까?’ 도 중요한 안건이였다. 내가 맡은 페이지는 2일차에 완성되었지만, 문제가 생길것 같은 부분을 의식적으로 생각했다. 데드라인이 지나 완성이 안된 서비스를 내놓는것은 유저를 무시하는 행위라 생각한다.
마지막날 계획은 당일 오전에 서비스 배포 후 과제 제출, 발표를 준비 하려고 했다. 하지만 코드를 합치는 과정에서 오류와 EC2 배포 시 터진 오류를 고치느라 시간이 지체되었고 모든 오류를 디버깅 후 오후 늦게배포가 가능하였다. 이후 오후 7시쯤 프로젝트 발표를 마치고 4일간의 프로젝트가 끝났다.

버그가 터지거나 서비스가 정상작동 하지 않으면 개인의 잘못이아니라 팀원 전체의 잘못이라 생각한다. 분명 조금만 노력하면 신경쓸 수 있던 문제였을거다.

🤯어려웠던 점

📌GIT FLOW 전략 사용하기

  • 'checkout 하시겠어요?’ → 충돌 / push 하시겠어요?’ → 충돌'

우리 팀원은 Git Flow 전략 사용여부에 있어 멘토님께 질문을 드렸는데 사용하면 무조건 도움이된다라는 피드백을 받고 전략을 경험해본 팀원 한명을 주축으로 전략을 사용하기로 결정 하였다. 단순 push & pull을 하는것과 비교하여 Git Flow의 난이도는 꽤 높은수준이였는데, 새로운 기능 브랜치를 생성하고 checkout 할때마다 충돌이 났으며, push 할때도 충돌이 났다. 충돌을 해결하는데 매일 2시간씩 소요했던 결과 이제 전략의 흐름을 파악할 수 있게 되었다.

📌로컬에서 개발 후 파일 통합하기

  • '무수한 KeyErrorValueError 의 향연!'

미리 변수명을 정해놓지 앟고 하드코딩으로 개발을 한 결과 merge 시킬 때 마다 값을 읽어오지 못하는 에러를 수 없이 겪었다. (디버깅을 하는데 오랜 시간이 걸렸다..) 혼자 개발할 경우 로컬에서 돌아간다해도 협업 시 예상 치 못한 에러가 발생한다. 기획 단계의 소중함을 알았다! 팀원과 소통하여 미리 정해놓고 개발을 하자!

그 외 어려운 점은 로그인 시 JWT 적용, JS, 템플릿 언어 등 많지만, 협업에 관련한 문제가 가장 어려웠다. 가장 간단한데, 그래서 지키기 어려운것들.


🤔마치며

아쉬움이 많이 남는 프로젝트였다. 그만큼 신경을 많이썼고, 애착이 많이 남았다는 말이다. 처음 해본 프로젝트로 남들과 소통하는 것을 위주로 신경을 가장 많이 썼다. 자랑으로 글을 마쳐야겠다.

profile
wanna be BE-Developer

4개의 댓글

comment-user-thumbnail
7일 전

캬... 재석님의 한 주를 제가 경험한 느낌이네요. 고생많으셨어요.
여러모로 정말 많이 배워가요!! 앞으로도 잘부탁드립니다 ㅎㅎ

1개의 답글
comment-user-thumbnail
5일 전

와 엄청 자세하게 작성해주셨네요
퀄리티 높은 회고록이라 놀랐어요!

답글 달기
comment-user-thumbnail
37분 전

I’m also having this exact issue.

답글 달기