본문 바로가기
회고

[회고] 늦었어도 돌아보자! 2023 회고

by 곰민 2024. 1. 28.
728x90

 

2023년 12월 꽉 찬 3년 차 개발자 그리고 2024년 이제 4년 차 개발자가 돼버린 지금
작년을 돌아보지 않고 올해를 맞이할 수는 없다.
2023년 나는 무었을 했고 어떤 것을 느꼈으며 나는 앞으로 무엇을 하고 싶은지 알아보자.
(남들이 다하는 2023 회고 나도 한다!)

회고를 늦게 시작했다 + 쏜살같이 지나간 2023 을 표현

 

 

개발자로서 2023년 한 해  한 일


 

2023년 개발자로서 한 일은 세 가지로 정리가 가능할 것 같다.

 

1. MSA 제품을 Monolithic으로 전환하기

2. Monolithic 제품 내에 있던 MSA 화된 DB 구조를 Monolithic 하게 변환하기

3. 이직(참고로 필자는 보라색을 좋아한다)

 

 

MSA 제품을 Monolithic으로 전환하기.


이전 회사의 솔루션은 MSA 환경을 가정하고 확장을 고려해서 만든 솔루션이 었다.

 

문제가 있었는데..

 

이게 사실 고객사가 MSA를 위해 클라우드 환경 또는 프라이빗 클라우드 환경과 같은 인프라가 구축된 상황에서 해당 솔루션을 돌릴 상황이 아니라는 점.

i am 국방 환경 과 같은 엄격한 환경이에요

 

해당 제품에 대한 복잡도와 통신비용 등의 부가적인 사항들이 해당 솔루션에 성능과 고객 경험을 발목 잡았고 결국 2023년 초 해당 제품을 Monolithic 화 시키기로 한다.

 

일종의 왼쪽 같은 느낌을 그나마 오른쪽으로 변경시킨 느낌이다. 그림은 GPT로 찍어냈다.

 

해당 프로젝트를 겪으면서 어떻게 떨어져 있는 서비스를 다시 하나로 통합 시킬지,

레거시로 존재하는 더 이상 지원하지 않는 프레임워크는 어떻게 대체할지,

히스토리가 끊긴 부분들에 대한 파악,
메모리 및 성능 관련 개선 사항들에 대해서 많은 고민을 했었고 반영하려고 노력했다.

 

프로젝트 결과 및 느낀 점


 

monolithic 화 시키면서 고객 사 환경 내에서 좀 더 간략하고 편한 설치 과정, 더 적은 리소스사용 등의 가볍고 효율적인 서비스로 제공될 수 있게 되었다.

 

사실 사용 고객사가 실 사용자가 많아야 300명 안에 고객사로 해당 제품이 제공되기 때문에 해당 서비스가 충분히 효율적일 수 있던 것 도 있는 것 같다.

 

위 프로젝트를 통해서

폐쇄망 내에서 제한적으로 인프라적 도움 없이 제공되는 MSA 제품이 갖는 단점들에 대해서 많이 생각하게 되었고 MSA로 전환하려는 시대 흐름과는 별개로 솔루션을 사용하는 고객사 환경 내에서 고객이 원하는 기능을 제공하기 위해서 때로는 Monolithic 한 서비스가 더 효율적일 수 있다는 것을 생각해 보게 된 것 같다.

(물론 사용자에게 안전한 서비스를 사용자가 보장된 환경 내에서 인프라가 지원을 하는 MSA 환경에 대해서는 매우 좋다고 생각한다.
나도 MSA 좋아한다.)

 

Github CEO Jason Warner가 생각하는 MSA 로의 전환과 전환 방식에 대한 글도 많은 도움이 되니 한 번씩 읽어 보시는 것을 추천한다.

https://twitter.com/jasoncwarner/status/1592227285024636928

 

X의 Jason Warner님(@jasoncwarner)

I'm convinced that one of the biggest architectural mistakes of the past decade was going full microservice On a spectrum of monolith to microservices, I suggest the following: Monolith > apps > services > microservices So, some thoughts

twitter.com

 

자 느낀 점을 웅장하게 써보자.

 

MSA는 일단 확장을 고려하고 시작할 아키텍처가 아니라 서비스가 확장되면서 맞이하게 될 불가피한
구조적 전환이다.

 

 

Monolithic 제품 내에 있던 MSA 화된 DB 구조를 Monolithic 하게 변환하기


 

