개발자로서의 2024년
올해는 계속해서 도전하는 한 해였지만 반대로 빠르게 번아웃을 맞았던 한 해이기도 하다.
성과
Java, Spring으로 시작했던 개발이 작년 말 입사 후 Node쪽으로 완전히 변하게 되었고, 입사하자마자 업무를 바로 수행해야 하는 상황에 적응하기 위해 부단히 노력했다. 노력 덕분인지 입사 2주만에 두 개의 스프린트를 모두 완료하였고, 곧바로 수습 종료 후 정규직으로 전환되었다.
올해는 자율적으로 이것저것 시도해볼 수 있는 환경이었기 때문에 계속해서 도전하며 성장할 수 있었다. 백엔드 뿐 아니라 서비스의 전체적인 인프라도 관여를 할 수 있었고, 안정적인 서비스 운영을 위해 모니터링 도구를 도입했다. 혼자 업무하는 환경에서 이상한 코드 작성 습관에 빠지지 않도록 SonarQube를 도입했다. 테스트 코드가 전무한 환경에서 안정적인 코드 동작을 위해 70% 이상의 커버리지를 유지하며 테스트 코드를 작성했다. Git Hook을 이용하여 배포 전후로 테스트와 커버리지 검사를 수행하여 보다 안정적인 서버를 구축할 수 있게 되었다.
현재 서비스의 레거시를 모두 단일 스택으로 전환을 거의 완료했다. PHP로 되어있던 기존의 백엔드를 95% 이상 Nest로 전환했다. 전환 과정에서 성능 개선을 위해 기본적인 쿼리 튜닝과 적절한 커넥션 풀을 구성하고자 시도했다. 그 결과로 전반적인 모든 API Duration은 0초 대로 진입했다. 기존에는 5초가 넘는 리스트 API들도 있었으니, 당연하지만 괜찮은 성과인 것 같다.
마지막으로, 기존의 채팅 애플리케이션의 개선도 완료했다. 동시성 이슈로 인한 메세지 유실 문제를 해결했고, 메세지의 송수신 시간을 대폭 단축시킬 수 있었다. 다만 샌드버드의 도입이 조금 아쉬웠다. 웹뷰 환경에서 단순 JavaScript UIKIT을 사용하여 프론트를 만들었더니, 우리가 제어할 수 없는 상황이 너무 자주 일어나고 변경도 쉽지 않았다. 이 부분은 내년에 논의해서 최적의 방향을 찾아나갈 계획이다.
이직 시도와 번아웃
작성한 여러 회고 글에서도 알 수 있듯이 올해 중반부터 어떤 조직에 엄청난 관심이 생겼었다. 그 조직이 너무 마음에 들었다보니, 최대한 비슷한 문화를 가진 조직을 찾기 시작했다. 내가 관심있고 가고싶어하는 조직으로 이직하자라는 목표 설정 이 자연스레 되었다. 그런데 뒤돌아보면, 나 자신을 되돌아보고 같이 일하고 싶은 사람이 되는 것이 먼저였는데, 부끄럽게도 좋은 조직들만 찾아다니며 외형적인 조건, 내부 문화 등의 내가 가지지 못한 것들에 치중했던 것 같다. 마치 SNS속 비교 우울처럼 말이다. 이런 내면적인 미성숙함은 결국 컬쳐 핏에서 모두 떨어지는 결과가 되었던 것이리라.
정말 가고 싶었던 회사를 포함하여 지원했던 회사에서 대부분 컬쳐 핏, 문화 면접에서 탈락했다. 그 사실이 나에게는 엄청난 타격으로 되돌아왔다. 자신에 대한 회의감이 들었고, 목표를 잃고 방황하기 시작했다. 무엇을 개선해야할까? 같이 일하고 싶지 않은 사람인가? 나는 도대체 뭐지? 등등 정답을 낼 수 없는 질문의 구렁텅이 속으로 빠져들어 한 달 넘게 그렇게 살았다. 그동안 꾸준히 매일 했다고 자부하던 공부는 멍 때리는 시간으로 자연스레 바뀌게 되었다.
자아 성찰
그러던 와중에 왜 개발자가 되었을까? 굳이 하던 일을 계속 했더라면, 돈도 더 많이 벌었을텐데, 왜 개발자로 전향하게 되었을까? 라는 근본적인 물음을 시작으로 되돌아 보는 시간을 가졌다.
내가 개발자가 된 이유는 내가 개발에 기여한 서비스를 누군가 사용하면서 더 나은 가치를 누리게끔 돕는 것 이었다. 지금 나는 결혼 준비를 하는 예비 신부, 신랑들에게 더 편리하게 결혼 준비를 할 수 있게 돕는 사람으로 일을 하고 있다. 그리고 더 나은, 안정적인 서비스를 제공하기 위해 많은 시도를 했고 나름의 성과도 이뤘다. 이 과정들 속에서 내가 추구하는 가치를 잊고 있었던 것 같다. 내가 생각하는 최우선 가치인 더 나은 서비스 제공 이 아니라, 단순히 이직이라는 목표를 위해 공부를 했던 그 시기의 결과들이 좋지 안핬기 때문에 번아웃이 왔던 것이 아닐까?
나는 엄청난 I 성향의 사람이지만, 공유의 가치를 엄청 중요하게 생각한다. 단순 기술 블로그를 운영하는 것을 넘어, 더 의미있는 방법으로 공유의 가치를 실현할 수 없을까 고민하다 최근에 오픈 소스 기여를 시작하게 되었다. 오픈 소스를 사용하는 수많은 사람들에게 더 편리한 경험을 제공하기 위해 이슈를 보면서 내가 할 수 있는 부분에 기여를 하고 있다. 오픈 소스 기여로 수억 명에게 임팩트를 준다는 게 무슨 의미인지 점차 깨달아가고 있다.
토스 Learners High
정신을 차려보니 눈 앞에 토스 Learners High 멘토링 세션에 선정되어 있었다. 기대했던 멘토링형 세션이 아닌 방목형의 멘토링 세션이지만 오히려 좋다는 마음가짐으로 임하고 있다. 토스 SLASH나 기술 블로그 등에서 봤던 문제 해결 과정보다 더 확장된 토스 엔지니어분들의 문제 해결 접근법과 사고 방식을 접할 수 있었다. 특히 문제 해결 과정에서 어떤 부분을 중점적으로 고려하고 있는지에 대해 깊이 있는 내용을 공유받을 수 있었다.
이 경험을 바탕으로 현재 내가 담당하고 있는 서비스에 대입해보고자 한다. 이를 통해 서비스를 개선하는 동시에, 더 넓은 시각과 사고를 가지게 되길 기대하고 있다.
2025년에는
원래 뚜렷한 계획을 세우는 성향은 아니기에, 간략한 목표 설정만 해보려고한다.
기초 공부
현업과 더불어 사이드 프로젝트로 1만 명의 사용자를 가지고 있는 캠핑 앱의 서버 개발자로 참여하게 되었다.
현재 사용중인 기술들에 대한 심층 학습과 더불어 서버 운영에 필요한 기초 지식들을 중점적으로 학습할 계획이다.
번아웃 시기에 읽으려고 사 두었던 책도 다시 읽어 볼 예정이다.
- 모던 JavaScript
- 한입 크기로 잘라먹는 TypeScript
- Real MySQL 8.0
- 실전! Redis 활용
- 개발자를 위한 레디스
- 혼자 공부하는 컴퓨터구조 + 운영체제
- 혼자 공부하는 네트워크
- 이해하면 인생이 바뀌는 네트워크 프로그래밍
- 객체지향 프로그래밍 입문
- 오브젝트
- Unit Test 3회독
- 기타 AWS 관련
멘탈 관리 - 운동
운동을 할 때는 흔들리지 않았던 것들도 운동을 놓고 나니 흔들리게 된다. 별 것 아닌 면접 탈락의 이유로 두 달이나 방황했던 이유가 여기에 있었던 것 같다고 생각해 오랜만에 러닝을 하러 나갔다. 하프도 종종 나갔던 기억이 있는데 이제 2km을 뛰니 그만 두라고 몸에서 난리를 친다.
체력이 박살난 것과는 별개로 상쾌하고 뿌듯한 감정으로 하루를 시작할 수 있게 되었다. 하루 동안 이 뿌듯하고 상쾌함이 지속되어 건강한 하루를 보낼 수 있었다. 체력을 끌어올리고, 근육질의 멋진 몸을 만드는 것이 아닌 멘탈 관리와 상쾌한 하루를 보내기 위한 운동을 목표로 다시 시작해야겠다. 건강한 하루를 매일매일 지속할 수 있는 원동력이 되지 않을까.
목표를 향해 나아가는 것도 중요하지만, 내가 정말 소중히 여기는 가치를 잃지 않는 것이 더 중요하다는 것을 깨달은 한 해였다. 내가 개발자로서 이루고 싶은 목표와 추구하는 가치를 잊어버리지, 잃어버리지 않으면서 거칠지만 조심스레 한 발씩 내딛다보면 같이 일하고 싶은 사람이 되어있지 않을까 생각하며 조금 더 나은 내년이 되길 바란다.
와이프에게도, 두 반려견에게도, 조직구성원들에게도 부끄럽지 않은 사람이 되어나갈 수 있기를.
다들 한 해 고생 많으셨습니다 ( _ _)
2023.04 ~ 백엔드 개발자의 기록
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!