2주간의 First Project 가 마무리되었다. 마무리가 되면서 우리가 원하던 전신의 모습은 아니었지만 노력을 한 덕택에 배포를 하여 도메인을 이용해 우리가 구현한 페이지를 볼 수 있었다.
고작 2주 동안의 프로젝트에서 내가 어떤 것을 얻어 갈 수 있을까? 하는 생각을 처음에 했었지만 첫 프로젝트를 하면서 생각이 많이 달라졌다.
시작부터 삐걱거린 Git
팀 프로젝트 인트로를 시작으로 이를 길잡이 삼아 아이디어를 정하고 프로젝트 룰을 정하고 팀원 별 스택 역할 설정, 시스템 아키텍처를 꽤 많은 시간을 투자하여 좋은 추천 툴들을 사용해서 만들고 이제는 다 됐다 시작하면 되는 건가? 하는 생각을 가지면서 개발을 시작한 나였지만...
생각지도 못한 것에서 부터 헤매고 또 헤매었다.
예전의 스프린트 동안 간단히 git에서 clone, add, commit, push 등 계속해줘 왔었던 부분과는 달리 브랜치 측면에서 브랜치를 어떻게 생성하고 어떻게 마무리해주어야 하는지? 이를 잘못했을 시 생기는 상황들... 그리고 수많은 conflict들... 그래서 프로젝트 시작하고 며칠 동안 Git 브랜치 때문에 정말 힘들어서 많이 알아보고 진행해서 이제는 어느덧 잘 알고 있다고 생각했는데 그게 아닌 모양이었다. 내가 아직 아는 부분은 빙산의 일각이라는 느낌... 솔직히 지금 회고를 적고 있는 현재 시점에서도 Git 브랜치 측면을 모두를 이해하지 못하고 있는 것 같아 내가 뭐한 건가 자괴감이 들기도 한다. (Fact!.. 아직도 갈 길을 잃은 나의 브랜치들이 많이 존재한다...)
전형적인 레포토리... Step 1. git commit -> Step2. git push -> Step 3. # Merge conflict! -> Step 4. DIE!...
이제 곧 시작하게 되는 Final Project에서 이런 부분을 확실히 잡아 나가야겠고 그 전에도 많은 공부가 필요할 것 같다.
본질적인 문제인 나의 실력 + 시간문제
다른 여타 새로운 부분은 천천히라도 따라 하고 규칙을 정해 이대로 진행하면 될 일이었지만 프로젝트를 진행하면서 제일 본질적인 문제는 나의 실력 부족이었다고 생각한다. 우리 팀은 인원이 다른 팀과는 달리 한 명 적은 구조였기에 한 명 한 명의 몫이 상대적으로 큰 상황이었고 거기에다 2주라는 시간이 정해져 있기에 우리가 실제 생각했던 구현의 모습에서 많은 기능들이 (마음 아프게 ㅜㅜ) 잘라져 나갔다.
내가 맡게 된 파트가 프런트 엔드였기에 프론트 쪽의 전체적인 로직 그리고 뒤에서 이야기할 뷰 적인 측면에서 신경 써야 할 부분이 많았다. 내가 맡은 페이지의 로직을 원활하게 짜고 이를 구현했어야 하는데 그러질 못했다. 하려고는 하는데 이해를 하지 못한 부분들도 많이 존재했고 계속 구현에 실패를 하다 보니 자신감이 점점 하락했다.
우리가 어떠한 부분을 구현할 때 issue 카드를 작성하고 시작하는데 옆에 라벨로 시간을 붙여 놓는데 되뇌어보니 이를 지킨 적이 별로 없는 것 같다. 프로젝트가 끝난 다음에 느낀 점이지만 해당 구현 시간을 넘길 것 같거나 넘기게 되면 팀원들에게 물어보는 게 답이라는 것을 깨달은 것 같다. "묻는 것은 부끄러운 일이 아니다. 오히려 모르면서도 그냥 넘어가는 것이 진짜 부끄러운 일이다." 라는 말도 있지 않은가?
그리고 이렇게 여쭤보면 인원도 적고 시간도 촉박한데 답변해주시기에도 번거롭고 바쁘실 텐데 그때마다 친절히 알려주신 팀원 분들에게 너무나도 감사하다. 몰랐거나 부족하게 알고 있었던 부분들을 많이 알 수 있었던 부분이 정말 나에겐 큰 경험이나 기회라고 생각한다.
물론 Final Project에 들어서서도 이런 부분에 관련해서는 빠른 피드백을 통해 팀원들에게 알려주어야겠다고 생각했다.
그리고 그 전에 내가 이런 문제들을 커버하기 위해서 시간 투자 및 노력을 해야겠다.
폴더 및 파일 구성
이 부분이 정말 힘들었던 부분이다. react를 사용하였기에 어떻게 하면 react의 강점인 컴포넌트를 좀 더 효율적으로 쓸 수 있을까? 이런 고민을 하면서 나름대로 체계적으로 페이지마다 컴포넌트를 두어 구현을 시작했지만 페이지 전환이라는 이슈에 맞닥드리면서 완전히 다시 구성을 시작해야만 했다. 어떻게 페이지 전환을 할지를 구체적으로 생각을 하지 못했다고 하는 것이 솔직한 생각인 것 같다. 만약에 구성을 다시 하지 않았다면 내 생각엔 우린 결과물도 받아 볼 수 없을 것이다.
여기서 Live Share라는 기능을 VS 코드에서 사용하였는데 쉽게 말하면 원격 협업이며 내 VS 코드에 다른 사람이 와서 작업을 할 수 있는 것이다. 프런트 엔드에서 각자 맡은 페이지를 만드는데 걸린 2~3일보다 이를 도입한 하루 만에 더 큰 성과를 본 것 같다. 정말 효율적으로 프로젝트를 진행할 수 있었던 것 같고 Final Project에서도 여건이 된다면 쓰면 정말 좋은 것 같다.
마지막의 화룡점정(?) CSS
생각했었던 기능이 점차 줄어들면서 뷰(View)라도 정말 이쁘게 잘 꾸며 보자고 했던 내 모습이 아른거린다. 지금 생각하면 "책임지지 못할 말은 하지 말자!"라는 말이 제일 먼저 떠오른다.
CSS를 다루면서 엄청 예전에 프리코스 때 처음 만들었던 목업 트위틀러가 생각이 났다. 그때 CSS 부분을 열심히 공부해 놓을 걸... 하는 후회가 물밀듯이 쏟아지는데 유튜브에서 CSS 강의나 구글링 등 갖가지 방법을 이용하여 페이지를 구현해 나가는데 정말 힘들었던 것 같다. 처음에 레이아웃을 잡을 때 최고로 많은 시간을 들였던 것 같다. 어떻게 해야 할지를 몰라 어버버... 거렸는데 어찌어찌하다 보니 프로젝트 기간 동안 CSS 처음부터 공부 한 느낌이 들었다.
내가 만약에 Final Project 에도 프런트 엔드를 맡게 된다면 틈틈히 CSS 부분을 학습해야 겠고 더 나아가서 뿐만 아니라 확장된 프론트 엔드 스택을 쓸 수 있도록 노력하여야겠다.
감사한 사람들
2주 동안 프로젝트를 진행하면서 팀원들에게 너무나도 감사했다. 성격, 모습 등등 모든 것이 다른 사람 3명이 모여서 한 가지 일에 집중하여 결과물을 내는 것인데 의견 충돌이 있을 수도 있고, 갖가지 경우가 생길 수 있는데 서로 모두 배려하여 잘 진행할 수 있었던 것 같고 인원이 부족한 상황에도 차근차근히 맡은 부분을 진행해서 결과물이 나올 수 있었던 것 같아 너무 감사하다. 어쩌면 개발자 직군으로써는 처음 있었던 프로젝트였는데 팀원 두 분을 만난 것이 정말 복이 아닐까 생각한다. 기초적인 부분을 여쭤 볼 때도 귀찮아하지 않으시고 잘 알려주시고 프로젝트 막바지에 다다르면서 멘탈적으로 힘드실 수도 있는데 항상 배려해주신 정환 님 승익 님 감사하고 Final Project에 가셔서도 다른 팀원 분들을 만나시겠지만 원하시는 결과물 내실 수 있도록 기도하겠습니다.
이상 2주간 First Project 회고를 마치고자 한다.
'TIL' 카테고리의 다른 글
3/28[TIL] 행동에는 결과가 따른다(1) (0) | 2021.03.29 |
---|---|
3/16[TIL]Final Project 마지막 회고(4Weekly) (0) | 2021.03.16 |
2/13[TIL]Team Project (2Weekly) (0) | 2021.02.14 |
2/8[TIL]Team Project (2Weekly) (0) | 2021.02.09 |
2/6[TIL]Team Project (2Weekly) (0) | 2021.02.06 |