7월 말에 작성하는 2024년 상반기 회고
7월 말이라 조금 늦은 감이 있지만 주말에 조금 더 늘어져 있는 나를 하반기에도 으쌰으쌰하기 위해 1~6월 상반기에 있었던 일들을 정리 해본다.
상반기에 자동화를 빼놓을 순 없지
평일 퇴근하거나 주말에 시간 내어 자동화를 한 것들이 있다. 회사 근무 시간에는 스쿼드 우선 순위에 의해 정해진 일들이 있기 때문에 내가 만들고 싶은 자동화 관련 업무들을 개인 시간에 개발한 것이다. 이런 식으로 자동화 한 것들 먼저 정리해본다.
코드 리뷰 알림 자동화
가장 먼저 했던 건 코드 리뷰 알림 자동화이다. MSA 환경에서 총 6개의 Repository가 있는데 내가 모든 리뷰에 할당된다. https://github.com/pulls/review-requested
링크를 클릭하면 나에게 할당된 리뷰를 볼 수 있는데 문제는 내가 코드 리뷰(커멘트)를 남기는 순간 더 이상 저 링크에서는 볼 수가 없다.
그래서 리뷰 요청자는 매번 리뷰어를 멘션 해야 했고, 리뷰어는 Slack에서 스크롤을 올려 나를 멘션한 PR을 찾거나 6개의 Repository의 Pull Request 페이지에 직접 들어가야 했다.
이게 너무 불편해 github가 제공하는 API를 활용해 내가 리뷰어로 지정된 PR 중 draft 상태가 아니고 내가 승인하지 않은 모든 리뷰를 팀원들의 개인 Slack 으로 전달했다. 팀원들의 출근 시간에 맞춰서 한 번, 점심시간 이후 한 번. 총 두 번 전송하고 예시는 아래와 같다.
리뷰에 얼마나 도움이 되는지 정량적으로 파악할 순 없었지만 팀원들 모두 잘 사용하고 있고, 팀원 하이디나 피릿이 리뷰 과정이 훨씬 편해졌다고 말해줘서 뿌듯했다.
랜덤 런치 자동화
개인적으로 랜덤 런치는 신규 입사자나 협업할 일이 적은 팀원들이 다른 팀원들과 소통할 수 있는 매우 좋은 문화라고 생각한다. 문제는 회사에 한 명인 HR 담당자님의 일정이 바쁘면 랜덤 런치를 못한다는 점이었다. 만약 HR 담당자님이 팀원 구성을 더 편하게 만들 수 있다면 랜덤 런치가 누락되는 횟수가 줄어들지 않을까 하는 생각이 들었다.
Excel 기반과 Slack 기반의 자동화. 두 가지 대안을 들고 HR 담당자인 키오에게 티타임을 신청했고, 현재 인원을 고려해 Excel이 더 편할 것 같다는 키오의 의견을 택했다. 키오의 PC는 윈도우였는데 이 때 나에게 거의 없는 개발자로서의 가오(?)가 작용했다. 그 가오란 키오한테 자바스크립트 파일을 주면서 이 명령어를 실행 하라고 말하는게 아닌 윈도우 프로그램을 전달하고 싶었다.
이를 위해 나는 주말 카페에 Mac과 윈도우 노트북 두 개를 가져갔다. Mac에서 개발을 하고 윈도우 프로그램으로 포팅한 후 메일을 전송한다. 윈도우 노트북에서 메일을 통해 프로그램을 받아 실행시켜본다. 개발자들이 다 그렇듯 한 번에 동작하면 좋겠지만 생각보다 더 많은 트러블 슈팅이 있었다. 그래서 두 노트북을 옮겨가며 개발하고 결과를 확인하는 인고의 작업을 수십번 거친 뒤에 키오에게 프로그램을 전달할 수 있었다.
나름 고생해서 만들었는데 안 쓰면 어떡하나 걱정도 되었는데 키오에 이어 현재 베어까지 계속 쓰는 걸 보고 그 시간이 헛되지 않았음에 감사한다.
푸시 알림 예약 자동화
회사에 입사하고 얼마 지나지 않아 운영팀의 팀원이 토요일에 사용자들에게 직접 푸시를 보내는 Slack 메시지를 보게 되었다. 푸시 알림에 대한 예약 기능이 없어 주말이나 연휴에 푸시 발송이 필요한 경우, 팀원이 집에서 직접 노트북을 열어서 전송해야 한다.
이걸 알고 마음이 조금 불편했는데, 회사 입장에서는 우선순위에 의해 정해진 더 중요한 일들이 많아 이걸 업무시간에 몇 주에 걸쳐 개발하는 것을 컨펌 해줄리 만무했다. 이번 3월에 개인적으로 이 작업을 하겠다고 말했고 CTO님도 당연히(?) 응해주셨다. 리뷰 과정에서 알림 서버의 구조까지 전반적으로 리팩터링 하게 되어 생각보다 훨씬 오래 걸리긴 했다.
그래도 이제 주말이나 연휴에 푸시 보낸다는 Slack 메시지를 볼 일이 없어 마음의 불편함이 사라짐을 느낀다. 메이브. 잘 쓰세요.
Slow 쿼리 Slack 자동화
서비스에서 어떤 Slow 쿼리가, 얼마나, 자주 발생하는지에 대해서 잘 모른다는 생각이 들었다. 물론 서비스 배포 후 항상 datadog을 통해서 응답이 느린 API 들이 있는지 확인하고 개선하기 때문에 Slow 쿼리들이 많을 거란 생각은 안 했지만 그래도 어떤 쿼리가 느린지 모르는 것과 적극적으로 모니터링 하며 인지하고 있는 것은 다르다고 생각했다.
이 작업을 할 때 한동안은 쿼리를 개선하기 위해 시간을 보낼 수 있겠다는 생각을 했는데, 실제론 서비스의 slow 쿼리들이 생각보다 적어서 배포 후에 튜닝을 위해 많은 시간을 보내진 않았다.
또 책을 많이 읽어버렸다
책을 엄청 많이 읽었다는 뜻은 아니다. 상반기에는 책 보다는 뭔가를 많이 개발해 볼 생각이었는데.. 생각보단 많은 책을 읽었다.
- 실리콘 벨리의 팀장들
- 육각형 개발자
- Code 2판
- 내 코드가 그렇게 이상한가요?
- 그래서 컴퓨터는 어떻게 동작하나요?
- 단위 테스트
- 읽기 쉬운 코드가 좋은 코드다
- 코드 작성 가이드
- 드라이브
- 상자 밖에 있는 사람
- 타입으로 견고하게 다형성으로 유연하게 (추천까진 아님)
모두 추천할 만한 책들이며 두 권만 언급하자면 내 코드가 그렇게 이상한가요?
라는 책은 다 읽고 책을 덮으며 이 책은 더 유명해지겠다고 생각한 책이다. 상자 밖에 있는 사람
은 기계인간 이종립 님이 추천하는 걸 보고 읽게 되었는데, 이 책은 누군가에겐 아무것도 아닐 수도 있지만 누군가에게는 읽기 전과 후가 다를수도 있는 책이다. 이 책을 읽은 후 상자 밖에 있으려고 노력하고 있다.
개발자로서 상반기를 돌아보면 귀찮은 일들, 동료들을 위해서 자동화 하는데 시간을 많이 보냈고 내가 능력자였다면 이런 작업들을 더 많이 할 수 있었을텐데 아쉬움이 남기도 한다. 상반기에는 사이드 프로젝트를 시작할 줄 알았는데 생각보다 책들을 많이 읽었고, 다행히 읽은 책들의 대부분이 좋은 책들이라 아쉬움은 없다.
더 좋은 나로 한 걸음씩 걷고 있다
개인으로서 상반기는 내가 더 좋은 사람이 되기 위한 시간들이 지속되고 있다. 몇 가지 큼직한 것들을 적어보면 상반기부터 금연을 하고 있고 현재는 생각이 별로 안 난다. 금연한지 얼마 안 되어 위기가 한번 있었는데 지금 스트레스 받는다고 담배를 피면 행복해질까? 라는 질문을 스스로 했다. 답은 아니였고 그 후로 위기는 없었다. 평생 금연한다는 확신은 없지만 꽤 오래 금연할 수 있을 것 같다.
저축하는 습관이 강해졌다. 그 전에도 저축을 했지만 반드시, 꾸준히를 강조하진 않았는데 이젠 매월 고정 지출과 생활비를 제외한 월급은 다른 통장에 넣고 있다. 월급 받고 몇 일만에 내 통장은 가난해지는 단점이 있지만 그래도 목표했던 대로 저축되는 걸 보면 뿌듯하다.
건강에 대한 관심과 지식이 늘어 꾸준히 운동하고 있다. 유튜브로 이것 저것 학습해 보니 두 가지 목표가 생겼다. 하나는 건강한 몸으로 돌아가는 것, 두 번째는 내장 지방을 줄여야 겠다는 생각이다. 처음에는 헬스장을 등록하고 헬스장에서만 운동을 하려니 잘 안가게 되었는데 지금은 홈트와 헬스장을 적절히 섞으니 더 꾸준히 운동하게 되었고 조금씩 몸무게를 줄여가고 있다.
주말에 의미없게 보내는 시간을 줄였다. 정확히는 인스타그램을 지웠다. 주말에 릴스를 보면 시간은 참 잘가는데 다음날 내가 어제 뭐 봤지? 생각해보면 별로 기억나는게 없다. 인생에 크게 도움 되지 않을 것 같아 삭제해버렸다.
올해 12월 말에는..
하반기에 8월까지는 생각해둔 책들이 있어서 책을 읽고 9월부터는 생각해둔 사이드 프로젝트를 진행하고 내가 직접 사용하는 앱으로 출시할 계획을 가지고 있다. 개인으로서는 잘 하고 있는 것은 꾸준히 유지하고 안 좋은 것들은 더 좋은 내가 되기 위해 없애거나 바꾸는 시간들을 계속 가질 생각이다.
7월의 끝자락이라 올해 말 회고를 쓰기까지 5개월이 남았다. 7월 한달은 조금 게을렀는데 5개월 열심히 보내고 12월 말, 열심히 보낸 시간들이 빛나는 회고를 쓰고 싶다.