어느덧 입사한지 2년이 넘었다.
항상 새해에는 많은걸 다짐하는데, 막상 이뤄내는건 많지 않은 것 같다.
지난 2023년 회고에서 한 2024년 다짐들을 모두 이룬 것 같지는 않지만 2023년 만큼 2024년도 백엔드 개발자로서 나름 많이 성장했기 때문에 회고를 쓰며 되돌아보는 시간을 가지려 한다.
배운 신규 기술스택
Spring Batch와 Kafka를 새로 배우며 프로젝트에 적용하는 경험을 했다.
1. Spring Batch
기존 배치작업들은 Mysql SP + Event 의 구조로 개발이 되어있었다.
하지만 코드 형상관리, 디버깅 및 에러 모니터링등에 너무 큰 불편함이 있어서 Spring Batch를 이용해 신규 배치서버를 구축했다.
정수원님의 인프런 강의를 참고해 공부를 시작했다.
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%EB%B0%B0%EC%B9%98
해당 강의 버전과 현재 Spring Batch 최신 버전의 코드 스타일이 약간 다르긴 한데, 기본 개념을 다지고 들어갈 수 있는 좋은 강의이다.
Spring Batch에서 제공하는 Job, Step, Task 및 Item Reader/Processor/Writer 등을 적극 활용하며 로직을 구현했고 상당히 재밌었다. 이 과정에서 트러블 슈팅도 경험하며 글도 썼다.
Thymeleaf를 통해 개발자용 모니터링 페이지도 구축했다.
Spring Batch에서 제공해주는 배치 메타데이터 스키마들을 이해하고, 이를 쿼링하며 구현했다.
이 과정에서 Spring Batch 내부 동작 이해도가 높아진 것 같다.
2 Kafka
서비스 특성상 결제 데이터를 이용해 처리하는 로직이 존재하는데, 기존에는 결제팀에서 우리 서비스에 맞게 커스텀한 서버에서 우리의 API를 호출하며 처리하는 방식으로 진행했었다.
그러나 우리의 서비스에 추가 요청사항이 생길때마다 결제팀에서 작업 리소스가 생기는 일이 부담되어 이를 우리팀으로 이관하는 작업을 진행했다.
사내 결제 데이터는 Kafka Stream을 통해 구독 가능한데, 이를 이용해 새로운 구독 아키텍처를 구현했다.
앞선 Spring Batch 처럼 학습한건 아니고, 수많은 아티클을 보며 이해도를 높여나아갔다.
성격이 급해서 일단 구독을 성공한 시점부터 아키텍처를 구상하고 서비스 로직을 구현했는데, 점점 몰랐던 내용들이 새롭게 쏟아져 나오면서 수많은 수정을 반복했다.
새로운 기술스택을 적용할 땐 Spring Batch에서 했던 방법처럼 모든 이론 학습을 억지로 머리에 넣은 뒤에 구현하는게 더 좋은 것 같다.
아무튼 수많은 시행착오를 겪으며 사내 결제 스트림 데이터를 구독하는 로직을 구현했다.
이 과정에서 겪은 내용들 또한 포스팅했다.
https://tjdahr25.tistory.com/91
개발자 페이지로 운영리소스 최소화
우리는 내부적으로 다섯 종류의 백엔드 서버를 운영하고 있는데, 각 서비스의 모니터링에 한계를 느끼고 있었다.
특히 결제 데이터를 처리하는 서버에서 오류가 발생할 때마다 너무 많은 리소스가 투입되어서 개발자 전용 페이지를 만들어 이를 개선하고자 했다.
이번년도에 도맡았던 배치서버와 결제데이터 처리 서버 (이하 코어) 에 우선으로 적용해보았다.
Spring 서버에서 Thymleaf를 사용해 페이지를 구축했다.
개발자가 서버 운영을 위해 만든 개발자 전용 API나 현재 서버의 처리 현황등을 쉽게 사용하고 확인하기 위해 페이지를 기획하고 구현했다.
실 사용자가 나였기 때문에 고객 만족도는 100%라고 볼 수 있다.
실제로 운영 리소스가 많이 줄어드는 경험을 해서 다른 서버에도 적용할 예정이긴 한데 운영 리소스는 줄어도 추가적인 개발 리소스가 들기 때문에 허락을 받아야 한다.
개발 외
개발 외적으로도 꽤 많은 것들을 했다.
1. 운동
일단 여름시즌에 운동을 시작했었는데 손목 부상 + 겨울이 되며 동기부여가 좀 떨어져서 여름만큼은 하고있지 않다.
사실 손목은 거의 낫긴 했는데 겨울이어서 안하는 게 좀 더 크다.
한창 열심히했던 여름 시즌에는 저질 몸에서 일반인까지 진화했었다,
2025년에는 새로운 운동을 배우려고 하는데, UFC를 좋아해서 복싱을 배울까 수영을 배울까 고민중이다.
2. 게임
메이플을 접었다.
지난 4~5월 리부트 서버에 큰 변화가 생기면서 리부트 유저였던 나도 자연스럽게 게임을 접게 됐다.
해방 한달차 였어서 아쉽긴 한데 일일 숙제가 없어지니 삶이 안정된 것 같기도 하고..
그래서 롤토체스를 시작했다.
난 진짜 잘하는데 운이 없어서 티어가 안오른다.
3. 결혼
2026년 식장을 잡았다. 벌써부터 2026년 성수기들은 모두 예약이 마감되어 깜짝 놀랐다.
2025년 목표
다짐이 빠질 수 없다. 이룰지는 모르겠지만
1. 공부
어떤 스택을 공부할지 고민중이긴 한데 사실 코틀린으로 마음을 굳혔다.
기본기를 먼저 다지기 위해 인프런을 통해 학습하고 있다.
아직 찍먹 단계이긴 한데 벌써부터 코틀린의 매력이 크게 다가오고 있다.
여유가 된다면 기존 자프링 서버를 코프링 서버로 마이그레이션하는 작업을 해보려고 한다.
PS도 다시 시작해보려고 한다.
머리가 말랑말랑한 느낌을 좋아하는데, 문제 하나 풀고나면 머리가 말랑말랑해지는 느낌을 받는다.
매일 아침에 출근해서 한문제 풀고 일과를 시작하면 참 좋을 것 같다.
최근에 PS를 다시 시작하기 위해 leetcode, hackerank, codility 및 programmers 등을 방문하며 몇문제씩 풀어봤는데 역시 백준만한게 없어서 다시 돌아오기로 했다.
https://solved.ac/profile/tjdahr25
차이점이 있다면 이젠 C++을 놓아주고 Java를 사용하려 한다.
코틀린이 익숙해지면 섞어서 써보겠다.
2. 롤체 마스터
마스터 티어를 찍겠다.
3. 이직
조금 이른감이 있긴 한데 슬슬 준비해야할 때가 된 것 같다.
팀과 업무가 마음에 안드는건 아니고 나에게 새로운 자극?이 필요한 것 같다.
2년동안 안정적으로 회사를 다니면서 성장에 대한 동기가 좀 사라진 것 같기도 하고 백엔드 필드에서 객관적인 내 수준을 판가름 하기가 힘들다고 느꼈다.
꼭 회사를 옮기지 않더라도 여러 회사를 찾아보고 면접 등을 경험해보며 성장 자극을 느끼면 좋을 것 같다는 생각이 들었다. 아직 경력이 2년 정도밖에 되지 않아서 지원할 수 있는 포지션이 매우 한정적인데, 1년정도 이직 준비를 탄탄히 하면서 3년이 넘어가는 시점부터 시도를 해보는게 목표다.
마치며
김창완님의 수상소감처럼 새해를 맞이하겠다.
https://www.youtube.com/watch?v=KsRhciAW5ao
'회고' 카테고리의 다른 글
주니어 백엔드 개발자 2023년 회고 (2) | 2024.01.02 |
---|---|
2022 하반기 IT 개발자 취업준비 회고 (6) | 2022.11.23 |