항해 프로젝트 중 가장 긴 시간을 보냈던 실전프로젝트가 드디어 끝이 났다.
6주 중 1주일은 기획으로 4주는 코드작성 그리고 남은 1주는 배포 전 버그잡기!
항해에 들어오기 전 여러 후기 중 실전프로젝트 때 싸우고 나왔다는 후기를 많이 봤는데 그 과정 또한 좋은 개발자를 걸러내는 시간이지 않았나싶다.
기술적으로 배운 것도 많지만 개발자로써 가져야 할 필수 역량을 배우는 계기가 됐다. (협업없이 이루어지는 프로젝트는 없다! )
모르는 것은 물어보는 것에 어려움이 없는 사람. 알고 있는 것은 자신만의 방법으로 공유하는 사람. 존중하는 사람. 자만하지 않는 사람.
기술은 물론 갖춰야할 역량이 무지무지 많다!
프로젝트를 하면서 겪었던 다양한 트러블 슈팅이 있었다.
물론 webRTC 라이브러리인 오픈비듀와 관련된 트러블이 큰 부분을 차지했지만, 그 외의 로그인유지 및 무한렌더링 그리고 배포관련 등등 다양한 이슈가 있었다.
그 중 우린 마이페이지나 게시물 등록 중 필요한 컴포넌트가 많아 useState의 데이터를 props로 주고받는 과정에서 데이터가 초기화 되고 자식컴포넌트에서 부모컴포넌트의 데이터를 바꿔야 하는 경우가 발생했고 redux를 활용하여 전역으로 데이터를 관리할 수 있게 했다.
또한 성능 향상에 코드분할이 필요하다는 판단 아래 lazy loading와 clean up 작업을 활용해 로딩 시간을 단축시켜 유저의 이탈율 방지하는 작업을 진행했다. 더불어 페이지네이션을 도입함으로써 한번에 불러오는 데이터의 양을 감소시켜 성능 향상에 보탬이 되고자 했다.
함께 하고 싶은 개발자가 되고 싶다!
6주간의 프로젝트를 진행하면서 협업의 중요성을 깨닫는 경우가 많았는데 소통의 부재로 인해 같은 일을 두 번 진행한 경우도 있었고, 무조건적인 수용으로 선택과 집중에 있어서 선택만 하게 된 상황도 있었다.
나 또한 내 의견을 적절하게 주장하며 합의를 해야하는 과정이 필요한데 한 사람의 의견이 너무 강할 경우 조절하지 못한 이슈가 있었다고 생각한다.
하지만 그것 또한 조절하고 맞춰가야하는게 협업하는 개발자의 역량이지 않을까?
제한적인 시간 안에 할 수 있는 부분, 먼저 해야만 하는 부분을 정해 적절한 조절이 필요하다고 생각한다.
앞으로 사이드프로젝트를 진행하거나 취업하게 될 경우 이번 경험을 디딤돌 삼아 더 잘 할 수 있을거라는 확신과 근자감이 생긴다.. 하핫!!😝