개인적으로 2022년 하반기는 방향성에 대해 많은 고민을 하게 된 시기였다. 그러다 보니 자연스럽게 그동안 무엇을 했나 돌아보게 되었다. 고민 끝에 일종의 피보팅이 필요한 것 같다는 생각으로 업무를 전환하기도 하고 개인적인 목표를 이것저것 세워 보기도 했다. 늘 그랬듯이 모든 게 계획대로 이루어지는 한 해는 아니었지만, 그 과정에서 배운 점들이 있었다. 또 늘 그랬듯이 한 해를 떠나보낼 때가 온다는 사실이 위안이 되기도 했다. 치열하게 달린 평일의 끝에 주말이 왔을 때 안도하는 것처럼 말이다. 글을 게시하는 지금은 연초가 지나 어느덧 1분기가 반 이상 지나간 시점이지만 2022년 한 해를 회고한다는 명목으로 기록을 남겨보고자 한다.
시작하기에 앞서
프론트엔드 개발을 시작한 지 2년차까지는 주어진 과제를 열심히 수행하느라 바쁘게 보냈던 것 같다. 1년차에는 이메일 에디터를 만들어야 했는데, 사수의 도움을 받았기에 무사히 완성할 수 있었을 만큼 굉장히 도전적인 과정이었다. 조금 더 시간이 흐르고 나서야 알게 되었지만 에디터를 만드는 일은 프론트엔드의 정수라고 불릴 만큼 복잡한 상태 관리, 이벤트 관리, 비동기 처리 등이 동반되는 과제였다. 눈 앞에 놓인 문제를 하나씩 해결해 나가다 보니 1년이 훌쩍 지나 있었다. 시작이 제로 베이스였던 것을 감안하면 그만큼 큰 폭으로 성장할 수 있는 시기가 다시 있을까 싶을 정도로 많은 것을 배웠다.
2년차에는 첫 이직을 했다. 퇴사 후 잠깐의 휴식을 취한 후에 이직을 준비하기 시작했고 그 과정은 길지도 짧지도 않았다. 몇 번의 코딩 테스트와 면접 고배를 마신 후에 감사하게도 내가 좋아하는 여행이라는 도메인에서 프론트엔드 개발을 하게 되는 기회를 얻었다. 게다가 배울 점이 너무나도 많은 멋진 팀에서 일을 하게 되어 정신없이 많은 것들을 배우며 2년차를 보냈다. 소규모 팀에 속해서 빠른 기능 구현의 우선순위가 높았던 1년차 때와 다르게, 내가 속한 팀의 규모와 함께 다루어야 하는 코드베이스도 갑자기 커졌기 때문에 클린 코드와 좋은 설계에 대한 고민이 많아졌고 많은 시도들을 해본 시기였다. 무엇이 최선일까? 에 대한 답을 수없이 고민하고, 팀원들의 뛰어난 퍼포먼스를 지켜보면서 서당개 풍월 읊듯이 내것으로 소화하려고 노력했다.
3년차를 맞이하다
2022년에 들어서면서 3년차를 맞이하게 되었다. 자연스럽게 내가 받은 좋은 영향을 남에게도 줄 수 있어야 하겠다는 목표 의식이 생겼다. 그러려면 나의 의견을 잘 표현하고 전달하는 게 중요하다고 생각했다. 팀원들의 PR을 급하게 승인하는 일이 없도록 충분히 들여다 볼 시간을 확보하고 적극적으로 리뷰하려고 노력했다. 반대로 팀원이 내 PR을 리뷰해 준 덕분에 놓쳤던 부분을 챙기기도 하고 더 나은 코드로 발전하기도 했다. 누구 한 명의 의견이 최고의 의견일지 찾는 과정이 아니라 각자의 의견을 주고받는 과정에서 최선의 의사 결정이 이루어지는 경험이 쌓이면서 코드 리뷰가 재미있어졌다. 처음에는 코드가 어떤 의미인지 파악하려고 열심히 읽어 내려가는 정도였다면 이제는 여러 관점을 종합하여 merge-able한 코드 상태에 합의해 가는 과정 자체를 즐기게 되었다.
문제의 발견
문제는 비즈니스 사정이 항상 여유롭지만은 않다는 것이다. 빠른 실행과 안정성은 (반드시 그런 것은 아닐 수 있지만) 반비례하기 마련이다. 상반기까지 계속해서 내가 맡아 왔던 숙소 도메인의 프로젝트를 진행하였고 대부분은 여러 상황상 매우 긴박하게 진행되어야 했다. 그러다 보니 한 프로젝트를 안정적으로 마무리하고 회고한 후에 다음 프로젝트를 시작하는 게 어려웠다. 어떤 시점에는 여러 프로젝트가 동시 다발적으로 진행되기도 했다. 적은 팀원으로 많은 양의 작업을 급하게 하다 보니 자연스럽게 서로의 PR을 살펴볼 수 있는 시간이 부족해졌고 PR의 단위 자체도 커졌다. 코드 리뷰가 제대로 이루어지지 않고 있다는 문제 의식은 있었지만 빠른 실행이 중요하니 일단 넘어가고 나중에 고칩시다! 하는 상황의 반복이었다. 이러한 패턴이 누적되어 가던 어느 시점, 자연스럽게도 부작용이 드러났고 안정적이지 못한 화면단의 이슈로 인해 사용자들이 불편을 겪는 경험을 하게 되었다.
나로 인해 사용자가 불편을 겪는다는 것은 사용자 경험이 최우선인 프론트엔드 개발자로서 가장 자책하게 되는 상황이 아닐까 싶다. 빠르게 이슈에 대응하며 진화 과정을 거쳤고 결과적으로 프로젝트가 잘 마무리되었지만, 마음 한 켠에 무언가 문제가 있다는 생각이 사라지지 않았다. 결국 더 이상 나아가기 전에 먼저 방향성을 되돌아봐야 할 것 같아서 잠시 멈추기로 했다.
셀프 매니징 도전기
몇 차례 리더와의 면담 과정을 거치면서 내가 원하는 게 무엇인지 명확히 하기 위해 노력했다. 우선은 쉴 시간이 필요하다는 조언을 받아 며칠 휴가를 내고 메신저 알림을 모두 끈 뒤 휴식을 취했다. 쉬고 나니 조금 차분해지면서 문득 내가 하고 있는 일들이 그저 내게 맡겨졌기에 하고 있던 것 아닌가 하는 생각이 들었다. 1년 반동안 많은 경험과 성장을 해왔던 숙소 도메인인데, 때마침 PM 없이 난항을 겪고 있는 시기가 지속되면서 동기부여가 잘 되지 않는 문제도 있었다.
결국 내가 하고 싶은 일을 찾아서 스스로 동기를 부여할 필요가 있어 보였다. 다행히도 '내가 하고 싶은 일'로 관점을 바꾸고 나니 아이디어가 떠올랐고, 리더와의 면담을 통해 진행해 볼 만한 것을 선정하여 진행하게 되었다. 사소하다면 사소할 수 있는 생산성 도구 개발이었는데 규모는 작더라도 하나의 프로젝트를 세팅부터 배포까지 경험할 수 있어서 배울 점이 많았다.
물론 셀프 매니징의 단점 또한 있다. 개인적인 번아웃을 돌보기 위해 비즈니스 임팩트를 희생하는 결과로 이어질 수도 있다. 그러지 않기 위해서 내가 하는 일의 의미를 찾고 팀에 기여하는 방향으로 의사결정하는 것이 중요했다. 예로, 처음에는 피그마에 플러그인 형태로 제공하려던 생산성 기능을 비즈니스 관점에 따라 비용이 덜 발생하는 웹사이트로 서빙하도록 방향성을 전환하게 되었다. 플러그인으로 제공하기 위해서는 피그마 플랜을 업그레이드하는 데 필요한 말 그대로 금전적인 비용이 발생할 뿐 아니라 자체 인증 서버를 구현하기 위한 리소스도 필요했다. 다만 인증 서버를 구현하는 것은 흥미로운 과제이기도 하고, 여전히 플러그인 형태로 제공되었을 때 해당 기능의 사용성이 극대화된다고 생각하고 있기 때문에 나중에라도 비즈니스 관점과 타협이 가능해지는 시점이 오면 다시 방향을 되돌릴 수도 있지 않을까 기대해 본다.
다시 추진력을 얻어서
무릎을 꿇은 이유가 추진력을 얻기 위함이었다는 짤처럼(?) 2022년 하반기 들어서는 업무적으로 동기부여나 성과 측면에서 다시 추진력을 얻었다. 앞서 셀프 매니징을 통해 내가 하고 싶은 일이라는 관점으로 팀에 기여하는 경험을 하고 나니, 비즈니스에도 이러한 관점을 적용할 부분이 많이 눈에 띄었다.
개인적으로는 웹이 좋아서 웹 개발을 시작하게 된 케이스이기 때문에 여전히 웹으로 문제를 해결하는 것에 관심이 많다. 현재 회사에서 운영되는 프로덕트 중 여행 상품 입점 판매자를 대상으로 하는 서비스가 있는데 이는 온전히 웹으로 구현되고, 판매자들이 상품을 관리하기 위한 여러가지 복잡한 기능을 제공하기 때문에 과제의 범위가 넓다. 그러나 초기 구현 때 수많은 레거시를 양산했고 그 이후로 제대로 유지보수되지 않았으며, 설상가상으로 초기 구현 팀원들이 모두 퇴사하여 히스토리를 모르는, 프론트엔드팀의 아픈 손가락 같은 서비스이기도 했다. 이런 이유로 내가 해볼 수 있는 일이 많다고 판단하여 메인 프로덕트의 숙소 도메인을 떠나 판매자 서비스 담당으로 업무 전환을 자원했고, 마침 진행되고 있던 회원 체계 개선 프로젝트에 참여하게 되었다.
프로젝트와 함께 자체적으로 개선 과제를 선정하여 서비스의 안정성을 높이기 위한 공통 로직 리팩토링을 병행했다. 레거시를 청산하고 많은 팀원들에게 파트너 개발도 해 볼만 하다고 여겨질 수 있게끔 만드는 것이 '내가 하고 싶은 일'이었기 때문이다. 가장 필요하다고 생각되는 에러 핸들링과 폴더 구조를 개선했고 회원 체계를 개선하는 프로젝트도 소기의 목표를 달성했다. 물론 이는 목표에 공감하고 함께 협업으로 달려준 팀원들이 있었기 때문에 가능했다. 그래서인지 어느 때보다도 협업의 힘을 많이 느끼는 계기가 되었다.
굴곡이 있는 한 해였지만 침체되었을 때 도와준 것도 팀원이었고 다시 힘을 내어 무언가 해보고자 했을 때 함께 해준 것도 팀원이었다. 그래서 내가 받은 도움이 또 나로부터 누군가에게 흘러갈 수 있도록 해야겠다는 생각을 하게 된다. 혼자서는 할 수 없는 일들을 팀원들과 함께 해낼 수 있어서 감사했고, 나 역시 그런 팀에 기여하는 일원이 되기 위해 필요한 액션 아이템을 고민해야 할 시점인 것 같다.
2023년 목표
또 다시 계획대로 되지 않을 수 있지만 세부적인 것보다는 비전으로서의 관점으로 목표를 세워보자면, 여전히 기술적인 성장이 가장 중요하다는 생각이 든다. 업무적으로나 업무 외적으로도 개발 경험을 넓혀가는 것이 필요할 것 같다. 블로그를 오픈한 것을 시작으로 해서, 여러가지 구현해 보고자 하는 아이디어들이 있으니 하나씩 실천해 보려고 한다. 이에 대한 기록들도 꾸준히 블로그에 기록해 나간다면 그걸로 결실 있는 한 해가 되지 않을까 바라본다.
개발 또는 비개발 분야를 막론하고 한 달에 한 권 정도의 책을 읽는 것 또한 목표로 삼고 있다. 2월까지는 목표대로 사는 데 성공했으므로 기회가 되면 블로그에 서평도 남길 수 있도록 해봐야겠다.