1번째 프로젝트 돌아보기

1
post-thumbnail

개인적으로 회고라는 말을 그렇게 좋아하지는 않는 것 같다. 회고라는 한자어에 많은 의미가 담길 수 있음에도 별로 좋아하지 않는 이유는 회고라고 하면 거창하게 자기성찰(?)을 해야할 것 같은 부담을 가지게 되는 것 같다.

그래서 똑같은 의미지만 조금 더 말랑말랑(?)한 돌아보기라는 용어로 시작을 하려고 한다. (우리한글 사랑하자요😆)

위코드에서 진행을 했던 1번째 프로젝트에서 2주간 있었던 일과 그 일들을 겪으며 내가 느낀 바에 대해서 소소하게 정리해서 다음 프로젝트떄 기억하려고 한다. (+ 이 풋풋한 감정을 나중에 오글거리며 다시 보기 위해서)

n번째 프로젝트.... 달랐던 점?

사실 위코드 전에도 프로젝트를 경험했던 적이 있다. 1번째는 데이터 분석 국비교육에서 진행을 했던 '와디즈 사이트 크롤링을 통한 기업가치 예상'과 KISA에서 2주간 진행을 했던 금융 공공 API를 활용한 연습생 펀딩사이트"이다.

사실 두가지 프로젝트에 대해서도 별도의 글로 정리를 하고 싶지만 이 글에서는 위코드 프로젝트가 포인트니 다음을 기약하고 비교에 집중해야겠다.


우선 가장 큰 차이점은 역할의 차이가 있다. 2개의 프로젝트에서 코드를 짜기는 했지만 실제 성능을 생각하고 코드를 짜지는 않았던 것 같다. 더욱이 맡은 부분이 내가 유일하게 할 줄 알았던 크롤링에 한정되어있어서 무언가를 직접 개발한다는 느낌은 많이 받지 못했다.

두 프로젝트에서 모두 개발자라기보다는 조금 더 기획자의 가까운 역할을 했다. 핵심 주제를 선정하고 서비스의 방향을 제시하는 역할을 주로 했던 것 같다. (+발표machine....)

그래서 이 서비스를 내 손으로 직접 구체화했다는 느낌보다는 막연하게 애정이 가는 정도였다. 그 때문인지 두 프로젝트 모두 긍정적 평가(기업가치 평가- 데이터커뮤니티 발표, invest101- 우수상 )를 받았지만 아쉬움이 남았다.


그러면 이번 프로젝트는 무엇이 달랐나? 이번에는 직접 프로젝트에서 개발과 관련된 한가지 역할을 맡았다. 프론트엔드 3명과 백엔드 4명으로 구성된 팀에서 모델링과 상품상세 조회API를 맡아서 진행을 했다. 역할이 나누어진 순간 내가 맡은 부분에 대해서 무한한 책임감을 가지게 되었다. 말그대로 내가 못하면 남들이 해줄 수 없는 부분이기 때문에 (시간관계상 ) 완수를 해내는 것이 중요했다.

또한 나 스스로 느꼈던 책임감에는 한가지가 더 추가되었다. 예전 프로젝트에서는 내 능력보다 조금 더 (사실 많이) 뛰어난 분들이 있었다. 첫번째 프로젝트에서는 서버를 배워본적 없지만 짧은 기간내에 서버를 구축해서 서비스를 배포한 분이 계셨다. 두번째 프로젝트에서는 컴공 전공자 사이에 용감하게 낀 비전공자라 코드에 내가 기여하지 않더라도 성공적인 서비스가 완성이 되었다.

반면에 이번 프로젝트에서는 백엔드 같은 경우 팀별로 한명의 에이스(?) 가 배치가 되었는데 아무리 봐도 우리 팀에서는 그게 나였던 것 같다. 물론 당연히 스스로 내가 그 정도는 아니라고 생각을 하고 있었는데 어떻게 하겠나. 이미 벌어진 일인걸..... 최대한 1인분 이상을 해야 된다는 부담감이 있었다. 주말에도 추가로 계속 공부하면서 다른 팀에 에이스 발끝에라도 따라가야 우리 팀이 산다는 마인드로 프로젝트에 참여했던 것 같다.

