LeChuck

2024년 1분기 회고

·11 min to read

회고를 꾸준히 써보려 한다. 벌써 2024년의 1분기가 흘렀다는 사실과, 머지않아 근속연수가 1년이 되어간다는 사실에 적잖이 당황했기 때문이다. 그동안 뭘 했지?라는 생각을 떨쳐내기가 어렵다. 내키는 대로 대책없이 살아온 지난날을 반성하며, 회고를 통해 한 달 주기로 피드백을 받아서 나의 한량 기질을 견제하고 교정해 나갈 필요성을 느꼈다.

만족스러운 부분 (Keep)

1. 재테크에 공들인 것

1~2월에는 재테크 관련 지식들을 열심히 수집했다. 출퇴근 길이나 퇴근 후에나 유튜브와 책을보며 계획을 짜고 포트폴리오를 만들었다. 점진적으로 실행에 옮겼고 최종적으로는 모든 자금을 여러 종목에 분산 투자했다. 지금은 좀 무뎌졌지만 이 과정이 설레고 재미있었다. 이제 곧 부자가 될 수도 있겠다는 허황된 기대감, 그리고 사실 이게 주된 이유였는데, 미래에 대한 청사진을 진지하게 고민해보고 구체화 해볼 수 있는 기회였다는 점에서 흥미로웠다.

주식을 비롯한 투자라는 분야에 선입견을 내비치는 경우를 종종 볼 수 있는데 개인적으로는 충분히 제어 가능하고 건강한 자산 운용 방식의 하나가 될 수 있다고 생각한다. 불필요한 소비 습관을 개선할 수 있었고 푼돈이나마 미래의 나를 위해 투자하고 있다는 사실만으로도 심리적 안정감을 확보할 수 있었다.

2. 세컨드 브레인을 구축한 것

Obsidian이라는 디지털 노트 앱에 제텔카스텐과 PARA 방법론을 적용하여 세컨드 브레인을 구축했다. 아직 과도기에 불과하여 어수선하지만 그럼에도 정리한 지식을 차곡차곡 쌓아가고 있다. 그리고 이번만큼은 지속가능한 디지털 노트 앱 활용법이라는 확신을 갖고 있다. 그동안 에버노트, 노션, 굿노트를 다양한 방식으로 기웃거려보았으나 매번 실패했는데 이번엔 느낌이 좋다.

세컨드 브레인에 대해 찾아보면서 얼굴도 모르는 많은 이들에게 동질감을 느꼈다. 어떻게 하면 디지털 노트 앱을 더 잘 활용할 수 있을지에 대해서 고민하고 고통받은 사람들이 생각보다 많았음을 알게 되었다. 고통은 나누면 위안이 된다 (때로는 즐겁기까지 하다). 이 사람들의 고민과 고통이 쌓여서 PARA, MoC와 같이 유용한 노하우로 승화된 셈이다. 이건 참 감사하다.

3. 작문 스터디를 시작한 것

글 쓰는 습관을 들이는 게 오랜 염원이었다. 세컨드 브레인을 구축한 것은 공부의 효율성을 높이기 위한 목적도 있지만 글 쓰는 시스템을 구축하고자 한 바도 못지 않다. 지금 회고를 쓰고 있는 것도 목적 달성의 일환으로 볼 수 있겠다.

인프런 스터디를 드나들다가 작문 스터디 모집글을 발견했다. INFP답게(?) 2~3일간 고민하다가 참여희망 의사를 전했는데, 사정이 생겨서 스터디 모집을 중단했다는 답변이 돌아왔다. 그래서 이 스터디의 포맷을 그대로 들고 스터디원을 모집해서 활동하고 있다.

현재 7명이 매주 글을 작성해서 링크를 공유하고 있다. 글을 작성하지 못했을 시 소정의 벌금을 부과하여 약간의 강제성을 주는 방식이다. 명색이 모임장이지만 이래도 되나 싶을정도로 특별히 하는 건 없다. 다들 자발적으로 열심히 참여해주셔서 감사할 따름이다.

4. 요리에 흥미를 잃지 않은 것

요리야말로 평생을 요긴하게 써먹을 수 있다는 점에서 그 무엇보다 효율적인 취미라고 생각한다(작문도 마찬가지다). 먹지 않고 살아갈 수 있는 사람이 있는가? 요리는 식비 절감에 도움 되고, '나'를 위해 내 스스로가 무언가를 정성스레 한다는 점 자체가 자존감 유지에 도움이 된다. 이런 취미에 흥미를 잃지 않고 있다는 것 자체가 고무적이다.

