Published on

2025년 8월 회고

Authors
  • Name
    X

8월도 회고 작성이 늦었는데, 9월은 더 늦었다. 10월은 더 늦고 그 뒤로 계속해서 더 늦기 시작하면 결국에는 지속하지 못하는 상황이 올 수도 있겠다라는 두려움이 밀려오기도 한다. 잠시 트랙을 벗어났지만 그래도 다시 돌아와서 10월부터는 조금 더 미리미리 정리하고 회고를 작성해볼 수 있도록 노력해봐야겠다.

8월의 일

이번 달에 회사에서 했던 일들을 정리해보면 "간편모드 광고주센터 스토리 광고 소재 지원", "전문가모드 캠페인 예산 최적화 기능 개발", "BFF 로깅 체계 정리" 크게 이 3가지가 있었다.

스토리 소재 추가

첫 번째 "스토리 소재 추가"는 간편모드 광고주센터에서 광고를 만들 수 있는 내부 소재 중에 "스토리"라는 소재를 포함시키는 작업이었다. 스토리는 우리가 익히 알고 있는 인스타그램의 릴스 혹은 유투브의 쇼츠와 같은 포맷의 컨텐츠라고 보면 된다. 이번 작업을 하면서 어떤 트러블 슈팅이 있었는가 생각해보면, 우선 비디오를 웹에서 다뤄야했기 때문에 관련해서 문제들이 있었다. 예를 들면 hls 포맷의 비디오를 chrome 브라우저에서 실행시키기 위해서 외부 라이브러리를 사용해야했다.

그리고 광고주센터에서 지원하는 광고 소재가 늘어감에 따라 새롭게 추가되는 소재를 어떻게 잘 추가할 수 있고, 앞으로도 문제없이 추가를 해나갈 수 있을까에 대한 고민이 있었다. 결국 코드 자체가 도메인별로 경계가 제대로 서있고, 각 코드가 분명한 역할을 지니는 코드를 작성하고 합성하는 방식이 가장 중요하다는 생각을 하게 되었고, 그렇게 실천하려 노력한 프로젝트였다.

캠페인 예산 최적화

두 번째 "캠페인 예산 최적화" 작업은 기존에는 "광고 그룹"에만 예산을 지정할 수 있었다면, 이제는 더 상위 개념인 캠페인으로 해당 개념을 끌어올려서 캠페인에서 예산을 설정하고 광고주들이 관리할 수 있도록 해주는 기능을 개발했다. 이 과제를 하면서는 주로 보는 코드베이스가 아닌 다른 코드베이스를 보면서 작업을 했는데, 중간중간 claude code를 자주 활용했다.

새로운 프론트 작업을 할 때 과제 자체를 claude code에게 맡기는 것은 어렵지만, 코드 분석을 통해 정보를 전달받거나 작성한 코드를 조금 더 괜찮은 형태로 발전시키는 데에는 꽤나 유용했고, 잘 활용하면서 작업을 했던 것 같다. 요즘은 사실 Cursor의 채팅을 잘 쓰지 않고, Cursor에서 작업하더라도, Claude Code를 띄워서 AI를 활용하는 방식을 더 자주 사용하고 있다.

BFF 로깅 정리

마지막 작업은 "BFF 로깅 정리"이다. 이 작업은 BFF 로깅과 에러 알럿 등을 체계적으로 관리하고 false 알럿을 최대한 제거하고 좋은 alert 시스템을 갖추기 위한 작업이었다. 이 작업을 위해서는 특별하게 코드 작업이 많았다기보다는 BFF 로깅에서 어떤 것들을 로깅할 것이며 각 로깅들을 어떻게 분석하고 우리는 반응해야할까에 대한 체계를 갖추고 정리한 시간이었다. 크게 로그를 error, warn, info와 같은 기준으로 나뉘는 체계를 생각했다.

