엊그제 시작한 거 같은 6주간의 프로젝트가 끝이났다. 아이러니하게도 끝나고나니 뿌듯함보다는 허무함과 공허함이 몰려오는 느낌이다. 시작에 따른 끝은 항상 존재하는데, 아직도 이런 끝남에 있어서는 익숙하지 않은거 같다. 프로젝트 과정이 그만큼 재밌었나 보다. 유독 싱숭생숭한 연말이지만 6주간의 프로젝트와 부스트캠프를 마무리하며 느낀점을 작성해보려 한다.
6주간의 그룹 프로젝트
우선 6주간 진행한 프로젝트동안 느낀점을 작성해보겠다.
팀마다의 룰 그리고 문화
프로젝트를 처음에 셋업할 때, 여러 컨벤션과 룰을 정하려고 노력했다. 프로젝트 관리차원으로 언제부터 언제까지를 코어타임에 둘 것이며, commit 컨벤션은 어떻게 하고, 코드 작성 방식은 어떤식으로 할 지.. 등등 의욕이 가득한 만큼 꽤나 디테일하게 하고 싶었으나, 어디부터 어디를 어떤식으로 정할지 나를 포함한 팀원들이 초창기에는 많이 혼란스러웠기에 되는대로 정하고 프로젝트를 시작했다.
프로젝트를 얼마 진행하고 느낀건, 초장부터 이러한 룰들에 "강박을 가질 필요가 없겠구나" 였다.
그룹 프로젝트는 전혀 다른 5명이 모여 하나의 목표를 향해 달려가는 과정이다. 따라서 생각하는 방식, 개인적인 성향 모든게 다를 수 밖에 없고 맞춰가는 과정이 필히 필요하다. 우리팀 또한 커밋 컨벤션이 도중에 바뀌었고, 코어타임도 바꾸고, 셧다운제도 넣어보고 하면서 다양한 시도를 해보며 맞춰가는 과정을 겪었다.
부스트캠프 프로젝트는 모두가 주체가 되어서 진행하는 프로젝트다 보니 이러한 난항을 겪을 수 밖에 없을것이라 생각하는데, 오픈된 마인드로 받아 들이고 천천히 팀원과 동화되는 과정을 겪는다고 생각하면 좋을 거 같다. 우리 팀만의 색깔, 그리고 문화는 순식간에 만들어지는게 아닌걸 느꼈다. (6주의 과정이 짧아서 나도 사실 찍먹이라고 봐도 될 거 같다 ㅎㅎ..)
소통 비용
이 단락은 협업에 대해서 얘기해보려 한다.
프로젝트를 진행하면 각자가 맡은 부분을 개발하게 된다. 크게 보면 프론트와 백, 서버로 나누어서 보면 게시글과 멤버 이런식으로 말이다. 우리팀 또한 각자가 맡은 부분을 열심히 개발했고, 합치는 과정을 진행했다.
문제는 합치는 과정에서 HTTP 응답 스펙에 대한 이해가 많이 달라 고전했다. 백엔드에서는 나름대로의 형태를 지니고 정의를 하여 반환했으나, iOS에서 생각한 형태와는 너무 달랐고 이는 진작에 논의되지 않았던 소통부재가 원인이였다.
진작에 이 부분에 대해서 이야기 하고 맞춰갔으면 우리의 삽질 시간은 많이 줄었을텐데.. 라는 생각과 동시에 협업을 하는 입장에서는 언제나 꾸준한 소통을 해야함을 느꼈다. 새로운 기능을 개발하거나, 변경 부분이 있다면 팀원에게 즉각적으로 공유하고 알려줘야 팀원도 그에 맞게 수정을 하거나 의견을 낼 수 있다. 이렇게 하면 서로에 대한 지식또한 어느정도 싱크가 되어 더 원활한 소통도 가능할 것이다. 만약 독자적으로 진행해서 추후에 문제가 없다면 괜찮겠지만, 문제가 발생한다면 추후에 처리해야할 스노우볼이 너무 크게 흐른 후라서 그 비용이 너무 커질수도 있다...
마치 소통에도 인터셉터가 걸린거 처럼 행동을 하기전에 소통하고 질문하는 습관을 들여보자..!
나에게는 1, 팀원에게는 10?
이 얘기는 위 소통 얘기와 조금 이어지는 부분이다.
프로젝트를 진행하면 종종 팀원들에게 요청할 사항이 생긴다. 기능을 추가해달라던가, 아니면 특정 부분에 대해서 수정을 요청한다던가 등..
그런데 때로는 이런 요청이 상대방에게 어느정도의 부담을 안길지 모르는 경우도 발생한다. 내 입장에서는 10 - 20 분 정도만 걸릴거라 생각해서 요청했는데 상대방에게는 3 - 4시간의 분량이었다던가 말이다. 이러한 경우에 3 - 4 시간이 걸리는 것 보다도 받아들이는 입장에서 큰 부담을 느낄수도, 너무 쉽게 말해 불쾌할수도 있다는 점이 문제라고 생각한다.
이런 상황은 각자 다른 부분을 개발하기에 지식 싱크가 다르다는 점 때문에 발생한다. 좀 크게 보면 프론트와 백, 그게 아니고 같은 분야라도 충분히 발생할 수 있는 부분이다.
문제를 해결하기 위해 내가 상대방 도메인에 대한 지식을 다 흡수하는건 너무나 비효율적이라고 생각하고, 현실적으로도 어렵다고 생각한다. 그저 우리는 팀원에게 요청할 때 친절히 말하고, 어려운 부분은 없는지 등 열심히 소통하는 과정을 거치면 된다고 생각한다. 그리고 이러한 상황을 최소화 하는게 위에서 말한 적극적인 소통이 아닐까 싶다.
그래서 항상 기억해야 한다. 나는 상대방을 100% 모르고, 상대방도 나를 100% 모른다. 그러니 항상 존중과 배려를 삼으려고 노력해보자.. (나 또한 정말 부족한 부분이다.)
서버입장이 아니라 사용자 입장에서
웹이랑 다르게 iOS는 서버가 앱에 접근하기 위해서 비교적(?) 까다로운 과정이 존재한다. 앱스토어가 아닌 베타 버젼으로 출시하여 테스트를 해봐야하는데 상황이 조금 까다로워서 대부분의 동작 테스트는 iOS 팀원들만 진행했다.
그렇게 조금 시간이 흐른후에야 그 까다로운 과정을 이겨내고 나도 테스트를 해보았는데, 생각치도 못한 부분을 놓치고 있는걸 깨달았다. SNS 앱 특성상 최근 게시물이 먼저 나와야 하는데 그 반대로 오래된 게시물부터 앞쪽에서 표시되고 있었던 것이었다. 어렵지 않은 처리였지만 보이는 부분이 없었기에 내가 이 부분을 간과하고 있었던 것이다.
너무 서버만 보고 코딩을 하면 이런 기본적인걸 놓칠 수 있겠구나 싶었다. (사실 내가 덜렁대는 부분도 간과할 순 없다..) 백엔드 또한 최대한 사용자 입장에서 경험해본다면 더 좋은 프로그램을 만들 수 있을거라 생각했다.
안정적인 API를 제공
API개발까지가 아니라, 오류가 없는 API를 클라이언트에게 제공하는게 좋은 서버라고, 그렇게 마스터님께서 말해주신적이 있다. 실제로 내가 만든 API는 많은 부족함이 있었고, 맞춰가는 과정에서 오류를 많이 수정했다. 여타팀중에는 테스트코드를 엄청 빡세게 작성해서 이러한 오류를 최소화해서 프론트가 좋아했다는 얘기를 듣기도 했다. 어찌되었던 합칠때 오류가 발생하면 비용이 훨씬 많이 들기에, 이 부분에 대해서도 섬세함을 가질 필요가 있다고 많이 느꼈다.
네트워킹데이와 부캠 마무리
최종발표가 끝나고, 오프라인 행사인 네트워킹데이를 진행했다. 모든 과정을 온라인으로 진행했기에 다양한 캠퍼들을 볼 처음이자 마지막 오프라인 만남이었다.
행사는 삼성역쪽의 섬유센터 건물에서 이루어졌다.
챌린지때부터, 학습스프린트, 그룹 프로젝트를 거치며 많은 분들을 만났는데 오프라인으로 만날 수 있어서 정말 반가웠다.행사는 오프닝, 선정된 몇몇의 그룹 프로젝트 발표, 그리고 멘토 및 현업자들과의 네트워킹 시간 순으로 진행되었다.
발표도 보면서 팀원들과 얘기하다보니 어느샌가 4시간의 행사 시간이 훅 갔고, 그렇게 공식적인 부스트캠프 일정이 마무리 되었다.
부스트캠프를 통해 얻어가는 것
나만의 기준과 근거
과정을 진행하는 내내 "왜?" 라는 의문을 항상 던져야 함을 많이 느꼈다. 그게 코드를 작성할때던, 기술을 사용할때던.. 구조를 잡을때, 모두 말이다. 개발과정에 있어서 정답이라는 건 없다. 도메인과 비즈니스 모델, 그리고 개발하는 상황에 따라 이는 달라진다. 때문에 이 판단을 얼마나 현명하게 하고, 판단할 수 있는 인사이트가 넓은지에 따라 역량 차이가 나는 거 같다.
함께 성장
부스트캠프는 "함께 성장" 이라는 키워드를 강조한다. 그리고 위에서 언급한 개인이 고민하고 만들어놓은 결과를 공유하면서 서로의 지식을 공유하고 인사이트를 넓혀간다. 그 과정에서 우리는 함께 성장할 수 있었던 거 같다. 나는 동료들이 있었기에 챌린지 기간에서는 버텨낼 수 있었고, 학습 스프린트 기간에서는 더 좋은 구조를 지닌 결과를 만들어낼 수 있었고, 프로젝트 기간에서는 성공적인 협업을 할 수 있었다. (특히나 부스트캠프에 참여하는 캠퍼들은 정말 열정적이고 뛰어난 사람이 많기에 얻어갈 수 있는게 정말 많다.)
개발은 혼자보단 다수, 팀과 함께 하는 경우가 많다. 그 과정에서 어떤식으로 팀원과 소통하고 성장할지에 대해서, 부스트캠프를 통해서 많이 배울 수 있었다.
위의 내용들 외에도 다양한 점이 있고, 반대로 반성할 내용도 많이 있었다. 항상 내가 어떠한 개발자가 되고 싶은지, 되야 하는지를 고민하고 경험했던 내용을 기반으로 더 성장하기를 바랄 뿐이다.
마지막으로
결국 기억에 많이 남는건 6주간 진행한 팀원과, 함께한 프로젝트였다.
팀같은 경우에는 자체적으로 구성하지만, 사실 서로에 대한 정보를 많이 아는게 아니기 때문에 맞춰가기전까지는 알 수 가없다. 근데 다행스럽게도 나는 정말 좋은 팀을 만났던 거 같다. 서로에 대한 배려도 많이 해주고, 우리는 지역이 모두 달랐음에도 불구하고 오프라인 만남을 위해 기꺼이 지역을 이동하고 협업하기도 했다. 팀원들에게 고맙단 말을 하고 싶고, 그덕에 내게 부스트캠프가 좋은 기억으로 남고 이런 회고도 작성할 수 있는게 아닐까 생각한다.
반년간의 과정이 순식간에 지났다. 서두에도 적었듯이 뿌듯함 보다는 허무함이 밀려오는 이 감정속에서, 다음 스텝을 위해서 다시 달려야겠다.
'회고' 카테고리의 다른 글
[네이버 부스트캠프 8기] 멤버십 6-7 주차 회고 (1) | 2023.10.27 |
---|---|
[네이버 부스트캠프 8기] 멤버십 5주차 회고 (1) | 2023.10.09 |
[네이버 부스트캠프 8기] 멤버십 3주차 회고 (0) | 2023.09.18 |
[네이버 부스트캠프 8기] 멤버십 2주차 회고 (0) | 2023.09.10 |
[네이버 부스트캠프 8기] 멤버십 1주차 회고 (1) | 2023.09.04 |