2018년도 회고


1. 서론

2018년도는 나에게 많은 일이 있었던 해였다. 임시적이었지만 5명 정도 되는 팀을 이끄는 매니저가 되었었고, 2년 정도 함께 했던 팀(스토어팀)에서 다른 팀(뷰어팀)으로의 인사이동도 있었다. 회사에서의 변화와 더불어 학교에 복학하여 일과 학업을 1학기 정도 병행하게 되었다. 이 외에도 많은 일들이 있었지만, 내게 가장 의미있던 매니저가 된 이야기팀 인사이동에 대한 이야기 그리고 그 외 부수적인 이야기로 회고하려 한다.

2. 본론

2-1. 주니어가 매니저가 되다

먼저, 매니저가 되게 된 배경을 적어 보는 게 좋을 것 같다. 스토어팀은 크게 백엔드 파트와 프론트엔드 파트로 나뉜다. 당시 정확히 기억은 안 나지만 백엔드 파트는 10명 정도 있었던 것 같다. 백엔드 파트는 겉으로 보았을 때는 잘 굴러가는(?) 것 처럼 보였지만, 결제관련 코드의 복잡성이 높다라는 큰 문제가 있었다. 여러 클래스들이 얽혀있었고, 추상화가 되지 않아 결제 수단이나 상품 타입(단권도서인가 세트도서인가 같은)에 따라 if-else의 향연이었다. 이를 위해 리팩토링이 필요하다는 인식을 오래 전부터 하고 있었고, 매 분기 마다 마일스톤으로 잡혀있었지만, 계속 되는 서비스 요구사항의 대응에 1년 동안 진행을 하지 못하고 있었다. 이를 해결하기 위해 백엔드 파트를 결제 스쿼드서비스 스쿼드로 나눠서 좀 더 결제 도메인에 집중할 수 있도록 하였다. 이렇게 나뉘고 결제 도메인에 대한 집중도가 높아지면서 리팩토링도 진행되게 되고, 지금의 리디페이가 나올 수 있었지 않나 생각이 된다. 나는 이렇게 나눠진 서비스 스쿼드의 임시 매니저를 맡게 되었다.

2-1-1. 나는 무엇을 배웠나

대략 5개월 정도의 짧은 기간이었지만 많은 것을 배운 시기였던 것 같다. 특히나 개발 외적인 부분에서 많이 배울 수 있었던 시간이었다. 타 팀과 커뮤니케이션 하는 방법, 팀원들에게 적절한 태스크 분배, 프로젝트 일정관리 등 많은 것들이 고민의 연속이었지만, 이 고민들을 해결 해나가면서 스스로 답을 찾아갔던 것이 큰 공부가 되었다. 처음에는 정말 폭풍 같았다. 잦은 회의와 팀원들이 쏟아내는 태스크들(예를 들어 배포나 코드리뷰와 같은) 때문에 정작 내가 해야 될 업무를 할 시간이 없었다. 하루 종일 Asana를 통한 타 팀과의 커뮤니케이션과 팀원들의 태스크 관리를 하느라 코드한줄 적지 못한 채 퇴근한 적도 많았다. 이를 해결하게 도와준 도서가 있는데, 몽키 비즈니스라는 책이다. 매니저를 맡게 되면서 읽어보라고 추천받은 도서인데, 여기선 원숭이를 하나의 태스크로 정의하고 있다. 이 책을 통해 매니저로서 많은 것을 배울 수 있었던 것 같다. 여기서 이 책의 내용을 설명할 순 없지만, 이를 통해 팀원에게 분배된 태스크가 잘 진행되고 있나 수시로 모니터링 하지 않게 되었고, 나의 업무에 조금 더 집중할 수 있게 되었다.

2-1-2. 짧은 기간의 아쉬움

매니저 역할을 하면서 가장 큰 아쉬움은 매니저를 할 수 있었던 기간이 너무 짧았다는 것이다. 물론 내가 학교 복학을 하지 않고 미루었다면 계속할 수 있었겠지만 그래도 아쉬움이 많이 남는다. 특히 내가 팀원들에게 태스크를 분배하면서 가장 많이 했던 실수가 있었는데 그 해결책을 아직도 못 찾은 것이 아쉽다. 그 실수는 팀원들에게 간단하다고 생각되는 태스크를 주었는데, 막상 코드를 수정하다보니 일이 커지게 되는 경우가 많았던 것이다. 2주가 넘게 태스크를 진행하다가 일이 너무 커져서 홀딩 되는 경우도 있었고, 내가 잘못된 해결방안을 제시해서 처음부터 다시 개발을 하게 되는 경우도 있었다. 내가 좀 더 도메인 분석을 잘하고 태스크를 줬다면 이런 실수가 안 나왔을 것 같다고 생각도 들지만 사실 이게 정답은 아닌 것 같다. 내가 제시한 방향대로 개발하는 것이 아니라 스스로 고민해보고 분석해서 나보다 더 좋은 제시를 하는 것이 정답인 것 같은데, “팀원 스스로가 그렇게 할 수 있도록 어떻게 만들까”에 대한 해답은 아직 찾지 못하였다.

2-1-3. 그래도 잘한 것

