입사를 한지 20 일차가 되어가는 지금. "벌써 20일이 됐어?" 보다 더 놀라운건
2023년이 벌써 반이 지나갔다는 사실이었다.
간단한 회고와 앞으로 6개월을 어떻게 만족스럽게 보낼수 있을까의 고민을
해야할일을 선언하여 덜어내기 위해 이 글을 적는다.
2023년 2월 DDD 프로젝트를 마무리하고부터 본격적으로 취업준비와 함께 회사지원도 같이 했었다.
쓰디쓴 서류탈락의 맛도 보고, 멘토링도 받으면서 이력서를 계속 수정하는 작업을 거쳤던것 같다.
내가 정말 잘했다고 생각하는 것은, 인프런 멘토링을 신청해서
나의 고민과 방향성을 잡은부분과 많은 면접을 보고 그안의 부족한 부분을
채워갔던 부분이 지금 돌이켜보면 정말 잘했던 부분같다.
취업준비를 하면서 TLO 라는 학교 연구원을 병행하면서 했는데,
금전적인 부분에서 많이 지원을 해줘서 좋았고 후배들이 가끔 놀러와줘서
같이 밥도 먹고 취준기간이지만 재밌게 보냈던 것 같다.
05월 22일 오XX 도메인셀의 백엔드개발자로 첫커리어를 시작하게되었다.
1주차에는 기본 툴 세팅과 함께 개발팀과 인사 및 소개하는 시간을 주로 가졌다.
어떤 셀에서
기술적으로는 프로젝트에서 공통적으로 사용되는 Template 코드와
아키텍처에 대한 이해를 갖는 시간을 가졌다.
온보딩기간에는 신규입사자가 적응을 하기 위한 '버디' 프로그램이 있는데
나의 버디가 이런 부분을 친절하게 알려주어 이해하기 좋았다.
클린아키텍처, 헥사고날 아키텍처 등의 모든 아키텍처가 공통적으로 지향하는바와
도메인셀이 가져가려는 핵심은 같다.
외부와의 철저한 격리. 외부와의 의존성을 끊어내고, 의존성의 방향을 단방향으로
흐르게 하는것이다.
이부분은 도현이와 남영이의 '만들면서 배우는 클린아키텍처' 스터디가 이해하는데 많은 도움이 되었다.
현재 우리는 MSA 환경으로 Migration 하는 작업을 수행하고 있다.
MSA 환경(분산환경)에서 어떻게 통신을 할것인지, 트랜잭션 관리는 어떻게 할 것인지,
Consistency 는 어떻게 관리를 할것인지, 또 DB는 어떤 DB 를 사용할것인지 등
에 대한 고민과 공부를 하는 시간을 가졌다.
위의 부분은 일주일만에 알 수 있는 내용은 아니라, 현재까지 공부하고 있는중이다.
2주차에서는 내가 한 고민과 공부를 피드백 받는 시간을 가졌다.
백엔드 리드의 피드백을 받았고,
CQRS 와 OLAP, OLTP 그리고 커멘드 체이닝에 대한 문제점에 대해서
알게되었고, Aurora DB 에 대해서 한번 공부해보라는 추천도 받았다.
리드가 자료를 많이 주셨는데, 죄다 영어논문이라 보면서 잠도 많이 왔다. (GPT 의 도움을 많이 받았다)
하지만 최근 느낀점은 내가 찾는 대부분의 정보들은 공식문서의 내용이거나,
영어로 쓰여있는 정보들이 정말 대부분이였던 것 같다.
그래서 이걸 노리신건가 라는 생각도 들게 된다.
왜 다른 MQ 가 아닌 카프카를 많은 회사들이 사용하는지에 대한 큰 이유들에 대해서
공부해보았고, 카프카가 어떻게 높은처리량과 확장성을 제공하는지, 전반적인 데이터 흐름을 공부하였다.
몽고DB 에 대해서 공부하였다.
몽고DB 의 Replica Set 과 어떻게 확장성과 내결함성을 제공해주는지,
몽고DB 의 버전별 트랜잭션을 제공해주는 범위와 왜 제공해주게 되었는지
등에 대해서 공부를 하였다.
Cap 이론과 PACELC 이론 과 Nosql 그리고 현재 우리가 지향하는 목표를 연결지어 이해하기도 하였다.
사실 2주차부터 다른 팀원들은 바쁘게 일을 하고 있는데,
나 혼자 공부를 하고 있다는 부분이 큰 스트레스로 다가왔다.
다른 팀원들은 "자기는 신입때는 한달 혹은 3달간 공부만 했다."
"당연한거고 그거에 스트레스 받을 필요 없다." 등 좋은말씀을 해주셨지만
0년차를 뽑는 공고가 아니였기 때문에 더욱 부담이 되었던 것 같다.
이 부분을 리드 에게 원온원(1:1 미팅)을 신청해서 말했고,
리드는 A 서버에서 B라는 서브도메인을 분리를 할지,
기존의 서버에서 B라는 서브도메인의 로직을 리팩토링만 할지에 대해서 고민해보고
앞으로 이부분을 너가 맡게 된다라고 하셨다.
드디어 나에게 역할이 맡겨졌다.
먼저 이부분을 판단하기 위해서는,
내가 분리하려는 도메인이 어떤 도메인에서 지금 쓰이고있고,
앞으로의 어떤 확장계획을 가지고 있으며,
A 서버에서 현재 받고있는 부하량,
DDD 관점에서 같은 어그리거트에 포함되는게 문맥적으로 맞는지,
나눴을때의 드는 리소스들 등의 정보를 알 필요가 있다고 느꼈다.
어떤 도메인에서 사용하는지에 대한 정보와 앞으로의 확장계획은
기획팀과 협업하여 정보를 알게되었고,
알게된 정보를 바탕으로 현재 장단점을 정리하고 있다.
또 B 하위 도메인에서 어떤 역할을 하는지, 어떤 기능을 하고
개선사항은 어떤것들이 있는지 코드를 보며 정리중에 있다.
너무 업무적인 얘기를 한것같아, 사적인 부분을 먼저 얘기하려고 한다.
취준을 하면서 운동을 많이 쉬었는데, 유도를 배워보려고 한다.
같은 백엔드 팀원 1명과 프론트 팀원1명과 같이 6월 25일부터
유도 라는 취미생활을 갖으려고 한다.
또 회사 내부동아리에서 풋살동아리가 있는데, 사람들도 너무 재밌고
풋살 끝나고 닭볶음탕에 쏘ju 와 맥ju 의 조합은 정말 말이 안나왔다.
한가지 단점은, 땀흘리고 집갈때 지하철 타는게 좀 단점인데
옷과 수건을 가져가서 이 문제를 좀 해결 할 수 있을것 같다.
앞으로 월급을 어떻게 관리를 해야할지에 대한 고민을 하고 있다.
아버지나 유튜브를 통해서 정보들을 줍줍하고 있고
토스의 기능을 통해서, 어떤 유형의 지출이 많은지를 체크해보고 있는 상태이다.
큰시간은 쏟지 못하고 있지만, 출퇴근길 틈틈히 알아보면서
나만의 돈관리 루틴을 만들어볼 필요가 있다. (지금 약 40% 정도 만들어짐)
업무적인 부분은
내가 맡은 요구사항을 처리하면서 부족한 내용들을 그때그때
하나씩 공부해보는 방식을 선택하려고 한다.
이유는, 막연하게 공부를 하는것은 내 특성상 큰 효율을 기대하기는 힘든것 같다.
내가 필요한걸 스스로 공부하는 방식이 나에게 더 fit 한 방식이라
이런 선택을 하게 되었다.
최근에는 코드를 분석하면서 MongoDB 에서 데이터를 찾는 내부 동작과
Query 튜닝 및 인덱스 에 대해서 RDB 와 어떤점이 다른지 궁금해서
RealMongoDB 도서를 신청하였다.
구체적인 계획으로는, 먼저 우리 서비스 아키텍처와 데이터흐름을 이해하는거를
우선으로 보게 될 것 같다.
전체 서비스아키텍처를 이해하면서 부족한 내용을 학습하고,
필요한 내용을 책을 통해 학습하면
내가 해결해야하는 요구사항을 더 효과적으로 처리 할 수 있을거라고 생각한다.
6개월 이후,
이번년도가 지났을때 내가 회사에 자신있게 말할 수있는 기여를 하고 싶다.
2024년도에는 신입의 티가 나지않는, 어엿한 1인분을 해서
나를 뽑은 팀원들에게 "잘 뽑았다" 라는 확신을 주고 싶다.
멋있으세요! 화이팅입니다