전체적인 프로젝트에서의 나의 마인드는 뒤쪽에서 이야기하도록 하고 팀 전체적인 이야기를 먼저 하려고 한다.

너무 좋았던 팀 분위기

우리팀의 인원수는 다른 팀에 비교해서 1~2명 정도 많은 상황이었다. 어떤 이유로 더 많은 인원수가 배정이 되었는지는 잘 모르겠으나 사람이 많은만큼 다툼에 대한 걱정도 덜어낼 수 없었다. 사공이 많으면 배가 산으로 가지 않겠는가.

긍정적 분위기와 배려

그럼에도 불구하고 전체적으로 긍정적 분위기가 가득했던 것 같다. 다같이 으쌰으쌰 이 프로젝트를 완성하기 위해 나아가는 경험은 소위 빡센(!) 스케쥴임에도 개발외에 다른 것에 신경쓰지 않도록 해주었다.

더욱이 서로 배려하려는 모습이 모든 구성원들의 말투와 행동에서 느껴졌다. 한가지 기능을 구현을 할 때 프론트/백 어디서 구현을 해야 조금 더 수월하고 효율적으로 걸릴지 많은 이야기를 나눴다. 단편적으로 이건 백기능이야/ 프론트 기능이야 이렇게 나누는 것이 아니라서 조금 더 실제 개발현장의 모습도 이렇지 않을까 생각이 들었다.(이상일수도 있지만 ^^)

나도 최대한 언어에 대해서 신경을 쓰려고 노력했지만 체력적으로 지치고 일이 안풀릴 때는 친절하지는 못했던 것 같다. 예를 들어 0이 '싸우자'는 말투이고 100이 '다 좋아'하는 말투라면 나는 40~60 언저리에서 왔다갔다 했던 것 같다. 물론 노력으로 이정도에 도달했다고 생각한다.

오히려 독이었을까?

첫째주에 프로젝트 진행이 순탄하고 분위기도 좋아서 필수적으로 구현하기로 한 기능들이 얼추 마무리가 된 것 같다. (고 생각했다......stay) 그래서 2주차에는 조금 더 다른 기능들을 구현해보려고 했었다. 그런데 잘 마무리되었다고 생각한 앞부분이 발목을 잡는 일이 발생하기 시작했다.
아침마다 서로의 진행상황을 공유했지만 낙관적 분위기에서 약간 과장해서 성과를 공유를 하게 되었고 ( 오늘 git merge될 것 같아요... merge는 될 때까지 된 게 아니다! ) 그 결과 예상치못한 딜레이되는 상황들이 여러군데에서 벌어졌다.
더욱이 이해를 하고 코드를 쳤다고 생각한 다른 팀원이 전혀 개념을 이해하지 못하는 상황이 벌어져서 그 팀원에게 다른 코드를 부탁하는 것은 무리라 생각되었다. 전력이 줄어들게 된 것이다.

과유불급

저때까지만해도 문제는 해결하고 추가 기능도 만들면 된다는 생각을 가지고 있었다. 얼추 문제를 마무리했지만 새로이 구현하는 기능에서도 다시 문제점들이 나오고 막판까지 코드를 작성하느라 코드 리뷰를 제대로 받지 못한 코드들이 우수수 나오게 되었다. 더욱이 테스트할 시간은 너무나 부족했고 결국 발표 전날에 에러가 발생하는 파멸적인 엔딩을 마주했다.

그럼에도 불구하고

그럼에도 불구하고 긍정적으로 평가를 하고 싶은 점은 많다. 찐 프로젝트는 처음이지 않은가? 이게 과도한 긍정이라 해도 어쩔 수 없다. 나는 칭찬이 고픈 사람인걸.... 남들에게 칭찬을 받을 수 없다면 나라도 나를 좋게 봐주어야지!

