당연히 안되는 것 구별해내기

2024년 2월 20일 화요일

Today I Learned

날짜

2024년 2월 20일 화요일

내용

유지 보수 종료

유지 보수 스프린트가 종료됐다. 이전에 AI 서비스를 만드는 스프린트와 다음에 진행될 것의 사이에서 이전에 부족하거나 고쳐야 할 부분을 다듬었다. 개인적인 욕심으로는, AI 때 만든 기능들에 대한 테스트 코드를 추가하고 싶었는데 미루길 반복하다 시간이 부족해서 못했다. 주어진 시간이 없다기 보단, 내가 AI 시작하기 전에 완성했어야 했지만 그러지 못한 것들에 낭비된 시간, 이메일 CSS 한다고 날린 시간이 크다. 개인적으로 시간을 들여서라도 좀 만들어놔야겠다.

유저들에게 보내는 서비스 메일은 다양하다. 설치 직후, 온보딩 관련, 설치 이 후 특정 기간에 보내는 메일들이 있는데, 이 로직에 특정 조건을 추가했다. AI가 아닌 리뷰 관련 서비스를 사용하는 유저에게만 발송하도록. 각 메일들이 어떤 과정으로 보내지는지 파악하며 추가해주었는데 2곳에서 문제를 겪었다. 특정 shop에게 메일을 보냈는 지를 기록하는 테이블(shop_service_mail_history)가 존재한다.

가입 환영 메일

알파리뷰를 스토어에 설치하고, 알파리뷰 계정을 새로 생성한 유저에게는 welcome 메일을 발송한다. 테이블에는 “첫번째 메일”로 처리되는데, 내가 조건을 추가한 이후로 메일이 발송되지 않았다. 문제는 내가 정확한 온보딩 과정을 이해하지 못하고 있었기 떄문이었다. 처음 알파리뷰를 설치하는 유저의 Flow는 대략 다음과 같다.

  1. 알파리뷰 설치
  2. 리뷰 or AI 선택
  3. 계정 생성(없을 때)
  4. 온보딩 과정 진행

나는 2번에서 리뷰를 선택하면 이와 관련된 유저 정보가 바로 업데이트 된다고 생각했었다. 하지만 실제로, 특정 shop이 리뷰 서비스를 사용한다고 데이터에 추가되는 것은 온보딩 과정이 끝나고서였다. 반면, 계정을 생성한 유저에게 가입 환영 메일을 보내는 시점은 3번이 완료된 때이다. 따라서 이 때 리뷰 서비스를 사용한다고 표시된 유저에게만 메일을 보내도록 조건을 추가하면 그 누구도 메일을 받을 수 없다. 4번이 끝나고 나서야 표시가 되기 떄문이다. 3번 시점에서 리뷰 서비스 사용이 표시된 가입자는 없다. 따라서 이 경우에는 조건에서 제외했다.

설치 30일 후 발송되는 메일

분명 노션에 적힌 바로는 이 떄 메일이 발송되야 했고, 물어도 봤지만 찾을 수 없었다. 알고보니 안되고 있었다. 지금은 입사한지 고작 100일이 좀 넘었지만, 몇 년 뒤라면 당장 오늘 내가 처리한 부분을 기억할 리가 없다. 업무의 연속성을 위해서라도 기록을 습관화할 필요성을 느꼈다.

회고

다음 스프린트를 위해 Anguar 17에서 달라진 점을 살펴봤다. 무슨 말인지 모르겠다. 큰일났다. 근데 생각해보니까, 그냥 Angular를 공부해야 하지 않을까? 마치, 처음 보는 여성분이 투블럭으로 머리를 자르고 “저 뭐 바뀐 것 없어요?”라고 해봤자 대답할 수 없는 것 같은 기분이다.