2024년 6월 1일 토요일

3년 1개월이 지난 회고

 https://blog.keizie.net/2018/07/resume-or-postmortem.html


8년 하고도 3개월짜리 회고를 한 것도 벌써 6년이 지났다.

 

1. 해온 일

  • 개발조직이 주가 아닌 업체에 잠깐 있었는데 인하우스인데도 외주처럼 다뤄지는 느낌이라 금방 손을 뗐다.
  • 쇼핑몰과 풀필먼트를 모두 보유한 회사에 잠깐 있었는데 개발조직 구성이 생각보다 안 좋아서 일찌감치 발을 뺐다. 실물을 다루는 커머스는 엮이는 게 정말 많다는 걸 새삼 맛볼 수 있었다.
  • PHP 기반의 레거시를 가진 콘텐츠 판매 업체에서 1년 3개월 정도 있었다. 나름 재미있는 경험이었고 회사 안에 가족관계가 존재하면 정말 문제가 된다는 걸 크게 느꼈다. 이 다음에 한참동안 나라가 주는 월급으로 생활하면서 회복기를 가졌는데 이것도 아주 즐거운 시간이었다.
  • 그동안의 주력이었던 PHP로 된 레거시를 Node.js로 전환하려는 업체를 만나 좋은 경험을 할 수 있었다. 도메인 자체는 인터넷 방송이라서 상당히 거리감이 느껴지는 분야였고 실제로도 그 분위기에 적응하기까지 꽤 시간이 걸렸다. 기술적으로도 단순한 웹페이지가 아니라 꾸준히 떠 있어야 하는 싱글페이지 앱에 가까운 걸 제공해야 했고 웹소켓이라는 실시간 통신도 다뤄야해서 손이 많이 가는만큼 새로운 분야의 경험을 할 수 있었다.
  • 팀 리드 역할을 맡았다. 경력이 있는만큼 자연스럽다고도 할 수 있겠는데 특히 이 회사에는 관리직에 큰 회사 경험이 있는 사람이 있다보니 그 전에 했었던 "기술팀을 두루 아우르는" 뭉뚱그린 역할이 아니라 몇 가지 명확한 요구사항이 존재했고 한동안 이를 충족시키기 위해 시간과 노력을 꽤 들여야 했다. 매니징 트랙으로 완전히 전환하지 않았지만 앞으로 매니징 역할을 또 하게 될 때 참고가 될만한 경험치였다고 느낀다.
  • 역할 분장이 뚜렷했어서인지 리드 역할로 팀원과 주로 접촉했기 때문인지 회사 내의 다른 팀 인력들과의 복합적인 의사소통은 아주 많지는 못했던 것 같다. 아주 가끔 있었던 조인트 회식, 종종 참여했던 필참은 아닌 회의들에서의 의사소통, 혹은 진척이 막힌다고 느낄 때 이해당사자와 직접 작업상황을 확인하는 등의 시도는 이어가려고 노력했다.

 

2. 다뤄본 것

  • AWS EKS를 통해 K8s를 겪어볼 수 있었던 게 가장 큰 수확이었다. 어지간한 규모가 아니면 효율을 뽑기 힘들 것 같고 앞으로 또 써볼 수 있을지도 의문스럽다.
  • 웹소켓 관련 경험도 좋았다. 간단하게 맛보는 건 정말 간단하지만 깊이 파고들자면 고려할 게 꽤 많아지는 것들이라 실무에서 깊게 다뤄볼 수 있어 좋았다.
  • PHP를 Node.js로 옮기는 건 결과적으로는 깔끔하게 딱 떨어지는 결과를 내지 못했다. 상단에 API Gateway 역할을 두고 하위에 레거시와 신규를 두는 방식이 가장 좋았겠지만 인프라와의 업무분장이나 프론트엔드와의 접근법 차이 등을 고려해 하나의 방식을 밀어붙이지는 않았다. 다음에 또 비슷한 상황이 생기면 좀 더 조율에 시간을 할애하는 게 좋지 않을까?
  • Redis가 캐시만이 아니라 pub/sub을 통해 MSA 느낌으로 시스템 전반에 관여하고 있었다. 너무 예전에 구축되고 멈춘 레거시여서 pub/sub을 큐 용도로 쓰는 건 좀 비틀어진 느낌이었어서 개선하고 싶었지만 여의치 못했다.
  • Nest.js는 정말 좋은 프레임워크였다. PHP를 다루면서 개념만 접하고 말로만 들었던 DI나 서비스 레이어, DTO 같은 것들이 실제로 구현체로 다가오고 동작시켜볼 수 있다는 게 좋았다. TDD도 테스트 먼저 작성한다는 게 어떤 것인지 머릿속으로만 상상했었는데 어느 시점이 되니 내가 그걸 하고 있어서 놀라웠다.
  • CI/CD라고 하는 걸 좀 더 본격적으로 접할 수 있었다. 인프라 담당자가 따로 있다는 건 매우 좋은 상황이었다.
  • 충전 캐시 개념을 다루었다. 기존 PG 경험은 단건결제 단건취소(혹은 부분취소)까지였는데 충전을 하고 충전된 캐시를 사용하고 정산하는 등의 로직은 또 다른 체험이었다. 정산만을 위한 하위 앱이 따로 있어서 나중에는 회계 관련도 조금 더 이해해야 하는 상황이 되었다.

 

3. 다뤘어야 하는 것

  • 6년 전에는 이 부분에 기술적인 아쉬움을 주로 적었는데 이번에는 기술적으로는 떠오르는 것이 별로 없다. 기술적인 노력이 부족했기 때문에 아쉬움도 없는 것일까? 아니면 하고 싶은 건 다 해봤기 때문일까?
  • 서비스에 유튜브 도입을 더 빨리 했다면 어땠을까 하는 생각은 든다. 3년 조금 넘는 정도의 재직기간에서 가장 큰 후회를 꼽자면 이것이다. 흔히 말하는 "급한 일과 중요한 일" 중에서 급한 일들을 처리하다 보니 밀렸던 건데 결과적으로 보면 먼저 처리해야 하는 중요한 일이었다.

 

4. 다루고 싶은 것

  • BI를 강화하고 싶었지만 맡은 JD에서는 벗어나는 부분이라 선뜻 의제화를 하지 못했다. 자체적으로 데이터를 보유하고 있어도 분석해서 활용하지 않으면 쓸모가 없다.
  • 깃허브 코파일럿을 시작으로 AI가 두드러지게 등장하는 기간이었다. AI 관련을 업으로 삼기는 어렵지 않을까 생각했지만 개인 프로젝트를 위해 찾다보니 모델 자체를 연구하는 것 외에 모델을 응용해서 이런저런 결과물을 내는 것도 손이 많이 필요한 부분이고 내 지난 이력들과도 많이 다르지는 않을 것 같았다. 기회가 되면 ML 등을 접목한 작업도 해보고 싶다.