그래도 잘 했다고 생각하는 것 한 가지를 뽑자면, 도메인 지식의 이중화인 것 같다. 서비스 안정화를 위해 애플리케이션 서버 이중화나 DB 이중화를 하듯, 팀원들이 갖고 있는 도메인 지식에 대한 이중화도 필수적이라고 생각한다. 실제로 당시에 CRM(고객 관계 관리, 알림센터나 앱푸시 이메인 전송)에 대한 안정화를 진행 하고 있는 중이었는데, 장애가 발생했을 시에 대응할 수 있는 팀원이 1명뿐이었다. 그래서 항상 CRM 장애 관련 대응 태스크는 한 명에게만 쏠려 있었다. 이를 해결하기 위해, CRM과 같이 큰 도메인의 경우엔 도메인 지식을 공유하는 자리를 별도로 만들어 싱크를 맞추었다. 더불어, 두 명이 한 쌍을 이뤄서 CRM 관련 다양한 태스크를 함께 해결하도록 하였다. 또한, 특정 도메인에 대한 이해도가 높은 팀원에게 주면 효율적으로 빨리 끝낼 수 있을 태스크도 되도록이면 익숙하지 않은 다른 이에게 주려고 적절한 태스크 분배를 하였다.

2-2. 새로운 팀으로 이동하다

학교 복학 시점과 동시에 타 팀으로의 인사이동 기회를 얻게 되었다. 스토어팀에서 갖고 있던 여러 도메인(별점/리뷰, 선호작품 등)이 타 팀으로 오너쉽이 넘어가게 되었고 그 작업을 새로운 팀으로 이동하여 진행할 수 있게 되었다. 물론 내가 거절하고 스토어팀에 계속 남을 수도 있었지만, 이동하기로 결정하였었다. 이 결정을 내리게 된 2가지 이유가 있었다. 첫 째로는 2년이란 긴 시간을 한 팀에 있다 보니 내가 ‘우물 안 개구리는 아닐까’라는 생각이 들기 시작했기 때문이다. 스토어팀에서 많은 것을 배우고, 해봤지만 ‘이게 정말 맞는 걸까’, ‘다른 방법은 없을까’라는 생각이 들었다. 그래서 새로운 팀에서 새로운 사람들과 함께 일하면서 익숙함에서 벗어나고자 했다. 두 번째는 새로 옮겨지는 팀에서 맡게 될 업무가 만족스러웠다. 하나의 서비스를 처음부터 쭉 만들어 본 경험이 없었는데, ‘언어를 무엇을 쓰고 어떤 프레임워크를 쓸지’부터 시작해서 인프라 구성, CI/CD 구축까지 모두 혼자 할 수 있는 기회를 얻게 되었다. 더구나 스토어 팀에서 조금씩 해보았던 것들이라, 크게 부담감이 느껴지지 않았다. 아직까지 이때의 선택을 후회하진 않는다. 아마 앞으로도 후회하진 않을 것 같다. 이 태스크와 관련한 회고는 어느 정도 완료된 후에 하도록 하겠다.

2-3. 나는 올해 성장하기 위해 무엇을 했나

나는 스스로 성장하기 위한 방법으로 주로 책을 읽는다. 올해 읽었던 책은 아래와 같다.

올해에는 DevOps를 위한 필요한 지식을 얻기 위해 인프라 관련 도서, 네트워크 관련 도서, 데이터베이스 관련 도서를 1권씩 읽었었다. 그리고 위에서 언급했듯이 매니저 업무를 위한 도서 1권도 읽었었다. 그 외에도 어떻게 더 좋은 개발자가 될 수 있을까 고민 하면서 관련 도서 2권과 관심이 있었던 아이폰 앱 개발에 대한 책 1권도 읽었었다. 아직 읽고 있는 중이라 적진 않았지만, 오늘의 회고를 해야겠다는 생각을 만들어준 ‘함께 자라기’(김창준 저)라는 책과 ‘데이터 중심 애플리케이션 설게’(마틴 클레프만 지음)도 읽고 있다. 책을 읽는다고 해서 내가 바로바로 성장하는 건 아니지만, 회사 업무를 통해 어렴풋이 알았던 지식들을 책을 통해 정리하는 느낌을 많이 받는다. 내가 잘못알고 있었던 지식들도 많이 교정이 되었다. 올해는 학교 복학으로 인해 책을 많이 읽지는 못했다. 내년에는 조금 더 많은 서적을 읽을 예정이다.
이 외에도 알고리즘 문제를 풀고 있는데, 1일 1문제 풀기를 목표로 시작했지만 헛된 꿈이었다(링크). 하지만 새해에도 계속해서 1주일에 1문제씩은 풀 수 있도록 노력해야겠다. 특별히 최근에는 python을 새로 익히면서 알고리즘 문제들도 C++이 아닌 python으로 풀기 시작했다.

3. 정리

2018년은 정말로 굵직굵직하게 변화된 것이 많았던 해였던 것 같다. 매니저 경험과 인사 이동에서부터 학업과 회사 업무 병행까지. 올해는 이러한 환경의 큰 변화들이 나로 현실에 안주하지 않도록 해준 보조제가 아니었나 싶다. 개인적으론 만족스러운 한해를 보낸 것 같다. 하지만 조금 아쉬운 점은 회사 업무 외적인 부분에서 내가 성장하려고 노력하는 부분이 미흡했던 것 같다. 다양한 컨퍼런스를 통해서 내가 인지하지 못 했던 고정관념을 깰 수도 있었고, 해커톤이나 기타 다른 대회에 참여하여 나의 위치를 점검해 볼 수도 있었을 텐데 이런 것들이 부족했던 것 같다. 새해에는 이런 것들을 보완하여 현실에 안주한 우물 안 개구리가 되지 않도록 계속해서 노력해야겠다.