스스로 대견(?)한 점

내 일은 내 일이지만 네 일이 내 일이 될수도.

글 서두에 서술한 대로 나름의 에이스 역할을 해야했기 때문에 다른 백엔드 팀원들이 궁금해하는 사항들을 해결해주기 위해서 동분서주 바쁘게 돌아다녔던 것 같다. 그러면서 동시에 내가 맡은 일들이 딜레이가 되면은 안되기에 최대한 시간을 확보하려고 노력했다. 다른 분들까지 신경쓰면서 여유롭게 내 할일을 할 수 있는 실력은 아니었기 때문에 더욱 시간이 필요했다.

그 노력에 일환으로 통근 시간을 활용했다. 위코드가 있는 선릉에서 내가 현재 살고 있는 분당 정자동은 지하철로는 30분이면 가는 거리다. 반면 버스를 타면 1시간~1시간 10분이 걸리게 된다. 그럼에도 불구하고 코딩을 하기 위해 앉아서 갈 수 있는 버스를 택했다. 내가 살다살다 버스에서도 코딩을 하고 있을 줄은 몰랐다. 아직도 금요일 10시, 술에 취한 사람들이 뿜는 숨이 가득찬 버스안에서 나홀로 터미널과 씨름하고 있는 기억이 생생하다.

마지막에는 한 팀원이 맡은 API의 로직을 짜는 것이 힘들다 말하였고 그 로직을 고민하기 위해 4시간만 자고 다음날 로직을 짜고 같이 이야기 나눈 경험이 있다. 평소 새나라의 어린이라 생각하고 잠 자는 것을 좋아하는 내게 이런 집념이 있는 줄은 몰랐다. 역시 사람은 궁하면 하게되는 것이 맞나보다.


나의 MBTI는 INFP이고 철저히 I의 성격을 가지고 있다. I들에게 혼자만의 시간은 무엇보다도 중요하다. 그런데 이 시간을 프로젝트의 완성을 위해서 사용했다. 아무래도 백엔드와 프론트엔드의 소통의 다리(?) 역할도 했기 때문에 많은 경우 나를 찾는 경우가 많았고 그럴 때마다 힘들더라도 최대한 유머를 잊지 않고 긍정적 분위기를 만들기 위해 노력했던 것 같다.

개인 욕심 < 팀의 성과

또 스스로 대견하다고 생각하는 것은 개인의 욕심을 잠시 내려놓고 팀 전체적으로 생각을 해보게 된 것이다. 추가기능 중에 내가 맡은 것은 찜하기 기능과 리뷰 기능이었다. 이 두가지 기능은 주문, 장바구니보다 우선순위에 기능은 아닌지라 나 스스로도 반영이 안될 수도 있다는 생각을 하기는 했었다. 그럼에도 막상 반영이 안될 수 있다고 생각이 들고나니 서운하기는 했다.
물론 개인적으로 기능을 구현하고 따로 멘토님들에게 코드리뷰를 받아도 되지만 생각보다 다른 기능들이 구현되는 데 딜레이가 생겼고 합류를 해서 문제를 해결하는 것이 맞다고 생각했다. 그 결과 기능 구현을 할 수 있었고 프론트 분들에게 기능에 대해서 설명할 수도 있었다.

타협할 줄도 알아야지

