본문 바로가기

개발자

코드스테이츠 프리 프로젝트 후기

[프리 프로젝트 끝! 이제 딱 한달 남았다]

약 2주간의 프리 프로젝트가 마무리되었습니다. 마지막으로 한 달 동안 메인 프로젝트와 데모데이를 진행하면 코드스테이츠 프론트엔드 부트캠프를 완주하게 됩니다. 프로그래밍 비전공자의 입장에서 프로젝트를 하기 전까지 사실 다른 개발자, 그리고 특히 백엔드 개발자와 협업을 할 기회가 없었는데, 프리 프로젝트를 함으로써 깃허브를 통한 협업을 경험해볼 수 있었던 뜻깊은 시간이었습니다. 2주만에 어떻게 프로젝트를 하나 완주할 수 있는거지? 라는 의문이 들 수 있는데요, 프리 프로젝트는 직접 서비스를 기획해서 만들지 않고 스택오버플로우 사이트 클론코딩을 진행했기 때문에 그나마 2주 안에 협업을 체험해볼 수 있었습니다.

 

[프리 프로젝트 과제]

코드스테이츠 부트캠프의 프로젝트 후기가 적어서 저도 열심히 이전 기수 분들의 글을 찾아봤었는데, 예전에는 프리 프로젝트의 경우에도 클론코딩이 아닌 실제 프로젝트를 만드는 것이었던 것으로 추측됩니다. 하지만 처음 협업을 해보는 사람들이 모이면 처음에는 합을 맞추는 과정이 굉장히 삐걱거릴 수밖에 없고, 사실 한달이라는 시간도 프로젝트를 바닥부터 만들어가기에는 짧은 시간이다 보니 프리 프로젝트는 주제를 통일한 것 같습니다. 페이지를 분석만 하면 되다 보니 기획에 들어가는 시간이 확실히 줄어들어서 코딩을 하는 시간을 보장받을 수 있어서 프리 프로젝트의 주제가 클론코딩으로 바뀐 점은 매우 긍정적이라고 생각합니다. 저희 조의 경우에는 조원들이 전부 1인분을 했음에도 불구하고 프로젝트 막바지에는 야근, 주말 코딩을 했었고 마지막에 결국 백퍼센트 완성하지 못한 채로 제출했습니다. 혹시 제 이후 기수 분들이 이 글을 읽으신다면 실제로 코드를 짤 수 있는 시간은 1주일 남짓이라는 점을 꼭 기억하고 프로젝트를 진행하시길 바랍니다.

 

저희 조의 경우에는 스택오버플로우의 핵심 기능인 질문 및 답변 남기기 기능을 기준으로 메인 페이지, 질문 상세 페이지, 마이페이지, 로그인 정도의 기능만 구현했습니다. 기본적으로 이전 교육 섹션에서 CRUD가 가능한 To-Do 앱을 만들었는데 이를 조금 확장하여 응용한 버전이라고 생각하시면 이해가 쉬울 것입니다. 듣기에는 쉬워 보이지만 서버와의 통신이 들어가는 순간 난이도가 엄청나게 높아졌다는 문제가 생겼습니다.

 

[서버와의 전쟁, CORS와의 전쟁]

기본적으로 프론트는 백엔드에 대한 지식, 백엔드는 프론트엔드에 대한 지식이 많지 않은 상황에서 협업을 시작하다 보니 프론트와 백이 합쳐졌을 때 오류가 왕왕 발생했습니다. 분명 Postman으로 API 테스트를 했을 때는 문제 없이 진행되던 것들이 브라우저에서 요청을 보내면 CORS에러나 500으로 막히기 일쑤였고, 서버를 AWS를 통해서 배포한 뒤에 정말 한줌의 잘 되던 것들이 모두 안되는 상황을 겪었습니다. 다행히 저희 조의 경우 백엔드 팀원들이 모두 전공자였고 프론트에도 백엔드를 어느정도 아는 팀원이 있었기 때문에 적절히 넘어갈 수 있었습니다. 하지만 정말 비전공자들로 구성된 조의 경우에는 이런 이슈들 때문에 배포를 하지 못할 수도 있을 것이라 생각합니다. 프리 프로젝트부터는 교육 세션이 없어서 도움을 구할 수 있는 사람이 없기 때문에 본격적으로 구글의 바다에서 수영해야 한다는 것을 염두에 두시길 바랍니다.

 

[프리 프로젝트의 결과물은?]

저희 조의 경우에는 기존에 기획했던 목표치 대비 80~90%정도를 달성했다고 생각합니다. 마지막까지 발견되지 않은 사소한 버그들을 제외하고는 인증, 글 불러오기, 글쓰기와 같은 핵심 기능들을 겉보기엔 멀쩡하게 만들어냈습니다. 저는 여기서 질문 리스트 페이지, 글쓰기 페이지를 담당했습니다. 시간이 짧다 보니 새로운 것을 배우기보다는 기존의 코딩 습관이 이어지고, 심지어 시간에 쫒기기 시작하면서는 커밋 컨벤션을 지키지 못하면서 오히려 퇴화한 부분도 있었던 게 아쉽습니다. 다만 해커톤처럼 짧은 시간 안에 프론트엔드 개발자로서 협업을 했던 경험과 어쨌든 작동하는 코드를 만들어냈다는 점은 과거에 비해 발전한 부분이라고 평가할 수 있습니다.

 

[메인 프로젝트 시작]

이제부터 4주 간의 메인 프로젝트가 시작됩니다. 메인 프로젝트는 프론트 3명, 백엔드 3명으로 구성된다는 점은 프리 프로젝트와 동일하지만 ZEP이라는 플랫폼에서 각자의 아이디어를 홍보하고 팀을 구성한다는 점이 달라졌습니다. 팀을 구성하는 방식은 자유이기 때문에 이전에 스터디를 같이 하던 사람이 있으면 스터디원들끼리 팀을 꾸리는 경우도 있고, 만났던 페어 중 마음에 드는 사람과 팀을 구성하는 경우도 있었습니다. 다만 저를 포함해서 대부분의 경우에는 ZEP에 말 그대로 던져진 채로 팀원을 구해야 할 것입니다. 시간 내로 팀에 들어가지 못하거나 팀을 완벽히 꾸리지 못하는 경우 랜덤으로 배정되기 때문에 아이디어가 있다면 열심히 피칭을 해서 팀원을 빠르게 구하고, 아이디어가 없다면 머뭇거리지 말고 팀에 빠르게 들어가는 것이 중요하다고 생각합니다. 메인 프로젝트도 기획을 제외하고는 2~3주 정도의 시간밖에 없기 때문에 기획이 한번이라도 엎어지면 결과물을 보장할 수 없기 때문입니다.

그럼 저는 4주 뒤에 메인 프로젝트 후기로 찾아뵙도록 하겠습니다.