
이번 주에는 로깅 기능을 구현하고 정리하면서 생각보다 여러 부분에서 고민이 많았고, 덕분에 나 자신에 대해서도 다시 생각해보는 계기가 됐다.
처음에는 그냥 로깅 필터만 잘 만들어서 등록하면 되는 줄 알았는데, 요청마다 traceId가 서로 다르게 찍히는 문제가 발생했다.
알고 보니 traceId를 생성하는 필터가 가장 앞에서 실행되지 않으면, 이후 필터들이 각자 새로운 traceId를 생성하게 되어 로그가 흐름대로 남지 않는다는 걸 알게 되었다.
그래서 현재 구조에 맞게 traceId 필터를 제일 앞단에 명시해주었고, 그제야 API 요청 로그와 예외 로그가 하나의 흐름으로 자연스럽게 연결됐다.
이번 경험을 통해 traceId는 단순히 로그마다 하나씩 찍는 값이 아니라, 하나의 요청 흐름을 따라가기 위한 기준이 된다는 걸 느꼈다.
개발 초기엔 로그가 잘 찍히는지 정도만 봤다면, 지금은 그 로그들이 전체적으로 어떤 흐름을 만들어내는지를 의식하게 되었다.
이번 프로젝트 초반, 나는 개발을 할 때 코드가 깃에 올라가는 시점까지는 최대한 완성형에 가깝게 만들어야 한다고 생각했다.
기능 구현 이전에 테스트가 충분히 되어 있어야 하고, 되도록이면 구조를 미리 정리해서 나중에 손대는 일이 없도록 하고 싶었다.
변경이 적은 게 좋은 거라고 여겼고, 애초에 리팩토링이라는 일이 생기지 않도록 만드는 것이 더 나은 방향이라고 믿고 있었다.
근데 이번 주에 팀원과 얘기를 나누면서, 너무 완벽하게 하려는 내 태도가 오히려 전체 속도를 늦추는 경우도 있을 수 있다는 걸 깨달았다.
당장의 완성도보다도 일단 하나의 흐름을 만들고, 릴리스를 통해 확인한 다음, 그 이후에 개선해 나가는 방향도 충분히 의미 있다는 이야기를 들었다.
나름대로 합리적이라고 생각했지만, 실제로는 그 안에서 내가 놓치고 있던 게 많았던 것 같다.
잠실에 있는 '이날식당'이라는 곳이었는데, 프젝 얘기도 하고, 내가 가졌던 생각들에 대해서도 차분하게 얘기를 나눴다.
개발하면서 부족했던 부분들을 나도 인지하고 있었고, 그 부분에 대해서 솔직하게 사과할 수 있었던 자리였다.
팀원도 불편함 없이 얘기할 수 있게 도와줘서 되게 따뜻하고 편안한 분위기였다.
마무리는 회식이었지만, 그날은 단순한 식사 자리가 아니라 나한테는 좀 중요한 시간으로 기억될 것 같다.

안녕하세요. FISA 관련해서 여쭤보고 싶은 게 있어서 댓글 달았습니다.
혹시 시간이 되신다면 궁금한 점 몇 가지 여쭤봐도 될까요?