부끄럽지만 이전 글이었던 '2023년 회고' 다음으로 쓰는 글이 올해 반기 회고 글이다. 일에 치이다보니 개발 블로그에 글 쓰는 일에 소홀했다.
회사 업무
작년 10월에 입사하여 온보딩 기간을 거친 후, 올해 초부터 본격적으로 실제 개발 업무에 투입이 되었다. 처음 맡은 일은 SEO 개선 작업이었다. 개발자도구 Lighthouse 검사를 수백번씩 돌려가면서 점수를 조금씩 올려 나갔다. 마지막으로 SEO 100점을 찍었을 때는 마치 게임에서 최종보스를 잡고 클리어하는 듯한 쾌감을 느꼈다.
그 다음 태스크는 랜딩페이지 로딩속도 개선이었다. 기존 랜딩페이지는 레거시가 쌓여있어 개발자도구 Network 기준 약 2초 중반대의 로딩속도를 보여주고 있었다. CSR의 특성상 한번에 많은 chunk 데이터를 받아와야 하고, 용량이 큰 이미지들도 받아와야 헸기 때문에 오래 걸릴 수밖에 없었다. 나는 부분적으로 작업하면서 1차적으로는 폰트 리소스의 용량을 줄여 1.2초대까지 줄였고, 2차로 CSR -> SSR(Nuxt) 기반으로 옮기면서 훨씬 더 시간을 줄일 수 있게 되었다.
이밖에도 유사 인플루언서 추천, 영상 캠페인, 리워드 제안하기 등의 신규 피쳐를 개발했다. 또한 리팩토링과 같은 레거시 정리 작업도 적지 않았다. 둘 중에 어떤 업무가 더 재밌냐고 묻는다면 솔직히, 아니 당연히 신규 피쳐를 개발하는 일이 훨씬 더 재미있다. 예전에 작성된 히스토리조차 알 수 없는 코드를 들여다 보는 일에 썩 재미를 붙이기란 쉽지 않다. 또한 리팩토링이라는 게 아무리 내가 시간을 들여서 열심히 하더라도 사용자 입장에선 차이가 체감되지 않는 경우가 대부분이다(차이를 체감할 수 있는 리팩토링은 둘 중 하나이다. 엄청 잘했거나, 엄청 잘못되었거나).
특히 영상 캠페인을 작업할 때는 당초 예상했던 개발기간인 한달 반을 훌쩍 넘어서 3달 넘게 진행되었다. 그 중 한달이 넘는 기간동안은 리팩토링을 하는데 할애했다. 기존 코드는 SNS플랫폼의 종류가 인스타그램과 네이버블로그 2종류만 존재했던 과거의 상황에 맞춰져 하드코딩된 부분이 많아 릴스,유튜브,틱톡과 같은 신규 플랫폼을 추가하는 일이 어려웠기 때문이다.
굳이 리팩토링하지 않고서 개발하는 선택지가 있기는 했지만 나는 그로 인한 사이드이펙트가 더 커질 것이라고 판단했다. 앞으로 신규 플랫폼이 추가될 때마다 코드의 복잡성이 기하급수적으로 늘어날 것이기 때문이다. 소위 '모래성 위에 모래성 쌓기'인 상황을 방지하기 위해서 당장은 시간이 더 소요되더라도 리팩토링이 필요하다고 판단했다.
회사의 프로덕트가 대부분 구독형 B2B Saas 이다보니 개발자와 유저와의 거리가 가까운 편은 아니다. 커머스 같은 서비스라면 외부에서 랜덤하게 유입될 수 있는 잠재 고객이 있겠지만, B2B Saas 프로덕트를 필요로 하는 고객층은 극히 한정되어있고 쓸 사람만 돈 내고 쓰고 안 쓸 사람은 이탈하는 경향이 강하기 때문이다. 그래서인지 나도 어떻게하면 사용자들과 최대한 가까운 거리에서 허들을 낮춰 만날 수 있을지를 고민했던 것 같다.
권고사직
갑자기 뜬금없는 전개인데 7월 말에 회사로부터 권고사직 통보를 받았다. 실제로 그 소식을 전해들은 나 역시도 어안이 벙벙했다. 경영 악화로 인한 인건비를 감축해야 한다는 것이 이유였다. 회사의 수익구조상 프로덕트는 적자가 계속 누적되고 있었고, 이를 다른팀의 수익으로 메꾸는 상황이 지속되고 있다가 한계에 다다라서 결국 터져버린 것이다. 그렇다고 프로덕트가 완전히 서비스종료 하는 건 아니고 최소한의 유지보수를 위한 개발인원만 남겨두고 나를 포함한 나머지 인원은 모두 짐을 싸야하는 상황이 되었다.
나도 회사의 사정을 이해하고 덤덤하게 받아들이기로는 했지만 마음이 착잡해지는 건 사실이다. 긴 시간은 아니지만 약 10개월 남짓한 기간동안 프로덕트에 애착을 갖고 노력을 쏟아부었다. 목표기간까지 피쳐를 완성하기 위해서 야근과 주말근무도 했고, 버그 리포트가 나오면 밤이건 쉬는 날이건 할 것없이 집에서 디버깅하고 핫픽스를 배포하기도 했다. 이런 고생이 돈을 더 받는다거나 남들에게 인정을 받기 위해서가 아니다. 내가 관여하고 있는 프로덕트를 조금이라도 더 나은 방향으로 개선하고 싶은 욕심이 있었기 때문이다.
개발자마다 직업의 성취를 느끼는 기준은 각자 다르겠지만 나에게는 프로덕트와 사용자가 맞닿아있는 사이의 지점에서 상호작용하는 순간이 해당된다. 프로덕트에 기여하고 있다는 확신만 든다면 내가 고생하더라도 자부심을 가지고 일할 수 있었다.
공교롭게도 지난 포스팅에서 이 회사에 들어오게 된 가장 큰 이유는 바로 스타트업의 '낭만'을 좇기 위해서라고 밝혔다. 성공할지 실패할지도 모르는 불확실성이라는 파도에 내 커리어를 맡겨보고 싶었다. 이 무모한 도전이 지금 시점에서는 판정패를 받은 것으로 보인다. 솔직히 말해서 작년 이맘때 쯤 '합격통보를 받은 다른 회사에 들어갔더라면?' 하는 또다른 평행세계를 떠올려 보곤 한다. 최소한 권고사직을 당했을리는 없을테니 말이다.
그렇다고 이제와서 생각한들 뭐가 달라지겠는가. 지나간 과거를 탓하기보단 거기서 무엇을 얻었는지와 앞으로 어떻게 해야할지를 고민하는 게 정신건강에 더 도움이 된다. 일단 내가 얻은 가장 큰 수확은 동료들과 협업하는 경험을 얻었다. 첫 직장에서는 프론트를 거의 나 혼자서 도맡아서 개발했기 때문에 브랜치 전략이나 커뮤니케이션 방법을 익히기에 한계가 있었지만 이번 회사에서는 프론트 뿐만 아니라 백엔드, 데이터, 마케팅팀과 같이 하면서 이 2가지의 필요성을 절감하고 익힐 수 있게 되었다.
또한 일회성 개발 성격이 강한 외주 프로젝트가 아닌 회사에서 서비스하는 프로덕트를 개발하다보니 코드퀄리티와 유지보수에도 더 신경쓰게 되고 코드리뷰를 받으면서 내가 미처 신경쓰지 못했던 부분에 대해 다른 개발자들의 피드백을 받을 수 있던 점이 값진 경험이었다.
앞으로의 계획
앞으로 당분간은 쉬면서 이력서를 정리하려고 한다. 1년 전이나 지금이나 개발자 취업시장은 여전히 어렵기 때문에 긴 호흡을 갖고 여유롭게 생각하는게 마음이 편하다. 무엇보다도 멘탈을 잘 추스려서 멘붕에 빠져있지 않고 다시 달릴 수 있도록 준비해야겠다. 이번 권고사직이 현재 시점에서는 고난일지는 몰라도 개발자 커리어에선 그저 스쳐 지나가는 해프닝에 불과할지도 모른다. 남들은 쉽게 겪어보지 못했던 경험을 해봤으니 내 인생이 더 재밌어졌다고 생각해보자.