kimjeongwonnabout

2023년 회고

추진력을 얻기 위함이었다.

2022년에 이어서 2023년도 개발자로 보냈다. 2023년에는 기술 관련 포스팅을 좀 많이 작성해보려고 했는데… 2개 정도 올렸다… 그 중에 하나는 재작년 태스크에 대한 트러블슈팅… 블로그를 많이 남겨야 하는 이유중에는 특히 내가 한 해동안 뭘 했는지 기록을 남기는 용도로서도 굉장히 중요하단 걸 느꼈다. 분명 알찬 한해를 보낸 것 같은데 블로그만 보면 별 거 안한 것 같아 보이고 그러니 좀 서운(?)하다. 올 해는 전반적으로 뭔가 폭발적인 성장! 10보 전진! 같은 것 보다는 내년의 추진력을 위해 준비하는 한 해가 되었는데 그만큼 평화롭기도 하면서 뭔가 뒤흔들어야 한다는 위기감도 같이 느꼈다. 하지만 나는 뭐든 기대 이상으로 잘 하니까 너무 걱정말자…! (아무튼 믿기)

개인

먼저 올해 내가 개인적으로 이룬 성장들… 이 퍼뜩 떠오르지는 않아서 아쉽다. 열심히 회사 생활을 했고 더 좋은 코드에 대한 막연함을 조금씩 실제로 코드에 반영해 보기도 했지만 어쩐지 아쉬움이 남는 이유가 뭘까 생각 해 보니 느껴지는 게 아마 '의식적인 성장’이 부족했기 때문이 아닌가 싶다. 작년에 '성장’이란 게 내가 좋은 개발자가 되기 위해서 노력하면 알아서 따라올 것이라고 말했었는데, 스스로 내린 결론에 좀 안일하게 참여했었다. 성장을 위한 성장은 여전히 경계해야 하지만, 그렇다고 그냥 성장이 알아서 따라오는 건 아닌 것 같다. 내가 어떤 부분에서 성장했는지 아는 것도 성장의 일부인데 올 해는 그런 부분들이 제대로 못 챙겼던 것 같다.

독서

클린 아키텍처를 읽었다. 그동안 막연하게 알고 있으면서 알고 있다고 착각하던 것들을 좀 명료하게 머릿속에 정리할 수 있었다. 흩어져서 얽히는 관심사를 나누는 다양한 방법들에 대한 고민들을 해소하는 방법들에 대해서 좀 더 정확하게 볼 수 있게 된 듯 하다. 물론 1회독에 모든 내용을 이해하지는 못했지만 굉장히 적절한 타이밍에 읽었다는 생각이다. 만약 좀 더 빨리 읽었다면 분명 이해하지 못한 부분이 더 많았을테고 더 늦게 읽었다면 왜 이걸 이제야…! 했을 것 같다. 마침 내가 고민하고 있는 부분들에 대해서 설명해주고 있었기 때문에 더 효과적으로 읽을 수 있었던 것 같다.

그리고 웹파트 내에서도 '함께 자라기’라는 책을 읽으면서 북스터디를 했는데 역시 도움되는 내용들이 많았다. 협업을 하면서도 그렇지만 개인적으로도 어떤 태도로 함께 해야하는지, 결국 우리가 함께 잘 해야하는 이유가 무엇인지에 대해서 조금 더 명확하게 알 수 있었다. 읽는 동안 파트원들 모두가 공감할 수 있었던 부분들이 많았다. 우리가 어떨 때 효율적으로 일하고 어떤 상황에서 건강하게 의사소통 할 수 있는지는 이미 경험으로 막연히 알고 있었고, 그것들을 합리적으로 설명해주는 것 만으로 의식적인 습득을 할 수 있었고 그런 방법들을 '내 것’으로 만드는 데에 도움이 되었다.

직관