요리는 남에게 기여할 수 있는 행위라는 점에서도 메리트가 있다. 심리학자 아들러는 타자공헌이야말로 행복에 이르는 지름길이라고 말했다. 철학자 에리히 프롬은 받는것보다 주는것에서 기쁨을 느끼는 것이 성숙한 사랑의 출발점이라고 말했다. 인류학자 김현경은 남에게 아무것도 줄 것이 없는 사람은 사회적으로 고립된다고 말했다. 사실 이런 말들이 잘 와닿지 않을 수 있는데, 가까운 사람이 내가 해준 음식을 맛있게 먹어준 경험을 갖고있다면 충분히 공감할 수 있을것이다.

대단한 요리를 할 줄 아는 것은 아니다. 최근 매번 실패해왔던 된장찌개에 처음으로 성공했다. 비법은 고기였다. 고기를 육수에 풍덩 넣어버릴 게 아니라, 고온으로 지져서 맛을 뽑아내는 과정이 반드시 선행되어야 한다. 물의 끓는점은 고기가 마이야르 반응을 일으키는 온도에 한참 못 미친다. 그리고 얼마 전 솥밥을 처음으로 해봤는데 그럭저럭 괜찮았어서 다음번이 기대된다. 생일땐 큰 맘 먹고 비프 부르기뇽을 해봤는데 좋은 경험이었다😅

아쉬운 부분 (Problem)

1. 적극적으로 네트워킹을 시도하지 않은 것

작년부터 사교활동이 너무 부족했다. 집-회사의 굴레에서 벗어나야겠다고 진즉에 마음 먹었지만, 아쉽게도 용기내지는 못했다. 인프런에 올라오는 스터디 모집 공고를 주기적으로 살폈고, 온라인 모각코에 잠깐 몸 담았으나 이내 빠져나왔다.

러닝크루도 염두에 두었다. 하지만 제일 끌리고 만만한건 역시 독서 모임이다. 대학 재학중에 꾸준히 참여하면서 좋은 기억들을 쌓았던 경험이 있기 때문이다. 트레바리를 비롯해서 다양한 책모임을 서칭했고, 괜찮아 보이는 곳을 찾았다. 트레바리만큼 비싸진 않으면서도 어느정도 책에 진심인 사람들을 분별해낼 수 있는 금액대의 모임이다. 이미 수년간 안정적으로 운영되었고, 발제문을 기반으로 책에 대한 생각을 깊게 공유해볼 수 있는 모임이다.

우습게도 이 모임을 3주 째 염탐만 하고있다. 일본 여행전에 읽고 싶은 책들이 있어서긴 한데... 이게 핑계가 되지 않으려면 조만간 칼을 뽑아 들어야한다.

2. 객체지향 공부를 깔끔하게 마무리하지 못한 점

소프트웨어 개발을 해나가는 데 있어 기본기가 부족하다는 사실을 절감하고 있다. 타개책으로 조영호님의 책 오브젝트를 선정했고, 책 내용이 너무 좋아서 많은 도움이 되리라 확신하고 있다.

1회독까지는 끝마쳤는데, 어렵고 복잡한 객체지향 개념들을 온전히 정리해내지는 못했다. 세컨드 브레인 구축에 정신이 쏠려서 방점을 찍지 못했다. 솔직히 말하자면 질질 끌렸다. 이제 책을 다시 읽어보면서 세컨드 브레인에 경험치를 먹여줄 시간이다. 책 내용을 정리하면서 시스템에 결함이 없는지 검증하고 보완해야 한다.

3. 운동 부족

본격적으로 달리기 위해서 비싼 돈 주고 가민 워치를 샀는데 10회 정도밖에 활용하질 못했다. 2월 경에 코로나에 걸렸는데 그 때를 기점으로 러닝이 뚝 끊겼다.

수 년만에 뛴 러닝은 벅차오르게 하는 게 있다. 형편없어진 체력에 승부욕이 생기기도 한다. 러닝은 운동기록이 가시적으로 명확히 보여지기 때문에 자극이된다. 나가서 뛸 땐 즐거운데 나가는 게 참 어렵다. 심리적 장애물을 제거해야 하는데..

4. 습관, 루틴을 형성하지 못한 것