이 부분은 솔직히 조금 부끄러운 부분이다. 서버 작업에서 데이터베이스를 날릴 일이 많았는데 (현업에서는 절대 못하는) 그 과정에서 다시 자료를 입력하기 위해 db_uploader를 만들어야 수월하다고 했다. 처음에는 내가 이 부분을 맡았는데 참고자료에 나와있는 방법이 아니라 예전에 내가 성공했던 방식으로 계속 구현을 하려고 고집을 부렸다. 그 기능은 장고 프레임워크와는 호환성이 부족했고 그 결과 많은 시간이 소요되었다.
구현했던 예전 기능을 다시 구현하지 못했다는 자존심은 접어두고 다른 팀원에게 이 부분을 부탁했고 결국에는 그 분이 완성하셨다. 그 팀원에 대한 감사함을 다른 팀원분들에게 이야기했고 그러면서 이 부분에 대한 욕심을 내려놓으려고 했다.
시간이 있고 내가 거기에 매달렸으면 어떻게든 해결을 했겠지만 한정된 자원내에서 팀의 성과를 위해서 내가 포기할 건 포기하고 협업하는 것이 정말 중요하다는 것을 느꼈다.

왕관이 생각보다 무겁더라

부제목을 이리 짓고 얼마나 우스울지 알지만 내게는 누더기 왕관이라도 나름의 자부심 + 부담감이 있었다. 다른 팀의 에이스 분들보다 잘하지는 못하더라도 어느 정도 의지는 될 수 있는 사람이고 싶었기 때문에 가진 것의 150%를 했던 것 같다. 체력 방전을 자각했을 때 생각보다 무리를 했구나 다시금 느낄 수 있었다.
프로젝트 발표가 끝나고 다른 팀원이 '상협님 덕분에 프로젝트 마무리 잘 할 수 있었어요' 한 마디에 '그래도 그렇게 글러먹지는 않았구나'라 생각했다.

다음 번 프로젝트를 준비하는 마음가짐

체력은 국력

이 말을 솔직히 지금까지 체감해본 적은 얼마 없다. 과거 토스인슈어런스에서 일을 할 때에도 11시에 퇴근도 해보고 주말 출근도 해보았는데 그 때와는 달랐다. 그때는 나의 실적이고 나의 노력이었다면 이번에는 팀 전체를 위해서 해야할 일이 많았기에 더욱 체력적으로 힘들었던 것 같다. 다시금 체력이 부족하면 어떤 일도 끝까지 못한다는 것을 느꼈다.

욕심은 적당히

만일 기능을 줄이고 내실을 다졌다면 조금 더 완성도 있는 프로젝트결과가 나오지 않았을까 싶다. 처음 맡은 프로젝트고 내 손으로 무언가 만드는 재미가 너무 강해서 과욕을 부리게 된 것 같다. 사람들이 새로운 기능에 환호하는 것은 순간이지만 불편했던 서비스 경험은 꽤 오래간다. 그래서 조금 더 다양한 기능을 하기보다는 하나라도 완성도 있게 만들어내는 습관을 가져보기로 했다.

개발 테스트는 해도해도 부족해

postman으로 자체 테스트를 많이 해보았지만 실제 프론트에서 작동하는 과정에서도 수많은 에러와 문제를 마주하게 된다는 것을 느꼈다. 테스트를 할 수 있는 시간을 확보하는 것도 프로젝트의 일부분이라는 것을 명심하기로 했다.

마치며.....

정말 고3때보다 더 열심히 나를 갈아넣었던 것 같다. 20 후반에 이런 열정을 다시금 느낄 수 있었던 기회에 감사하게 생각한다. 많은 우여곡절이 있었지만 모든 일이 내 생각대로 되는 게 아니라는 것을 제대로 느낄 수 있었다. 마주친 문제를 하나씩 해결하는 게 인생과 정말 닮은 것 같다. 다음 2차 프로젝트를 돌아볼때는 조금 더 성장해 있기를 .... .

profile
기록을 통해 한 걸음씩 성장ing!

2개의 댓글

comment-user-thumbnail
2021년 6월 20일

코딩을 하기 위해 버스를 택하셨다니...!
2차 이후에 얼마나 더 성장하실지! 2차 돌아보기도 기대하겠습니다 💪🏻
수고 많으셨습니다 상협님~~!🙌🏻

1개의 답글