올 해는 '의식적으로 좋은 코드를 작성’하기 위한 고민을 많이했다. (혹은 ‘의식적으로 나쁜 코드 피하기’) 동료 분 중에 한 분이 '정원님은 직관이 좋다’라고 말씀해 주신 적이 있었는데 그 이야기를 처음 들었을 때는 단순하게 '오 내가 직관을 잘 활용하는 구나’라고 생각하고 기분이 좋았는데, 스스로 곰곰히 생각 해 보니 직관을 잘 활용한다기 보다는 그냥 직관에 의존하면서 코드를 작성하고 있었지 않았나 싶었다. 분명 결과물은 괜찮은 것 같은데 이게 왜 괜찮은지 설명해 보라고 하면 할 수 있을까? 라는 두려움이 생긴 것이다. 그래서 클린 아키텍처를 읽기 시작했다. 지식보다는 경험이 중요한 것은 알고있지만 내 경험을 올바르게 공유하고 더 개선하기 위해서는 경험을 지식으로 정제할 수 있어야 한다. 올 해는 그것에 대한 중요성을 확실하게 느꼈고, 다양한 방법으로 나아지려고 하고 있다. 그 방법 중에 하나로 직관 주도 개발에서 벗어나기 포스팅을 작성했다.

회사

흑자전환

회사가 흑자전환을 했다! 처음 입사할 때 재호님 면접에서 '지금 회사가 J커브를 목전에 두고 있다고 생각하고 그 과정을 같이 나아가고 싶다’고 말씀드렸었는데 정말 그 일이 일어나니 제법 가슴이 웅장해졌었다. 내가 앞으로 회사원으로 일을 하면서도 이번에 얻은 '함께 이겨내는 경험’이 굉장히 값진 경험으로 작용할 거라는 기대가 된다. 물론 회사원이 아니라 내 일을 하게 되더라도

채용

흑자전환과 함께 제품팀의 인원을 크게 증가시키게 되었고 드디어 우리 파트의 인원 보충이 결정되었다. 무려 11명까지 TO가 나왔다. 같은 IC레벨의 동료분께서 많은 부분들을 책임져 주신 덕분에 채용도 무사히 진행되었다. (이 자리를 빌어 J님께 다시 한 번 감사합니다…) 한 분은 오퍼가 잘 되지 않아서 지금은 10명까지는 인원이 채용되었고 한 명이 더 남았다. 함께 일하고 싶은 사람들을 채용하기 위해서는 필연적으로 면접을 봐야하는데 나에게 면접관으로 참여할 수 있는 기회도 많이 주어졌었다. 처음에는 많이 부담스러웠지만, 면접을 보다 보니 정량적인 기준보다는 어떤 '느낌적인 느낌’이란 게 생각보다 많이 작용하게 된다는 걸 알았다. 그래서 면접관도 역량이 굉장히 중요하다… 면접관들에게 '같이 일하고 싶은 동료’라는 이미지를 주는 것은 지원자의 역량이 가장 클 것이지만 그것을 100% 보여줄 수 있는 좋은 질문들과 대화를 이끌어내는 것이 쉽지 않다는 것이다. 그리고 그 결과들을 통해서 함께 하고싶은가? 라는 질문에 대한 결정을 하는 것도 쉽지 않다. 면접을 보고 두 시간을 넘게 같이 면접을 본 동료와 고민하기도 했었다. 이런 모든 과정에서 같이 팀을 만들어나가는 경험으로서 값진 고민들을 많이 할 수 있었다. 사실 ‘내가 면접관으로써 충분한 역량을 갖고 있는가?’ 라는 질문에는 아직 답을 잘 못하겠지만, 아무튼 최선을 다했다!

동기부여

하지만 나는 개인적으로 올 해 '일’에 대한 동기부여를 크게 받지는 못했다. 나름 노력은 했는데 자연 발생(?)하는 동기부여와 노력으로 얻은 동기부여는 조금 다르다. 자연산이 아니라 양식 동기부여(…)같은 느낌이라고 설명하면 적절한 비유가 될 것 같다. 물론 동기부여를 양식으로 얻을 수 있는 것도 중요하다. 앞으로 일을 하면서 모든 일들이 재미있고 내가 하고싶고 강한 동기부여를 느끼고 하지는 않을 테니까. 개발자이면서 회사원으로써 일을 지속가능하게 하기 위해서는 스스로 동인을 계속 찾아야 한다. 그게 아니면 그냥 부품처럼 일하게 되는 거라고 생각한다. 그런 맥락에서 올 해는 그런 것들을 잘 연습할 수 있었다. 정신승리도 승리다! 아무튼 내가 하는 일을 사랑할 수 있도록 끊임없이 노력해야 한다. (너무 괴롭지 않은 선에서)

