팀 프로젝트가 나에게 남긴 것
안녕하세요. 테크코스교육개발팀 이원미입니다. 우테코 3기도 어느덧 중반을 지나고 있습니다 : )
올해는 온라인으로 소통하는 상황이 많아지고, 크루들의 얼굴을 잘 보지 못해서인지 시간이 더욱더 빠르게 흘러가는 것 같아 안타까운데요.
이런 상황 속에서도 본인들이 직접 기획하고 만들어보는 프로젝트 미션을 열심히 진행하면서, 조금 더 현업에 가까운 학습을 하고 있을 크루들을 저는 쭉 응원해 주고 싶네요.
레벨 3 글쓰기 주제는 “팀 프로젝트가 나에게 남긴 것”입니다.
팀 활동을 하며 갈등을 겪어보기도 하고, 책임감으로 밤을 새우며 본인의 역할을 다 하기 위해 크루들은 모두 큰 노력을 했을 텐데요.
이번 글에서는 본인이 팀에서 어떤 역할들을 하고 있는지, 팀 프로젝트를 통해 어떤 것들을 깨달았고 스스로를 발전시키기 위해 어떤 노력하고 있는지 “나 자신”을 주체로 글을 써보도록 가이드 하였습니다.
글 속에서는 어떤 프로젝트를 하고 있는지는 전혀 눈치채시지 못할 거예요. 하지만 이 활동을 통해 크루들이 얼마나 많이 성장해 나아가고 있는지는 확실히 아실 수 있을 것 같습니다 : )
이번 글도 정성을 다해 작성해준 크루들 정말 고맙습니다. 🧡
현구막(최현구)의 글
팀 프로젝트가 나에게 남긴 것
깃허브 프로필을 뒤적거리다 마주친, 오래전 팀 프로젝트 저장소에 눈길이 간다.
‘이거 어떻게 만들었더라…’
서버를 구성하고 애플리케이션으로 데이터를 전송한다는 대략적인 흐름만 주마등처럼 지나간다. 어떤 기술을 사용했는지, 어떤 참고문헌을 봤었는지, 턱을 괴고 천장을 바라보며 애써보지만 좁은 자취방에 남자 넷이 모여 머리를 맞대던 모습만 떠오른다.
저장소 커밋 기록과 코드를 살펴보고 나서야 어렴풋이 프로젝트 윤곽이 보인다. 애송이의 뿌듯함이 섞인 커밋을 보며 쓴웃음을 짓는다.
‘와 진짜, 이걸 코드라고 짰나?’
그러다 문뜩 README.md
에 적힌 친구들의 이름이 눈에 들어온다. 개발이 착착 진행될 때 웃고 떠들던 모습들, 일정이 조금씩 밀리면서 조바심에 밤을 지새우던 날들, 발표가 끝나고 고깃집에서 술 한잔하며 시답지 않은 이야기에 킬킬거리던 순간들. 기술 스택과 참고문헌은 기를 써도 떠오르지 않았는데, 친구들과 함께한 시간은 끊임없이 연기처럼 피어오른다.
babble 팀에서도 기획과 코드보다 함께한 순간들이 더 또렷히 떠오른다.
함께 했던 잡담
"여기에 광고 넣어서 수익 창출하는 거 어때?"
사무적인 회의로 지쳐가던 첫날에 던져진 농담. 그제야 다섯 개 얼굴에 화색이 돈다. 루트, 와일더, 포츈, 피터와 상상을 가미하고 그루밍은 어이없다는 듯이 웃는다. 지나가던 제이슨이 비즈니스 모델말고 기능 기획부터 생각하라 하셨지만, 그런 건 아무래도 상관없었다. 상단 배너에 대문짝만하게 광고 넣기, 채팅방이 있어야 할 위치에 광고를 넣어 클릭 유도하기, 태그 개수에 제한을 둬서 과금 유도하기. 서로의 창의력에 감탄하면서 웃고 떠들었다.
"어? 애플리케이션 만들기 강의?"
피자집 술 한잔에 수다를 떨던 중 루트와 그루밍이 과거 서로 접점이 있었다는 사실을 알게 된다. 휴대폰을 뒤져보던 루트는 그제야 메신저 속 그루밍 프로필 사진의 기시감을 이해한 듯한 표정으로 휴대폰을 내려놓는다. 당시의 이야기를 나누고 세상 참 좁다 깔깔 웃으며 잔을 부딪친다. 회식이 끝난 밤 같은 방향으로 걸어가는 피터와 옛날이야기를 나눈다. "내가 글쓰기 리뷰를 그렇게 열심히 해줬는데, 얼굴 마주쳤을 땐 모르쇠 했어?" 난처한 척 연기하며 받아주는 피터의 반응에 키득거리며 집으로 돌아간다.
잡담이 꼭 경쟁력은 아니지만
잘못 이해하고 있는 거 같은데.
루트의 채팅을 읽고 어안이 벙벙하다. 왠지 모르게 차갑고 날카롭게 느껴진다. 나도 모르게 심기를 건드린 걸까? 조바심에 채팅을 올려봤지만, 여전히 이유를 모르겠다. 어제 일까지 곱씹어보다 루트의 모습을 떠올려본다. 신나게 웃고 떠들다 궁금한 게 생기면 당장이라도 덤벼들어 해결하고, 무심하게 팩트를 던지는 동글동글한 눈. 함께 잡담을 나누던 모습을 그려보니 무심하게 잘못 이해한 걸 지적하는 것 같다. 차분한 마음으로 다시 살펴보니 정말 내가 잘못 이해하고 있었다. 그리고 곧 이은 회의에서 마주한 루트는 평소 그대로였다.
비대면 기간이 길어지면서 문자 전달만으로는 의사와 감정을 파악하기 어려운 순간이 잦다. 음성 대화가 섞여도 충분하지 않다. 그럴 때마다 나는 함께했던 잡담을 떠올린다. 그 잡담들이 이해와 공감의 밑거름이 되어 오해할 말도 웃어넘기게 해준다. 장난을 쳐도 친구니까 웃어넘기는 원리다.
"삐비비빅- 삐비비빅-"
날카로운 알람 소리가 귀를 찌른다. 짧고 효율적인 회의를 위해 도입된 녀석이지만 점점 부담스럽다. 감정회고 시간 조심스럽게 꺼낸 알람 이야기에 분위기가 무거워진다. 자칫 감정회고가 감정싸움이 되지 않을까 걱정했지만, 천천히 각자의 생각을 이야기한다. "알람이 꼭 필요하다 생각해요.", "알람이 없어도 각자 스스로가 인지할 수 있을거 같아요." 서로의 생각과 이유를 정리하고 납득한 결과 알람은 철회되었다. 알람이 사라지고 잡담이 섞이면서 짧고 효율적인 회의와 거리는 멀어졌지만, 잡담의 길이만큼 서로를 더 잘 알게 되었고 우리의 거리는 더욱 가까워졌다.
송파구에서 일 잘하는 방법 4번 ‘잡담을 많이 나누는 것이 경쟁력이다.’를 절반정도 동의한다.
잡담이 꼭 경쟁력은 아니지만 팀 분위기를 만들어 준다.
같은 곳을 바라보려면
"나는 꼭 도커를 써야 하는 이유를 모르겠어."
스프링부트 서버를 도커로 마이그레이션 하자고 했을 때 가장 먼저 들은 말이다. 아니, 수많은 아이디어들이 오고 가던 기획 단계에서부터 나 역시 가장 많이 했던 말이다.
"지금 스프링부트 서버가 잘 돌아가는데 도커 위로 올리려는 이유가 뭐야?"
미처 생각을 정리하기도 전에 추가 질문이 들어온다. 내가 도커를 사용하려던 이유가 뭐였지? 어렴풋이 떠올렸던 생각들을 순서대로 정리하고 차근차근 이야기해본다. 우리 서비스에 트래픽이 많아지면 채팅 서버와 API 요청 서버를 분리해야 할거고, 미리 도커를 통해 서버 설정을 이미지화해두면 서버 분리와 관리가 쉬울 거야. 이야기를 끝맺고서야 긍정의 목소리가 들린다.
"아~ 그런 이유에서라면 나도 도커 위로 올리는 게 납득된다."
저마다의 생각과 이유가 있고, 그것이 실현되길 원한다면 팀을 설득해야 한다. 충분한 설득과 이해가 함께 되지 않는다면, 서로 다른 곳을 바라본 채 달려갈지도 모른다. 사실 지금도 의견을 내세울 때 곧장 근거를 덧붙이는 게 자연스럽진 않다. 그래도 한 가지는 확실하게 인지하고 있다. 모두가 납득하고 이해해야 비로소 같은 곳을 바라보고 달릴 수 있다.
결국 끝에 남는 건 사람
함께 했던 잡담과 잡담이 이해의 밑거름이 되었던 경험, 같은 곳을 보고 달려가기 위해 팀원을 설득했던 경험. 모두 사람 대 사람으로 배워 저장소가 아닌 나에게 남겨졌다.
레벨3 끝에 꼭 마스터피스가 탄생하길 바라지 않는다. 우리는 앞으로 점점 더 멋진 걸 만들 테니까. 그저 먼 훗날 프로젝트를 되돌아볼 때 웃고 떠들던 순간들도 함께 보이길 바란다. ‘잘됐던 개발’보다 ‘행복했던 개발’이 되길 바란다.
우리 팀 기술 스택과 코드, 참고문헌은 내가 아닌 저장소에 남아있다. 대신 나에겐 그루밍, 루트, 와일더, 포츈, 피터가 남아있다.
찰리(박민영)의 글
팀 프로젝트가 나에게 남긴 것
팀 프로젝트, 습득한 지식을 실제 서비스에 녹여낼 수 있는 미션이 왔다.
하지만 ‘지식이 많다고 팀 프로젝트가 잘 굴러갈 수 있을까?’라는 의문이 생겼다. 분명 사람과 사람 사이 일이기 때문에 충돌이 있을 수 있다.
생각해보라 가족 사이, 연인 사이, 친구 사이도 충돌이 있다. 누구보다 서로를 잘 알고 이해하는데도 충돌이 생긴다.
내가 감동한 Microsoft의 개발자 문화
인생은 타이밍인가 "어떻게 하면 현명하게 팀 프로젝트를 진행할 수 있을까?"라고 고민할 때 굉장히 좋은 라이브 방송을 접했다.
백기선 님이 "개발자로 살아남는 방법"이라는 타이틀로 Microsoft의 개발자 문화를 공유해준다.
Microsoft의 개발 문화가 꼭 좋다고 할 수 없다. 하지만 믿고 들어볼 가치는 있다고 생각한다.
Microsoft의 개발자 문화는 엄청 좋았다. 아니 감동할 정도라고 생각한다.
팀 프로젝트의 경험을 말하기 전에 Microsoft의 개발자 문화 중 감명 깊었던 몇 가지를 짧게 소개하려고 한다.
-
책임감
- 서비스 또는 팀에 책임을 다하는 것을 의미
- 팀에서 하는 업무에 관심을 가져야 한다. 즉, 옆 사람이 하는 일에도 관심을 가지라는 것이다.
- 옆 사람이 휴가 갔을 때 옆 사람이 했던 작업에서 장애가 발생했을 때 "내가 했던 일이 아니니까 내 잘못이 아니야" 하고 나 몰라라 하면 우리의 서비스는 어떻게 될까?
- 디테일하게는 몰라도 어떻게 흘러가는지 정도는 알고 있어야 한다.
-
용기와 실수
- 실수는 누구나 저지를 수 있고 실수를 받아들일 수 있어야 한다.
- 실수를 받아들일 수 있어야 자기의 생각을 공개적으로 말할 수 있다.
- ‘자신의 의견을 말하지 않으면 팀에게 손해’라는 분위기를 만드는 것이 중요!
- 틀린 아이디어도 용납해줘라
-
우리가 하는 일이 사용자에게 비즈니스 임팩트가 있어야 한다.
- 변화가 없다면 의미 없는 일
- 개발자가 하는 일은 어떤 방식으로든 비즈니스 임팩트를 주게 되어있다.
- 자신이 어떤 임팩트를 주고 있는지 이해하고, 이해하지 못하고는 차이가 있다.
- 예를 들어 자동화를 구축하여 다른 팀의 업무가 빨라진다면 결과적으로 영향을 받은 팀이 회사에 비즈니스 임팩트를 준다.
- 자신이 주는 임팩트를 이해하면 동기부여가 되고 집중도 되고 시야가 넓어진다.
- 지금 하는 일이 큰 그림의 서비스에서 어디에 해당하는지 이해하고 어떻게 협력을 하는지 보인다면 의사소통에 더욱 도움이 될 것이다.
이 외에 여러 가지 내용이 있지만, 협업에 관한 내용만 간단하게 소개를 했다.
특히 용기와 실수에서 ‘자신의 의견을 말하지 않으면 팀에게 손해라는 분위기를 만드는 것이 중요’ 라는 항목이 감동적이었다.
물론 당연한 이야기이다. 하지만 ‘의견을 말하지 않으면 손해’라는 분위기를 어떻게 만들어나갈 수 있을까?
나도 모르는 사이에 다른 사람의 의견을 무시하고 있지 않을까? 라는 걱정을 한다.
‘의견을 말하지 않으면 손해’ 분위기 어떻게 만들어 갈까
‘의견을 말하지 않으면 손해’ 분위기 어떻게 만들어 갈까? 라고 물어본다.
이에 대답은 간단하게 말할 수 있다. ‘의견 편하게 말하라고 하면 되는 거 아니에요?’
여기에 추가로 ‘틀린 의견이라 생각해도 일단 편하게 말해보자’라는 것이다.
이번 프로젝트를 하면서 나는 의견을 말하는 것보다는 충분히 듣고 말하도록 노력해봤다.
(개인적인 생각일 수도 있다..) 틀린 의견 속에서도 어떤 키워드가 트리거가 되어 좋은 의견으로 바뀔 수 있고
본인은 틀린 의견이라 생각해도 다른 사람이 그 의견을 보완해서 좋은 의견이 될 수 있다.
하지만 무엇보다 중요한 건 팀 전체가 이런 분위기를 만들어야 한다. 그런 의미에서 놀토라는 팀의 분위기는 의견을 내기 정말 좋다.
팀 내에서 회의 때마다 자주 나오는 말이 있다.
"나 뭔가 생각난 게 있어.. 그런데 아.. 아니야"
이때 우리는 항상 같은 대답을 한다.
"제발 말해줘 궁금해서 오늘 잠 못 잘 것 같아"
다른 사람을 설득하는 가장 쉬운 방법
팀 프로젝트를 진행하면서 새로운 기술을 도입하고 싶다.
하지만 어떤 사람은 생전 처음 듣는 기술을 보고 쉽게 공감하기는 어려울 것이다.
"왜 그 기술을 써야 하죠?" 나는 예전에 인터넷에서 이런 글을 본 적이 있다. 오래전에 본 글이라 실제 내용과 차이는 있을 수 있다.
한 학생이 아이패드를 사기 위해서 아이패드를 사면 자신에게 어떤 점에서 도움이 되는지 PPT를 만들어 부모님에게 발표를 한 것이다.
결말은 학생이 아이패드를 얻고 해피엔딩으로 끝난다.
가장 쉬운 설득 방법은 새로운 기술에 대한 지식을 확실하게 쌓는 것이다. 새로운 기술이 우리 작업에서 어떤 도움을 줄 수 있고 현재보다 어떤 점에서 더 좋은지 등을 발표하는 것이다.
한 사람을 설득하기 위해서는 그만큼의 노력이 필요하다. 추상적인 지식으로 설득시킨 상대방이 깊게 공감하고 함께 열정적으로 협업할 수 있는가?
진심으로 설득이 됐다면 새로운 기술을 도입하다 문제가 생겼을 때 발 벗고 나서서 도와주지 않겠는가?
그런 의미에서 나는 가능하면 팀 전원이 공감한 상태에서 새로운 기술을 도입하고 싶다.
설득하기 위한 공부 재밌지 않은가?
잡담은 곧 팀워크다.
글을 쓰는 지금에서 얼마 전 유튜브에서 "배달의민족 CEO에게 뽑고 싶은 개발자를 물어보았다" 라는 영상을 봤다.
이 영상에서 ‘송파구에서 일 잘하는 11가지 방법’ 중 "잡담은 경쟁력이다"라는 한가지 문구를 말씀하셨다.
굉장히 공감하는 것이 팀원 간에 친밀할수록 의견을 내는 것도 자유롭고 의견에 반대하는 것도 편하다.
그렇기에 우리에겐 개발 얘기도 중요하지만, 드라마 이야기, 사는 이야기 등등 흔히 말하는 ‘썰 풀기’는 정말 중요하다고 생각한다.
백기선 님의 영상에서 이런 말씀을 하셨다.
"의견 충돌은 인간 대 인간이 아니라 의견 대 의견이 충돌하고 있다고 생각해라, 말싸움에서 이기는 것이 내 가치를 증명하는 것이 아니다."
팀원 간 서로가 친밀하다면 어떤 사람인지 더욱 잘 알고 있을 것이고 ‘사람이 아닌 의견이 충돌하고 있다.’ 에 더욱 집중할 것이다. 오늘도 가볍게 누군가는 말할 수 있다. "우리 오늘 올림픽 양궁 결승전인데 잠깐 보고 할까요?"
협업 원래 힘들어요
1000명의 사람이 있다면 1000가지의 다른 환경에서 자라왔을 것이다.
그래서 모든 사람이 100% 같은 성향을 가질 확률은 없을 것이다. 그 때문에 충돌은 당연하다.
예전에 책에서 이런 글을 읽었다.
"세상에 나랑 같은 사람만 존재한다면 이 세상은 너무나 재미없을 것이다."
나는 이 말에 적극 공감한다. 나는 말하는 것보다 듣는 것을 좋아한다.
아마 나랑 같은 사람만 존재한다면 세상은 고요할 것이다.
세상에 다양한 사람들이 있다는 것에 감사하며 즐거움을 최대한 만끽하자!
춘식(안예장)의 글
Scene 1
옛날 옛날 아주 먼 옛날은 아닌, 2021년 7월에 춘식이라는 사람이 있었다. 춘식은 우테코에서 ‘여기 다 모여’ 라는 팀 프로젝트에 참가하게 되었다. 6인 1조의 장기 프로젝트는 처음이었던 춘식은 두려움에 바들바들 떨었다. 내가 잘 할 수 있을까? 계획을 못 맞춰서 뒤쳐지면? 다른 팀원이랑 불화라도 일으키면 어쩌지? 걱정부터 앞섰다. 이를 본 춘식의 애완 노트북이 혀를 쯧쯧 찼다. 저 녀석 또 저러는 군! 시작도 안 했으면서 걱정부터 하고 있지! 노트북은 타자 소릴 내며 걸어와 화면을 깜박였다. 일어나지도 않은 일에 대한 걱정을 왜 하고 있는 거야? 어떻게든 될 테니까 걱정 말라고. 춘식은 노트북의 조언에 예전의 자신을 떠올렸다. 그래, 2인 페어 프로그래밍도 여태껏 잘 해왔잖아. 모르는 것들도 차근차근 배우면서 할 수 있게 되었어. 난 할 수 있을 거야! 용기를 얻은 춘식은 떠는 걸 멈추고 줌 소회의실 참가 버튼을 눌렀다.
Scene 2
어느 날 춘식은 열심히 개발을 하다가 ‘계획’이라는 벽에 부딪혔다. 벽은 단단한 몸집을 부풀리며 말했다. 여길 지나가려면 계획을 짜야 해. 팀 컨벤션과 일정을 상세히 정해봐! 계획을 잘 못 짜는 춘식은 당황했다. 그 때, 팀원들이 나섰다. 와이비는 코딩이 빛나는 밤이라는 데일리 회의를 열었다. 하루는 팀 노션 페이지에 달력과 표를 걸었다. 이슈와 PR 템플릿까지 만들자 벽이 흔들렸다. 다른 팀원들도 할 수 있는 일을 찾아 가세했다. 춘식도 할 수 있는 일을 찾아보다가, 최종 기획서 발표 대본을 썼다. 얼마 안 있어 벽이 무너졌다.
춘식은 벽이 쉽게 무너지는 걸 보고 크게 놀랐다. 동시에 신기했다. 같이 힘을 모으면 혼자 할 수 없는 일도 해낼 수 있구나! 심장이 두근거렸다. 믿음직한 팀원들이 옆에 있다는 사실에 등이 든든해졌다. 춘식 또한 다른 팀원들에게 힘이 되기 위해 노력했다. 이후로도 벽은 끊임없이 나타났다. 벽의 이름은 정말이지 다양했다. 인프라, 마크업, 알고리즘, JPA, 버그, 등등등… 그럴 때마다 춘식은 이 벽 또한 깰 수 있으리라 의심치 않았고, 확신은 곧 증명이 되었다. 어떤 벽은 두 명, 어떤 벽은 네 명, 어떤 벽은 여섯 명이 모두 달라붙어야 무너졌다. MVP도 매번 달라졌다. 춘식이 MVP가 될 때도 있었다! 하지만 오직 한 명이 혼자 도맡아 해결한 벽은 없었다. 모두가 함께했기에 나아가게 됐다는 건 불변의 진리였다. ‘여기 다 모여’있기에 가능한 일, 그것이 바로 팀 프로젝트임을 춘식은 깨달았다.
Scene 3
정신없이 개발하다보니 어느새 팀 프로젝트는 막바지를 달리고 있었다. 프로젝트만 바라보고 달릴 때엔 직진만 하는 줄 알았는데, 돌아보니 걸어온 길은 굽이 굽이져 있었다. 굽이진 길 위로는 춘식이 배운 것들이 이정표처럼 드문드문 세워져 있었다. 그 중 가장 눈에 띄는 것은 신뢰였다. 예전에는 팀 프로젝트를 하기 위해선 손을 잡는 게 우선이라 봤다. 틀린 생각이었다. 손을 잡기 전에는 서로를 믿어야 한다는 전제가 필요했다. 춘식은 팀원들을 믿었고, 믿고 있으며, 믿을 것이다. 그렇기에 손을 잡았다. 남은 건 도착점을 향해 여정을 이어가는 것 뿐이다. 다시 발걸음을 옮기며 춘식은 외친다. 우린 할 수 있을 거야!
미키(권세진)의 글
역시, 가슴 뛰는 일을 하고 싶어.
나는 상상만 하던 것들을 현실로 만들었을 때, 가장 가슴이 뛴다. 그런 내가 우테코 레벨 3에서 운 좋게 원하는 프로젝트를 개발하게 되었다. 예전부터 개발을 좋아해서 지금까지 해왔는데, 좋아하는 프로젝트를 실제로 구현한다니 열정이 두 배로 솟구쳤다.
열정이 다시금 불타오르면서 옛날 생각이 났다. 대학에 입학하고 작년까지만 해도 과제를 위한 코드를 많이 짜왔었다. 게임을 만들고 싶어 유니티를 잠깐 손대본 적도 있었지만, 내가 짜온 코드 대부분은 c와 c++로, 학교 과제나 드론 연구와 같은 과제형 코드들이 많았다. 순수 개발 쪽으로 진로를 정하는 데 있어 망설임이 많았고, 연구 분야로 진학해야 할지도 모르기에 방황을 많이 했다.
하지만 그때 나에게 개발 분야로 확신을 준 것도 역시 재미
였다. 재미라는 것은 결국 열정과도 관련이 있고, 열정은 삶이라는 불꽃을 태우기 위한 장작과도 같다. 나는 열정이 피어오르지 않는 일은 하고 싶지 않았고 학교 밖을 뛰쳐나왔다. 그리고 우테코에 합격했고, 좋아하는 개발을 맘껏 할 수 있게 되었다.
하지만 몸이 고되니 다소 열정이 떨어졌었는데 레벨 3에 들어서서 다시 열정이 불타오르고 있다. 개발을 함으로써 현실로 만들 수 있는 가치, 그리고 만들어낸 가치를 다른 사람들이 좋아하는 모습을 상상하면서 열심히 달려 나가고 있다. 잠이 들면서도 그날 해결하지 못했던 문제를 고민하면서 자고, 나중에 만들어질 결과물을 생각하면 가슴이 설렌다. 게다가 재미있는 사람들과 함께 일한다. 레벨 1이나 2보다 몸은 조금 고될지 몰라도 즐겁기에 이전처럼 번아웃이 오지는 않는다. 역시, 나는 뭘 하더라도 가슴 뛰는 일을 하고 싶다.
의견은 일치되지 않는 것이 오히려 당연해.
의견은 일치되지 않는 것이 오히려 당연한데, 이 사실을 잊고 살 때가 많다. 나는 이번 프로젝트를 잘 풀어나가기 위해 가장 중요한 것은 코드 퀄리티가 아니라 이 사실을 잊지 않는 것이라 생각했다. 내 의견만 주장하고 고집하다 보면 상대방은 의견을 더 이상 내기가 싫을 것이다. 이는 팀워크를 해칠뿐더러 프로젝트 결과물도 내 관점만 담겨있게 된다. 내가 보지 못하는 관점은 다른 팀원이 채워줄 수 있음에도 불구하고 나는 그 기회들을 버리는 것이다.
우리는 20년 이상을 다르게 살아왔다. 각자가 개발하면서 겪은 경험들이 다를 것이고 이를 통해 그 사람의 코드로 나타난다. 누군가의 코드는 개발자의 지문과도 같은 것이다. 그렇기에 개발자들의 코드가 하나의 스타일로 합쳐지는 과정은 꽤 고통스러운 과정이다. 어쩔 수 없이 고통스러운 과정이지만 덜 고통스럽기 위한 방법이 있다. 내가 틀릴 수 있음을 인정하고 당장 내 의견이 반영되지 않아도 프로젝트를 좋은 방향으로 이끌어 갈 수 있다는 확신
을 가지는 것이다. 이렇게 확신을 가진다면 내 의견에 대한 양보가 조금 빨라진다.
그렇다면 어떻게 확신을 가질 수 있을까? 나는 다음과 같은 상황을 가정했다. 내 의견이 잘못되었고 프로젝트에 반영되지 않았다면 프로젝트가 자연스럽게 좋은 방향으로 흘러갈 것이고 내 의견이 좋은 의견이었지만 프로젝트에 반영되지 못했다면 언젠가는 팀원들 간의 공통된 경험, 즉 불편함으로 드러날 것이다. 공통된 불편함이 드러나는 순간에 다시 내 의견을 주장한다면 훨씬 팀원들의 공감을 얻기가 쉬우며 내 의견이 반영된다면 더 좋은 방향으로 흘러갈 것이다. 어떤 경우든 결과적으로 프로젝트는 좋은 방향으로 흘러가는 것이다.
놀토 팀에서 나는 어떤 사람이었을까.
레벨 3 프로젝트를 놀토 팀과 함께하면서 내 자신을 돌아보았을 때 나는 팀에서 어떤 사람이었을까. 내 생각에 나는 문제 해결에 집착하는 집착남이었던 것 같다. 원래 나는 팀의 분위기를 띄우는 사람이 되고 싶었지만 타고난 성격이 진지한 성격이라 그러지는 못했다. 하지만 진지한 성격에 맞게 하나에 꽂히면 깊게 파고드는 성향이라 어떤 문제가 발생하면 해결하기 전까지는 잠을 못 자는 집착이 있다. 그래서 프론트에서 어떤 문제가 생겼을 때 책임지고 어떻게든 해결하려고 했던 것 같다. 앞으로는 집착 미키로 불러주시길 ㅋㅋㅋ
레벨 3을 돌아보며…
레벨 3도 벌써 끝을 향해 달려간다. 코로나 때문에 레벨 3 중반부터는 놀토 팀과 줌으로 만났지만 같은 팀으로서 유대감과 추억을 많이 쌓아나갔다. 생각지 못했던 부분을 예리하게 알려주는 포모, 놀토 팀 텐션 담당 아마찌, 회의 중 길을 잃었을 때 진행해주는 조엘, 조곤조곤 의견을 전달하는 찰리, 그리고 항상 뒤에서 물심양면으로 지원해주시는 구구. 마지막으로 내가 어떤 한 곳에 꽂히면 잘 넘어가지 못하는 성격이라 많이 걸고넘어졌을 텐데 내 의견을 존중해주었던 지그. 레벨 3 기간 동안 함께해서 너무 재밌었고 고맙다. 레벨 4도 잘 부탁합니다 ㅎㅎ
벌써 8월이다. 시간이 어떻게 가는지도 모른 채 그저 개발만을 바라보며 열심히 하다 보니 8월이 되었다. 시간은 무섭도록 빠르게 흘러가고 크루들과 우테코에서 지낼 날들이 생각보다 얼마 남지 않았음에 벌써 아쉬운 마음부터 든다. 같은 꿈을 바라보는 사람들과 이렇게 열정적으로 공부하고 대학 친구처럼 지낼 수 있는 날이 다시 올까. 우테코 수료가 생각보다 얼마 남지 않았지만, 끝까지 좋은 추억을 많이 쌓을 수 있으면 좋겠다.
우테코 화이팅!
티케(조은현)의 글
팀이 결정이 되는 날 아침 10시, 어수선한 루터의 모습을 잊을 수 없다. 우선순위에 해당하는 프로젝트를 마음속에 품고, 어디 한번 닉 값(닉네임 이름값) 하는지 지켜보겠다는 마음으로 결과를 기다렸다. 장난으로 "(결과) 떴다!"라고 외치는 브랜에게 습관성 거짓말이 아니냐며 모두가 핀잔을 주었던, 지금은 갈 수 없는 공간의 루터회관이 아직도 눈앞에 아른하다. 10시가 조금 넘은 시각, 모니터의 오른쪽 상단의 slack으로 메시지 알림이 뜨는 순간에 떨리는 마음으로 나의 이름을 찾았다. 그렇게 가장 하고 싶었던 술 추천 팀에 합류하게 되었고, 나의 우테코 시작과 끝을 서니와 함께 (그리고 덤으로 준) 하게 되었다.
함께 자라는 방법
프로젝트를 진행하면서, 우리만의 그라운드 룰을 정했다. 개인적으로 팀원 모두가 끈끈했으면 좋겠고, 서로에게 편안한 팀이기를 바랐다. 그래서 일주일에 한 번 ‘스프린트 회고 및 감정 회고’를 해보면 어떻겠냐는 제안을 했다. 다행히 회고 중독자들만 모여 있어서 모두가 흔쾌히 승낙했다.
그중 스프린트 2와 스프린트 3 회고가 가장 기억에 남는다. 스프린트 1과 스프린트 2 때 팀 모두가 페어 프로그래밍의 방식으로 프로젝트를 진행했다. 처음에는 컨벤션을 함께 맞추며 함께 코드를 작성하고, 모르는 부분에 대해서 같이 고민해 보는 시간을 가질 수 있다는 점이 좋았다. 그러나 평균적으로 매일 밤 11시에서 12시 사이에 페어가 마무리됐다. 심지어 코로나로 루터 회관을 갈 수 없게 되자 화장실 갈 때를 제외하고는 거의 방 밖으로 나가는 일이 없었다. 여느 때처럼 아침에 일어나 컴퓨터 앞에 앉아서 데일리를 진행하는 어느 날, 7시간을 잤는데도 불구하고 온몸이 너무 피곤했다. 조금씩 몸과 정신이 힘들다는 신호를 보내오고 있었다. 그래서 회고 시간에 협업 방식으로 프로젝트를 진행하는 것을 제안하며 팀원 모두가 각자의 효율적인 코딩 스타일을 찾아보기로 목표를 세웠다. 공용 줌(이하 준줌방)에서 망령처럼 아침부터 새벽까지 남아있어, 절대 지치지 않을 것만 같았던 팀원들 모두가 같은 생각을 하고 있다는 건 조금 놀라웠다. 그렇게 일주일을 보낸 후, ‘쉬는 시간을 달라!’라는 취지에서 시작된 협업 프로그래밍 방식이 ‘너무 많이 쉬게 된다’는 문제점을 초래한다는 것을 알았다. 팀원들이 스스로의 게으름에 대해서 한탄하는 모습을 보며 ‘사람 사는 거 다 똑같다지만, 어떻게 이렇게 똑같지?’라는 생각이 들면서 웃음이 나왔다. 결국 우리는 협업 방식은 이어가되 선택적 출근제를 도입하였다. 오전 10시부터 오후 6시까지 준줌방에서 모여서 모각코(모여서 각자 코딩)를 하는 시간을 가지기로 했다.
이렇게 우리는 스프린트 회고 및 감정 회고를 통해 각자가 어떤 마음으로 어떻게 일주일을 보냈는지를 공유하고, 그 주에 잘한 점과 다음에 시도해 볼 것들을 정하며 발전하고 있다. 어떻게 하면 팀원 모두가, 나아가 팀이 좋은 방향으로 나아갈 수 있는지 고민하며 다 함께 매 순간 함께 나아가고 있다.
자신감 회복
사실 협업 프로젝트에 대한 생각은 컨디션 조절 목적보다는, 페어에게 프로젝트를 의존하고 있다는 고민에서 벗어나고자 시작했다. ‘이 친구는 모르는 게 무엇일까?’라는 생각이 들 정도로 서니는 아는 게 많다. 혹여 새로운 지식을 습득해야 할 때에도 빠르게 이해를 하고 적용을 했다. 페어에 대한 존경심이 생기면 생길수록, 모순적이게도 오히려 스스로는 조바심이 들었다. 심지어 백엔드 팀원들도 질문이나 의견 조율을 할 때 서니를 먼저 찾았고, 그럴 때마다 나의 존재감에 대해서 회의감을 느꼈다. 전체 회의 도중 모르는 키워드가 나오면 대화를 끊는 듯한 기분이 들어서 ‘나중에 공부해야지’라는 생각으로 가만히 있지만, 어디서부터 공부를 시작해야 할지도 모르겠는 상황의 연속이었다. 정말 이대로 가다가는 프로젝트에서 내가 기여한 일이 ‘힘찬 박수’ 말고는 없을 것 같았다. 프로젝트를 진행하는 한 달 동안에는 ‘나 개발해도 되는 걸까? 이렇게 부족한데..’라는 심정으로 팀원들에게 미안하고 스스로에게 속상해서 하루 종일 책상에서 울었던 날도 있었다.
다행히 협업 방식 이후에 내가 부족한 부분을 파악할 수 있었고, 그 부분을 스스로 해결할 수 없다면 팀원들과 다른 크루들에게 도움을 요청하면서 보충하고 있다. 아직은 완전한 여유를 찾지는 못했지만, 조금씩 채워가며 한 걸음씩 나아가는 중이다. 그 덕에 앞으로는 페어 프로그래밍을 진행을 하더라도 예전만큼 고민에 빠지는 일은 없을 것 같다.
마치며
정신을 차리고 보니 레벨 3이 2주밖에 안 남아서, 레벨 4도 이렇게 찐한 프로젝트를 하고 싶다는 욕심이 뒤늦게 불타오른다. 힘들다고 말했을 때 한 주는 쉬엄쉬엄하자고 큰 결심을 했던 팀원들에게, 또 사소한 부분에 대해서도 내가 최고라고 말해주는 서니에게 직접 말하기 부끄러우니깐 이 자리를 통해 조심스레 고맙다고 주절주절 말하고 싶다. 레벨 3이 시작하기 전에도 25명의 프론트엔드 크루들과 레벨 2 만큼의 일상을 공유하는 것이 어려울 것이라는 생각에 슬펐는데, 레벨 4를 한 달 앞둔 이 시점에 우리의 팀원들과의 헤어질 생각에 괜스레 아쉽고 서운하다. 이토록 완벽할 수가 없을 정도로 최고였던 팀워크를 가진 팀이라서, 프로젝트는 정식 버전으로 출시해도 우리의 사이는 정식 버전을 위해 계속해서 달려가는 beta이기를 소망해본다!