마켓컬리 클론 프로젝트가 끝났다. 정말 즐거운 2주였고, 결과도 만족하는 프로젝트였다. 개발 기술적인 성장도 있었다. 하지만 나에게는 그것보다 개발팀의 팀워크를 경했다는 점이 더 좋았다. 이 글에서는 개인적인 개발 실력 향상은 제외하고 그 외적인 경험을 정리하고자 한다.
팀 프로젝트를 하며 팀워크에 중요한 두 가지가 '케미'와 '실력'이라고 느꼈다. 그럼 그 중에 무엇이 더 중요할까? 개개인마다 답이 다를 것이다. 그러나 나는 실과 바늘처럼 두 가지 모두 포기할 수 없는 기준이라고 생각한다.
물론 상황에 따라 중요한 기준이 달라질 수도 있다. 만약 제한 시간 내에 급하게 어떤 결과물을 낼 때는 실력이라는 잣대가 더 중요할 수도 있다. 하지만 오래 같이 팀으로 일해야 할 상황에는 실력보다 케미가 더 중요할 수도 있다. 그러나 두 가지 모두 중요한 기준이 된다는 것은 모두가 동의할 것이다.
조직문화를 일컫는 말로 '컬쳐 핏'이나 '케미' 라는 용어가 사용되고 있다. 팀 프로젝트 이전에도 물론 그 단어를 들어본 적이 있다. 하지만 이번 프로젝트로 그 단어의 뜻이 무엇인지 직접 느끼게 되었으며 팀워크에 팀 문화와 분위기가 얼마나 중요한지 알게 되었다.
프로젝트 시작전 걱정했던 부분이기도 하다. 팀 분위기가 좋지 않다면 개개인이 낼 수 있는 개발적인 아웃풋보다 더 적게 낼 수 밖에 없는 것은 당연하다. 이는 '개발에 대한 고민'에 쏟을 에너지를 '사람과의 관계'에 붓게 될 수 있기 때문이다. 즉, 케미가 맞지 않는 팀이라는 것은, 개인의 에너지를 본업에 온전히 몰두할 수 있는 것이 아닌 환경이 아니라는 뜻이다. 그러나 좋은 분위기는 팀에 대한 애정을 만들어 낼 뿐만 아니라 능률도 올라가는 것은 당연지사다. 그리고 마음에 드는 사람, 나와 티키타카가 잘 되는 사람과 일할 때 사람은 더 즐겁게 일할 것이다. 그런 것들이 쌓여 결국 더 좋은 결과물로 이어질 것이라 믿는다.
그런 의미에서 우리 팀원은 굉장히 합이 잘 맞는 팀이었다고 생각한다. 프로젝트가 시작되기 며칠전부터 개인 공부를 하더라도 일찍 나와서 서로에게 힘이 되어 주었다. 프로젝트를 시작하는 당일에도 팀내의 규칙을 만들어 노션으로 공유하였고, 업무 분담도(나는 프론트엔드 였으므로 프론트 엔드끼리) 나름대로 첫날에 잘 진행되었다. 스탠드업 미팅을 매일 아침 9시 30분에 진행 하였고, 그 시간에는 진지하게 개발 관련 소통이 잘 이루어졌다.
점심은 상황에 맞게 해결하고 저녁은 가능한 한 같이 먹기로 했다. 아침부터 밤 늦게까지 함께하면서 모두가 힘들었지만 서로 농담도 던지며 활기찬 분위기를 유지했다. 장난도 서로 잘 받아쳐주고 모두의 노력으로 재미있는 환경에서 개발할 수 있게 되었다. 사실 이 점이 중요하다고 본다. 나는 개발 자체는 좋아했었고, 심지어 그 개발하는 환경조차 즐겁고 재미있었던 것이다.
당연하게도 잘하는 분과 개발하는 것은 즐겁다. 잘하는 분과 일하는 것은 일의 과정이 수월하고 시원시원하게 해결되는 경우가 많다는 뜻이다. 뿐만 아니라 개발적으로 배울 점들이 매우 많다는 의미이기도 하다.
나는 특히 실력이 좋으신 PM님과 함께 일하면서 배운 것이 많아 팀 프로젝트가 정말 즐거웠다. 프론트엔드 입장에서 2주 프로젝트에서 원하는 API들을 백엔드가 뚝딱뚝딱 만들어 준다는 것으로도 굉장히 즐거운 일이다. 그러나 스탠드업 미팅과 개인적인 대화를 통해 백엔드와 프론트의 소통에 무엇이 필요한지를 배웠다는 점이 내게는 더 의미있었다. 백엔드에 대해서 깊게 알지 못하는 내가 백엔드인 PM님과 대화하며 대략적인 큰 그림을 머릿속에 그릴 수 있게 되었다. 학교에서 들었던 데이터베이스 MySQL 수업과 컴퓨터 네트워크 수업 내용은 이론이었고, 실제 프로젝트에서 어떻게 생각을 해야 하는지 그 틀을 잡을 수 있었다.
하지만 그 무엇보다도 프론트엔드 개발자가 왜 백엔드도 어느정도 공부해야하는지를 몸소 느낀 것이 더 나에게는 의미있었다. 필요성을 느끼고 공부하는 것과 필요해보여서 공부하는 것에는 의지와 동기에서 차이가 나기 마련이다.
프로젝트가 끝날 때쯤 들었던 생각. '이거 2주 프로젝트라면 한 3일은 기획해야 겠는데?'라는 생각이다. 3일이라는 절대적인 시간이 필요하다는 게 아니라 처음에 소통을 잘하고 계획을 잘한 상태로 프로젝트를 시작하는 것이 얼마나 중요한지 알게 된 것이다.
백엔드와 프론트엔드 사이에 우리팀은 매일 스탠드업 미팅을 알차게 한 덕분에 꽤 괜찮은 편이었다고 생각한다. 그러나 분명 문제는 계속해서 발생했고 발생했던 문제의 대부분은 부실한 소통 때문이었다. 프론트가 데이터베이스 모델링에 참가하지 않다보니 백엔드에서 주는 데이터와 프론트가 받는 데이터가 조금 다른 경우가 있었다. 물론 미팅에서 계속해서 서로 소통해서 맞추어 간 덕분에, 프론트에서 만든 목데이터와 백엔드에서 주는 데이터는 거의 유사했다. 그러나 물론 마법처럼 한번에 딱 들어맞지는 않았다.
각자의 진행상황을 나름대로 공유한다고 대화도 하고, 트렐로도 사용하고 스탠드업 미팅 때 정리해서 말하기도 했다. 하지만 2주라는 짧은 기간이었고, 각자가 자기 코드를 작성하기 바빠서 서로의 진행상황에 대해 정확히는 알지 못했던 점이 아쉽다. 실제 페이지를 보면서 어느정도 기능까지 구현했는지 파악했다면 더 좋았을 것이라는 아쉬움이 든다. 여유가 있었다면 서로 코드에 대해서 리뷰도 해주었다면 금상첨화였을 것이다. 모든 컴포넌트를 합쳤을 때 문제가 발생하기도 했고 그 문제는 사전에 소통을 더 깊게 했거나, 개발 도중 지속적으로 서로 리뷰하고 상황을 공유했다면 사전에 방지할 수 있는 문제들이었다.
짧은 프로젝트 기간이었던 만큼 소통의 중요성이 더 절실하게 느껴졌던 것 같다. 실제 프로젝트에 들어서는 이러한 소통이 얼마나 더 중요할지 예상되기도 했다.
이 글을 쓴 이유가 단순히 과거회상과 일기장이 아니기를 스스로에게 바란다. 좋았던 점과 아쉬웠던 점을 떠올리고 배운점들을 다시 되새기며 스스로 성장했으면 한다. 단기적으로는 당장 다가오는 2차 프로젝트에 1차 때 배운 것들을 잘 적용하고 싶다.
2차 팀 프로젝트로 React Native 프로젝트를 시작하게 되었다. 총 7명이던 1차 프로젝트와 달리 2차 프로젝트는 총 4명이다. 소수의 팀인 만큼 그 장점이 있을 것이라 생각한다.
나는 리엑트에 이제 막 자신감이 생겼는데, React Native를 시작하게 되었다. 그러나 나는 모바일 개발에 더 관심이 있었기에 정말 기대된다. 2차 프로젝트에 React Native를 하고 싶다고 맨토님꼐 위코드 첫달부터 요청을 했었고 결국 할 수 있게 되었다!
굳이 개발분야가 아니라도 나는 감사하게도 원래 새로운 배움에 대한 두려움이 거의 없는 편이다. 성인이 된 내가 키즈 모델을 하고 싶은게 아닌 이상 어떤 분야에서 절대적인 시간 투자가 있다면, 그리고 심지어 즐길 수 있다면 충분히 무엇이든 해낼 수 있다고 생각한다. 나는 이 후기를 적으면서도 빨리 React Native를 프로젝트 시작 전 하루 이틀이라도 미리 공부하고 싶어서 이 후기 작성을 빨리 끝내고 싶은 마음도 있다.
2차 프로젝트를 시작하는 입장에서 1차 프로젝트의 경험이 있다는 것은 정말 의미 있는 것 같다. 1차 프로젝트에서 좋았던 점은 더 잘 적용하고, 아쉬웠던 점은 해결책을 찾아 보완하는 방향으로 2차 프로젝트에서는 더 좋은 경험을 쌓았으면 한다.
팀 프로젝트 후기에 팀원 박제가 빠지면 섭섭할 거 같았다!
Backend 원희님 : 청산가리 팀원 모두가 인정하는 자랑스러운 우리 팀 PM님. 팀을 주도적으로 그리고 바른 방향으로 잘 이끌어 주었다. 이분이 아니었으면 우리팀이 어떻게 되었을지 상상이 안된다. 엄청난 개발 속도로 프론트에게 데이터를 쏟아부어 준 덕분에 프론트엔드 입장에서 너무 감사했다. 마지막날 발표전 급박할 때, 라이브 코딩쇼로 이 세계를 평정하셨다.
Backend 주형님 : 폭곰 이지만 우리팀에게는 상냥한 남자. 팀원 중 누군가는 이 분을 API 공장이라고 명명하였다. 나는 주형님이 팀의 윤활유같은 역할이었다고 생각한다. 팀이 잘 굴러가는데 있어서 호탕한 웃음으로 밝은 분위기를 만들어주고 장난을 치면서도 장난을 잘 받아주신 덕분에 팀원 개개인이 개발적으로 좋은 아웃풋을 낼 수 있었다고 생각한다.
Backend 현주님 : 실세 우리팀의 실세. 애덤 스미스의 보이지 않는 손과 같은 역할을 담당하셨다. PM님 뒤에는 사실 현주님이 계신다는게 마켓불리 팀 술자리의 정설. 단 한마디로도 우리팀 무력부장을 컨트롤 할 수 있는 유일한 분이다. 나는 채훈님이 현주님과 다음에도 같은팀이 되어 다행이라고 생각한다. 현주님이 아니면 날뛰는 채훈님을 누가 컨트롤 할 수 있을까.
Frontend 찬영님 : 핑크 분홍색을 좋아하는 마켓불리 간판 페이지와 네비게이션 바 담당자. 마지막 날 우리의 간판이 흔들거렸지만, 찬영님의 재빠른 대응으로 문제를 해결할 수 있었다. 이분의 핑크 사랑은 기획에서 메인 페이지를 핑크로 물들게 할 뻔 했지만, 다행이 단호했던 다른 팀원들 덕에 그렇게 되지는 않았다.
Frontend 채훈님 : 입벌구 항상 팀 내 정치의 중심에 서있는 우리팀 무력부장. 위코드 시작부터 옆자리였고 프로젝트 끝날때까지 단 한번도 떨어진 적이 없는 분이다. 그의 정치 실력은 이미 소문이 자자하다. 채훈님이 만든 재사용 가능한 컴포넌트는 내 페이지에도 사용했는데 거의 라이브러리 수준이었다. 오래 함께한만큼 감동적인 말을 따로 해주고 싶지만 다음에 할게요 채훈님^^
Frontend 민아님 : MtLQ Mina the Login Queen. 프론트엔드 모두가 이분의 페이지를 보고 자꾸 실제 페이지로 착각했다. 코딩할 때 반쯤 엎드린 자세는 이미 우리팀에서 여러번 사진으로 박제 당했다. 자신이 맡은 업무를 항상 완벽하게 해내서 결과물로 보여주는 덕에 프론트엔드 팀원으로서 믿음이 갔고 나는 전혀 걱정없이 프로젝트를 진행할 수 있었다.
정말 즐겁고 보람찬 2주였습니다. 여러분이기에 가능했던 경험이었습니다. 감사합니다.
같이 해서 너무나 좋았어요 장현님 없었으면 많이 삐그덕삐그덕 거렸을 거에요ㅠㅠ... 하지만 이젠 떠나버린 당신... 전 가질 수 없으면 부숴버리는 타입이니 2차때 저의 결과물 보고 놀라지 마십쇼ㅎㅎ