파운데이션크루

크루 특성상 하나의 제품을 맡지 않고, '제품 전반’이라는 모호한 범위를 담당해야 하기 때문에 크루원이 모두 한 가지 목표에 집중하기 어려웠다. 이런 저런 상황들이 고려되어 9월달 부터는 코어크루에서 파운데이션크루로 크루명도 변경했다. 올 해 상반기는 크루 내 메인태스크로 '투데이 탭’을 개발했는데 웹은 스콥아웃이 되어서 굵직한 태스크는 없었다. 그래서 CS 혹은 사업팀 요청사항들을 개선해주는 등 지원업무가 많았어서 보니까 위에서 말한 것 처럼 동기 부여가 쉽지 않았다. 이런 과정에서 그냥 할 수 있는 태스크들을 내가 어렵게 해보는 등의 노력을 좀 더 했으면 좋았을 걸 하는 아쉬움도 있다.

ISMS-P

하반기 크루 태스크는 ISMS-P 대응을 위한 작업이 메인이었다. 내가 주도적으로 진행했던 태스크는, 1. 기존 어드민의 Internal API를 모두 API Gateway로 옮기는 작업, 2. 구버전 어드민의 채용관련 기능을 모두 옮겨오는 작업, 3. 제품 전체에 환경변수를 인프라단계에서 주입하도록 변경하는 작업 이었다.

API Gateway 적용 작업은 정말 공교롭게도 이전에 내가 어드민에서 내부 API를 처리하는 방법을 일원화하는 작업을 했었는데 그게 도움이 되어서 생각보다 빨리 끝낼 수 있었다. 그리고 구버전 어드민 이전에서는 반복되는 UI와 Form에 대해서 추상화된 구조를 정의한 뒤 작업하여서 그나마 순조롭게 진행할 수 있었다. 또 View에서 사용했던 테이블을 다시 추상화해서 Form 내부에서 활용해야 하는 상황이 있었는데 이 때 컴포넌트 구조에 대한 고민을 많이 할 수 있었다. 마지막으로 전품 전체에 대한 환경변수 처리에 대해서는 빌드타임과 런타임이 인프라 내에서 어떻게 처리되고 빌드타입에서 주입된 환경변수들이 Next.js내에서 어떤 식으로 Resolve되고, 실제로 빌드된 서버가 동작할 때 어떤 상황에서 빌드타임 환경변수와 런타임 환경변수를 참조하는지 명확하게 이해할 수 있었다. 그리고 같이 해결한 것 중 하나가 기존에 ECS가 아니라 EC2에 PM2로 서버를 띄우던 서비스가 있었는데 해당 프로젝트를 데브옵스 팀에서 ECS로 옮겨주셔서 거기서 내가 PM2를 걷어내는 작업을 진행했고 덕분에 기존에 갖고있던 환경변수 주입 타이밍 이슈로 SSG페이지를 생성하지 못했던 문제를 같이 해결할 수 있었다. 환경변수 관련 작업에서는 인프라와 컨테이너 전반에 대한 경험을 많이 할 수 있어서 좋았다.


2022년 까지는 확실히 회사에서 얻을 수 있는 성장들이 많았는데 2023년은 개인의 노력으로 얻어야 하는 성장의 비율이 늘어났다. 그 과정에서 솔직히 방황하면서 보낸 시간들이 있었지만 그게 절대 낭비라고 생각하지는 않는다. 덕분에 엄청 많은 고민들을 할 수 있었고 무조건 필요한 시간이었으니 차라리 2년차 개발자일 때 깨달아서 다행이라고 생각한다. 물론 아직 진행중인 고민들도 엄청나게 많다. (진짜 엄청 많다) 그러므로 2023년은 문제정의의 해라고 생각하고 2024년은 그 문제들을 하나씩 격파하는 해가 될 것이라는 기대감을 가져봐야겠다. 아무튼 2024년, 멋지게 보내보자! 아뵤뵷~!