2,3번 문제는 결국 습관으로 만들지 못한 것에서 기인했다고 본다. 오브젝트 공부를 할 때도 그날의 기분, 컨디션, 한가함의 정도에 따라 공부양이 달랐다. 사실 매사가 거의 이런 식이다. 커다란(두루뭉술한) 계획만 세울 뿐, 미시적인 계획은 잘 수립하지도 준수하지도 않는다.

이런 방식보다는 기계적으로 반복할 수 있게끔 최소한의 규칙을 만들고 따라야 하지 않을까. 작고 완수하기 쉬운 규칙들을 여려겹 쌓아서 작은 성취를 계속해서 느낄 수 있는 방식을 고민해봐야겠다. 당장은 스터디의 도움을 받는 것이 가장 합리적인 해결책으로 보여진다.

5. 멘탈 이슈

사실 이 회고는 이걸 위해 쓰여졌다. 최근 무기력증을 넘어서 우울증에 다다른 것 같다. 연차, 공휴일 등 쉬는 날이 많았는데 무기력한 채 침대를 벗어나지 못한 시간이 많았다. 잠에 드는 과정이 지난했음은 물론이고, 한밤중에 이유 없이 깰 때도 많았다. 징징거리고 싶지는 않은데 (충분히 했다) 현상황을 적확하게 파악하는 시간이 필요했다. 그럴 때 글 만한 게 없지.

원인1) 주사피부염

주사피부염이란 안면홍조보다 까다로운 녀석이라고 보면 된다. 명확한 원인이 알려지지 않았고(증상을 악화시키는 요인들이 주로 알려졌다) 완치도 쉽지 않다. 나 같은 경우에는 3~4년 전부터 몇 달에 한번꼴로 호전되었다가 악화되었다가를 반복하고 있다. 코로나 백신의 부작용 혹은 당시 겪었던 극심한 취업 스트레스의 영향인 것으로 추정하고 있다.

나는 주사피부염이 미용목적으로 분류되어서 의료보험 처리가 되지 않는다는 사실에 매번 분개한다. 눈에 띌 정도로 붉고 염증으로 뒤덮인 피부는 낙인이나 다름없다. 사회생활이 불편할 정도로 심리적으로 위축되는 게 있다. 사람을 우울하게 만든다.

그런데 얼마 전 주사피부염과 우울감의 인과를 뒤바꿔서 설명하는 영상을 보았다. 즉, 주사피부염이 생겨서 우울한 게 아니라 우울해서 주사피부염이 발생했다는 논리다. 극심한 스트레스를 겪으면 뇌는 신체화 증상으로 응답하는데, 홍조도 그 신체화 증상 중 하나라는 것이다.

이 지식은 많은 위안이 되었다. 인과가 뒤바뀌어도 우울하다는 사실에는 변함이 없지만, 원인 불명의 영역에서 벗어나 내가 제어가능한 영역으로 들어섰다는 게 희망적이다. 어차피 또 몇 달 고생하면 호전될 증상이다. 그 뒤로 잘 살다보면 낫겠지.

원인2) 업무에서의 실패

2월 말 즈음부터 프로젝트의 인증/인가 프로세스를 전면 개편해야 하는 일을 맡았다. Next.js 프로젝트임에도 불구하고 인증/인가 로직 때문에 SSR이 동작하지 않고 있었던 크리티컬한 이슈를 해결해야 했다.

렌더링과 JWT에 경험이 없던 것도 아니여서 이렇게 고생할 줄은 몰랐다. 보통 이런 것들은 프로젝트 초창기에 기반을 다잡고 가는 일인지라, 막바지(오픈 직전)에 수정하는 건 많은 문제로 이어졌다. '인증/인가 로직을 어떻게 설계하는 게 좋은 방법일까?' 라는 고민만으로도 벅찼는데, 인증인가 로직을 조금만 수정하면 다른곳에서 렌더링과 관련된 문제들(hydration 등)이 여지없이 터져나와 괴롭혔다. Next.js의 기본 동작은 서버에서 한 번 렌더링되고 이후 클라이언트에서 한 번 더 렌더링되는 것인데, 기존 코드는 서버에서 렌더링되는 상황이 거의 고려되지 않았다.