Entity를 만들 때, 데이터가 필요해서 데이터베이스 컬럼을 구상할 때.

과연 나는 체계적이었나? 아님 별도의 데이터베이스 스터디를 통해서 특정한 체계화된 생각을 통해서 도출한 것일까?

데이터베이스 스터디를 한다면 필요한 데이터를 디비 테이블 화 시켜서 관리하는 것에 있어서 도움이 될까?

 

이런 생각을 이전부터 하고는 있었고 그래도 한 번쯤은 데이터 베이스 모델링 스터디를 통해서 나름의 기준이 있으면 좋겠다는 생각을 한 적이 있었다.

 

미루고 미루고 미루다 결국 해야 할 상황이 도래했다.

 

MSA 제품을 Monolithic으로 전환하긴 하였으나 시간상 하지 못한 한 가지.

그렇다 데이터 베이스 구조마저 전부 변경하지는 못했다.

 

각각의 서비스들의 in, output 들을 정리하면서 기존 테이블구조를 하나의 monolithic 한 서비스에서 활용할 수 있는 데이터 테이블화 시키는 작업을 통해서 불필요한 테이블의 개수를 많이 정리하고 데이터 칼럼들도 많이 정리하였다.

 

https://product.kyobobook.co.kr/detail/S000001974817

 

관계형 데이터 모델링 프리미엄 가이드 | 김기창 - 교보문고

관계형 데이터 모델링 프리미엄 가이드 | 출간 이래 데이터 모델러와 데이터 아키텍트(Data Architect)의 필독서로 인정받아온 [관계형 데이터 모델링 프리미엄 가이드]의 개정판이다. 이 책은 저자

product.kyobobook.co.kr

 

이 두꺼운 책을 팀원들과 스터디하면서.

 

책은 좋은 것 같다.

근데 역시나 아무래도 실질적인 코딩을 하지 않다 보니 좀 중간중간 루즈하고 지루하다.

그리고 개인적인 느낀 점이지만 아무래도 데이터 테이블이 많고, 테이블의 가독성이 좋아야 하는 은행권이나 금융권 내에서 모델링을 하시면서 나온 경험들이 많이 녹여져 있는 책 같다.

 

 

프로젝트 결과


데이터베이스에 불필요한 데이터를 덜 담게 되었고 참조로 풀 수 있는 항목은 참조로 풀면서 데이터베이스 자체가 효율적으로 데이터를 적재하게 되었다.

 

그 과정에서 jpa 상에서 fetch join을 해야 하는 상황에서 메모리 이슈가 있어 별도로 역정규화를 해서 테이블을 빼는 등의 우여곡절이 존재했지만 프로젝트는 성공적으로 마무리하게 되었다.

 

하지만 현재 1월 말 기준 저책 스터디한 기억이 상당 부분 증발하였다.

다시 어느 정도 책을 보는 방식을 채택 하든 아니면 기존에 정리한 글을 확인하든 해서 좀 돌려 두어야겠다..

 

 

이직


깔보지 말라고!!

 

그렇다 3년을 꽉 채우고 이직한 나는 올 1월부터 이직한 회사에 재직 중이다.

 

 

나는 어느 곳으로 이직하고 싶었나? 🤔


 

제한적인 B2B 환경 말고 B2C 환경 내에서 인프라지원이 가능한 MSA 서비스를 개발할 수 있다면 베스트라고 생각 하고 있었고 사용자가 많아서 트래픽도 많다면 개발자로서 많은 경험을 통해서 성장할 수 있다고 생각했다.

 

B2C 기반의 회사들 그리고 사용자가 많은 서비스를 제공하는 회사들을 찾았고 현재 이직한 회사로 이직할 수 있었다. (도메인도 1 지망이 금융이었는데 1 지망으로 잘 안착하게 되었다.)

 

물론 이전 회사와 개발 도메인이 바뀌어서 적응해 나가고 있다.

 

채용은 서류 - 과제 - 1차 면접 - 2차 면접을 거쳐서 입사하게 되었으며 면접관 분들이 많은 부분들을 긍정적으로 봐주셔서 입사하게 됐다.

 

회사 채용까지 과정을 글로 작성할 수 있을지 모르겠는데..(의외로 이런 건 좀 부끄러워서) 작성하게 된다면 별도로 작성해보도록 하겠다..

 

여행


