회고록/주간 회고

23년 3월 2주차 주간 회고

Woonys 2023. 3. 12. 23:11
반응형

Keep

1일 1커밋 재개 with owlRoutine→ good

현재 운영 중인 개발자 자기계발 커뮤니티 올루틴 덕분에 1일 1커밋을 재개했다. 결과는 아래 이미지와 같이 성공적!(주말은 쉬어가기로 했다 ㅎ..) 역시 사람은 환경설정의 동물이다. 앞으로도 목표를 이루려면 의지 따윈 믿지 않고 철저하게 내가 하게끔 만드는 환경을 구성할 것.

스케줄러 작업 Divide & Conquer → 성공!

시작부터 끙끙 앓게 만들었던 대규모 프로젝트. 내가 맡은 파트는 한 달 안에 총 6개의 스케줄러를 만들어야 하는, 만 1년이 채 되지 않은 신입에겐 다소 빡센 작업이었다.

처음에는 무엇부터 접근해야 좋을지 몰라 설계서에 주어진 대로 하나씩 만들어야겠다 했다.(설계서 내 순서에는 따로 큰 의미가 없음) 그런데 설계도에서 첫번째 순서였던 스케줄러 작업이 만만찮았다. 정기 결제 스케줄러였는데 트랜잭션 관리부터 신경쓸 게 한두 가지가 아니었기 때문이다. 게다가 from scratch로 만들었어야 해서 부담감이 컸다. 그러다 보니 일주일 내내 붙잡고도 진도가 나가지 않아서 스트레스였다.

관점을 바꿨다. 가장 쉬운 것부터 빠르게 작업하자. 스케줄러를 디자인 하는 작업이 처음이니까 기존에 얼추 완성되어 있는 걸 리팩토링하는 것부터 작게 작게 하기로 방향을 바꿨다. 하나 만들고 익숙해지면 더 어려운 걸 작업하는 식으로 방향을 선회했다. 그러자 금세 스케줄러 하나가 뚝딱 만들어지더라. 디자인은 아래와 같다.

저번주에 더 Divide & Conquer해보자고 다짐했던 게 바로 이뤄지니 기분이 짜릿했다. 역시 이 맛에 개발하나 싶다. 계속 이렇게 하면 한 달 안에 완수할 것 같다는 확신이 선다.

자바 알고리즘 start

요즘 도커 스터디 준비하느라 자바 & 스프링 공부에 소홀했다. 적어도 스터디하는 당일에는 일과 후 공부 때 refresh 겸 자바 알고리즘 공부하기로 했다. 그래서 이번주 목요일에는 요걸 공부했다.

자바 언어는 개발에 필요한 가장 근본적인 도구다. 이걸 자유자재로 다룰 줄 알아야 스프링부터 그 다음까지 쭉쭉 나가지 않겠나. 앞으로도 일주일에 하루 정도는 자바를 더 잘 다룰 수 있는데 집중할 예정.

모르는 게 있으면 이해할 때까지 끝까지 물고 늘어진다

버그 픽스 관련해서 작은 티켓 하나를 맡았는데 도메인 내용이 잘 이해되지 않아서 작업에 어려움이 있었다. 처음에는 티켓만 보고서 작업하다가 도저히 안되겠어서 카운터 파트 사람에게 연락해 몇 번에 걸쳐 미팅했다. 대출 심사 전략 팀 사람이었는데(인도 사람) 미팅 때마다 영어로 거진 1시간씩 대화하느라 힘들어 죽는 줄 알았지만.. 결국 끝까지 물고 늘어진 덕분에 생각보다 빠른 시간 안에 작업을 마무리했다.

모르는 게 있으면 끝까지 물고 늘어져야 한다. 예전 버릇 중에 몰라도 아 그렇구나 하고 넘어갈 때가 종종 있었다. 하지만 그렇게 행동하면 결국 작업물의 퀄리티로 이어진다. 이번에 미팅하면서 상대방이 했던 얘기를 중간중간에 계속 내가 방금 네가 했던 얘기를 rephrase해도 될까? 하면서 싱크를 맞췄다. 덕분에 미팅 때는 힘들었을 지언정 요구사항을 보다 명확히 이해할 수 있었다.

Learn

프로덕션에서 첫 에러 터뜨렸다..!

ㅋㅋㅋㅋ지금에야 이걸 웃으면서 적지만.. 당시에는 깜짝 놀라서 허둥지둥 댔던 이슈였다. 작업 다 마무리하고 배포한 뒤 모니터링하는 과정에서 OOM 에러가 터졌다. 당시 시간은 고객 팀이 한창 일할 시간이었고 에러를 터뜨렸던 게 고객 관리 툴 서버였기 때문에 “와…X됐다…”하면서 어찌할 바를 몰랐다. 몇 분 정도 원인 찾으려고 혼자 끙끙대다 도저히 안되겠어서 “이거 롤백해야 될 것 같아요” 하고 슬랙을 보냈다. 그러자 팀 리드가 이슈를 가만 보더니 “너 리포트 만들 때 날짜 범위를 너무 넓게 잡은 거 아냐?” 하고 묻더라. 알고 보니 테스트 서버에서는 데이터 양이 적어서 3개월 치 리포트를 만들어도 고객 데이터가 고작 몇십 개 수준이라 큰 문제가 없었는데 프로덕션에서는 몇십만 개가 잡히니 리포트 만드는 과정에서 메모리가 부족해서 터진 이슈였더라.(즉, 배포 기능 상에서는 문제가 없었음). 리스타트하고 나니 멀끔해졌다.

처음으로 에러를 터뜨렸던 소중한 경험이었다. 심지어 비즈니스에 문제가 가는 에러는 아니었어서 다행이었다. 그런데 여기서 그치면 안된다. 시니어가 보여준 것처럼 에러를 터뜨렸을 때 어디서 문제가 터졌는지 하나씩 시나리오를 짜고 해결할 수 있어야 한다. 요번에는 허둥지둥했지만 앞으로 더 잘해보자.

코드 리뷰 남길 때 억양 주의하기

영어로 코드 리뷰 남길 때 어떻게 하면 더 부드럽게 적을 수 있을지 고민해보자. 억양이 알게 모르게 센 것 같다.

목표 적기 & 시각화

이건 업무 관련 Learn은 아닌데, 개인 목표를 보다 명확히 적고 이를 시각화해야겠다. 이전에도 한 게 있지만 더 뾰족하게 적고 계속 이를 관리해야겠다.

Try

  • 목표 보드 적기 & 시각화
반응형