좋은 설계에 대한 갈망도 자충수가 되었다. 설계란 언제나 트레이드 오프고 따라서 절대적인 정답은 없을진데(no sliver bullet) 여기에 집착하느라 많은 시간을 쏟았다. 또한 내가 짠 설계에 적합한 피드백을 받지 못했다는 것도 상황을 악화시켰다. 열심히 고민해서 좋다고 여겨지는 방식으로 설계했는데, 확신할 수는 없었다. 이 차이가 컸다. 그래서 2주 분량의 결과물을 뒤로하고 라이브러리에 의존하는 식으로 진로를 변경했다. nextAuth 라이브러리가 워낙 추상화되어있고 문서도 불친절해서 설계구조를 파악하는데 오래걸렸는데, 끝끝내 기존에 설계했던 방식과 크게 다르지 않다는 점을 깨달았을 땐 아쉬움이 컸다. 적절한 피드백만 받았어도 수월했을 텐데.

피드백을 받지 못한 건 우리팀의 환경도 있겠지만 내 작업방식의 오류가 더 컸다. 나조차도 확신을 못하고 있는 구조인데 바쁜 팀원들의 시간을 빼앗으면서까지 피드백을 요청할 순 없다고 생각했던 것 같다. 하향식(top-down) 작업에 집착했다. 어느정도 윤곽이 잡힌 구조를 만들고, 가능하면 2-3안까지 준비해서 팀원들에게 의견을 구하는 게 응당 더 좋은 방식 아니겠는가? 그런데 인증/인가 설계 구조는 앞서 설명한 여러가지 이유들로 말미에 이르러서야 윤곽이 잡혔다. 이렇게 지연된 시간만큼 갉아 먹혔던 것 같다.

물론 하향식 분해가 유용한 경우도 있다. 하향식 아이디어가 매력적인 이유는 설계가 어느 정도 안정화 된 후에는 설계의 다양한 측면을 논리적으로 설명하고 문서화하기에 용이하기 때문이다. 그러나 설계를 문서화하는 데 적절한 방법이 좋은 구조를 설계할 수 있는 방법과 동일한 것은 아니다. - 조영호, <오브젝트>

하향식은 이미 완전히 이해된 사실을 서술하기에 적합한 방법이다... 그러나 하향식은 새로운 것을 개발하고, 설계하고, 발견하는 데는 적합한 방법이 아니다. 이것은 수학과 아주 유사하다. 수학 교과서는 계산의 과정을 논리적인 순서로 서술한다. 공인되고 증명된 이론이 뒤이은 이론을 증명하기 위해 사용된다. 그러나 이론은 그런 방식이나 순서로 개발되거나 발견된 것이 아니다. - 조영호, <오브젝트>

하향식 분해는 작은 프로그램과 개별 알고리즘을 위해서는 유용한 패러다임으로 남아 있다. 특히 프로그래밍 과정에서 이미 해결된 알고리즘을 문서화하고 서술하는 데는 훌륭한 기법이다. 그러나 실제로 동작하는 커다란 소프트웨어를 설계하는 데 적합한 방법은 아니다. - 조영호, <오브젝트>

고생끝에 만족할만한 결과물을 얻긴 했다. 하지만 아직도 몇몇 오류를 내포하고 있는 것 같고, 작업 과정에서 느낀 비효율은 두고두고 아쉽다.

이번 경험을 계기로 공유하는 문화와 피드백의 중요성을 여실히 배워간다. 실패한 경험을 가감없이 공유했을 때 얻을 수 있는 효과에 대한 넷플릭스의 조직 문화 '선샤이닝'이 좀 더 깊숙히 와닿았다. 실질적인 해결책으로는 우리팀의 업무 프로세스를 개선하는 방식을 고민하고 있다. 코드리뷰를 적극적으로 시행할 수 있는 방안을 수립해서 팀원들에게 공유했고, 이제 막 시행해보고 있는 참이다. 이렇게 보니 이런 고생도 다 좋은 경험이다.

원인3) 초조함. 성장이 더뎌지고 있다는 느낌

개발자로서의 경력이 벌써 2년을 향해 달려가고 있다. 나는 쏜살같이 흘러간 시간에 걸맞게 성장했는가? 이런 생각이 떠오르면 아무래도 위축된다. 커리어를 시작했을 때의 다짐들을 잘 지켰고 기대치를 충족했는가?

조금 부족한 것 같다. 그래도 부족하면 부족한대로 열심히 무언갈 하고, 회고를 통해 내가 한 행동들을 피드백하다 보면 좋아질 수 있을 것 같다. 그리고 내겐 세컨드 브레인이라는 비장의 무기가 생겼다.

thanks to

최근 올라온 큰돌의터전 유튜브 영상들이 많은 위안을 받았다. 비슷한 상황에서 좀 더 열심히 살아가고 있는 사람의 모습이 귀감이 되었다.