나라고 공부 일만 했을까..

 

연말에 대만 여행을 다녀왔다.



 

대만 최고야, 카발란 최고야, 딤섬 최고야....

 

맨 마지막 푸드 판다는 대만판 배민 같다

핑크색 옷을 입으시고 배달을 하신다.

 

두 번 가시는 것을 추천한다 겨울에 가면 날씨가 11~20도 사이여서 딱 돌아다니기도 좋고 사람들도 친절하고 음식도 좋다.

(3박 4일 동안 딤섬을 맨날 먹음 안 질림)

 

나는 2024년 한 해 무엇을 하고 싶고 어떤 모습으로 되고 싶은가.


 

운동


살아야 한다

 

 

그렇다 일단 살아야 한다.

어느덧 32살

이제는 살려고 운동해야 한다.

 

자 운동 해야지?



최근에 유튜브에서 정찬성 선수가 에어바이크 타는 것을 보고 전력으로 두 번 돌렸다가.

죽을 것 같던 스스로를 보고 큰일 남을 직감했다.

 

더 이상 젊음이 탱킹 해주는 부분들이 존재하지 않기 때문에 노력하여 기반을 잘 다져야겠다.

 

적응


 

 

 

도메인 경험 없는... 경력 막내 등판

 

첫 이직이라 참 많이 낯설었는데 좋은 팀원들과 좋은 사내 문화가 있어서 다행이다.(전 회사도 사람들은 좋았다...)

 

좋은 사람들과 좋은 환경 속에서 일을 하는 상황에서 더 잘하고 싶은 동기부여가 생기는 것 같다. (특히 경력 많은 분들이 많고 배울 수 있는 분들이 많아서 너무 좋다.)

 

늘 그렇듯 새로운 환경은 많은 더 많은 노력을 필요로 하고 많은 부분에 대해서 학습을 필요로 한다.

 

하지만 그 안에서 내가 생각하는 성장하는 모습을 그려나갈 수 있을 것이라 믿는다.

 

현재 이직 한 회사에 잘 적응해서 팀원들이 나에게 바라는 바를 잘 이행할 수 있는 사람이 되도록 노력해야겠다.

 

키워드


 

항상 연초가 되면 올해는 이것은 꼭 해야 하는 한 해 버킷리스트를 제공하곤 한다. (MBTI 가 P라서 구체적이지 않다 키워드 만...)

 

2023년은 '이직'과 '삿포로 여행'이었다.

 

삿포로의 경우 생각 보다 비행기 표값이 비싸기도 하고 해서 대만으로 틀었는데 매우 좋은 결과가 나와서 만족했다. 

 

이직도 운이 잘 따랐고 상황이 잘 맞아서 감사히도 이루어지게 된 것 같다.

 

 

나를 위한 것


3곳 여행 다니기 or 헬스를 제외한 스포츠 취미 갖기.

 

두 가지를 나를 위한 키워드로 잡았다.

 

개발자로서 해야 할 것


TIL 부활 or 개발 도서 완독 후 블로그에 게시하기 , 블로그 개발글 꾸준하게 작성하기, 블로그 토털뷰 10만 달성 (이건 운에 가깝다)

 

세 가지이다.

 

아 그렇다 TIL이 어느 기점으로 사망했는데.

 

개발 도서를 보다 보니 해당 개발 도서에 대한 정보를 TIL로 쪼개서 올리고 관리하기가 애매해졌단 핑계로 팬딩 중이다.

 

TIL 부활 or 개발 도서 완독 후 블로그에 게시하기에 대해서는 앞으로 고민을 좀 해봐야겠다.

 

 

Quote


나무에 앉은 새는 가지가 부러질까 두려워하지 않는다.
새는 나무가 아니라 자신의 날개를 믿기 때문이다.

작년에 힘든 일이 많이 찾아왔었는데 그때마다 생각하면 항상 힘이 돼주었던 말이다.

 

 

見小曰明 守柔曰强

작은 것을 보는 것을 밝음이라 하고, 부드러움을 지키는 것을 강함이라 한다
-노자 도덕경-

올 한 해는 위에 말과 함께 더욱 성숙한 사람으로서 한 해를 보내야겠다.

 

????

자 2024 두가자
728x90

'회고' 카테고리의 다른 글

[회고] 한 달간의 TIL(Today I Learnd) 회고  (0) 2023.03.04

댓글