error 로그는 기본적으로 0으로 수렴해야하는 값이고, warn은 추세를 벗어나지 않아야하는 값, info는 구체적인 내용을 확인하고 싶을 때 검색할 수 있는 로그 정도로 정리했다. 그리고 이런 관점에 맞게 로깅되어 있지 않던 로깅 관련된 코드들을 정리했다. 코드를 많이 작성한 것은 아니었지만, 굉장히 뿌듯한 작업이었던 것 같다. 스스로 체계를 정립하고, 그에 맞게 코드를 정리해서 결론까지 본 내용이었기에 더 그렇게 생각이 드는 것 같다.

8월의 생각

뛰어난 개발자는 "학습 전문가"이자 "복잡성 관리 전문가"이여야 한다.

최근에 모던 소프트웨어 공학이라는 책을 읽었다. 이 책에서 감명 깊었던 부분은 어떤 부분에 "소프트웨어 엔지니어"가 전문가가 되어야하는 가에 대한 내용이었다. 이 책에서는 뛰어난 개발자는 학습 전문가이자 복잡성 관리 전문가가 되어야한다고 말하고 있다.

첫 번째로 어떻게 하면 "학습 전문가"가 될 수 있는가? 전문가가 되고 싶은 영역을 "반복적으로 작업하기", "고속, 고품질의 피드백을 받을 수 있는 환경 구축하기", "점진적으로 작업하기", "실험하기", 그리고 "경험적으로 접근하기"의 구분으로 내용들을 말하고 있다. 즉, "고속, 고품질의 피드백을 받을 수 있는 환경(책에서는 개발에서의 TDD를 언급하고 있다.)을 구축한 상태에서 반복적으로 실험하면서 결과를 통해 점진적인 발전을 도모"하는 것을 지향한다면 그 분야에 대한 전문가가 될 수 있다고 말하고 있다. 굉장히 함축적으로 여기에는 표현했지만, 책을 읽어보면 여러 가지 예시들과 함께 잘 설명을 해주고 있다.

두 번째로는 "복잡성 관리 전문가"가 되어야한다는 내용이었다. 복잡성 관련해서 이야기할 때에는 조금 더 소프트웨어 공학 관련된 용어들이 많이 등장한다. "모듈성", "응집성", "관심사 분리", "정보은닉/추상화", "결합도 최소화"와 같은 꼭지로 설명하고 있다. 즉, 적절한 추상화를 통해서 관심사를 분리된 모듈을 응집성있게 관리하고 그리고 모듈 간의 결합도를 최소화시키는 것이라고 정리해보았다. 좋은 코드, 좋은 설계에 대한 이야기를 하다 보면 항상 등장하게 되는 개념들이라고 생각했지만 그래도 사례들을 통해서 조금 더 깊게 이해하고 관련된 지식을 강화할 수 있었다.

전반적인 책 내용은 위와 같다. "학습 전문가", "복잡성 전문가"가 되어 좋은 소프트웨어 개발자가 되고 싶다. 그리고 더 나아가 이런 원칙은 사실 삶에도 충분히 적용 가능한 부분이라는 생각도 덩달아 들었다. 삶의 문제에서도 다음과 같이 접근하면 비슷하게 효과를 얻고 좋은 결과를 얻을 수 있지 않을까 싶었다.

9월의 학습 주제

최근에 회고를 다시 쓰면서 처음 주제가 재무 투자 관련된 학습에 힘을 쏟고자 다짐했었다. 하지만 아직까지 만족할만큼 진행을 하지 못하고 있다. 이런 저런 이유들이 있었지만, 결국에는 핑계에 가깝고, 다시 초심으로 돌아가서 연금에 대한 모든 것에 대한 학습을 시작으로 다시 매달 학습 주제를 잡고 학습하는 습관을 들이기를 다시 시도해보려고 한다.

다음 달의 내가 또 회고를 쓰고 있을 때에는 이번에는 어느정도 결과가 있었고, 그 결과를 꼭 회고글에 작성할 수 있기를 바라본다.