개발 일지 (1월 회고)

2023. 1. 29. 10:59Developer History

 

 

 

Reading

1월에 30권 정도의 책을 읽었다. 회사가 맞이한 위기를 타개하기 위한 지혜를 얻기 위해 비슷한 위기를 겪었고, 이를 잘 헤쳐나간 여러 기업들의 사례를 다룬 책들을 주로 많이 읽었고, 비슷한 맥락에서 난세를 헤쳐나가기 위한 조금 더 추상화된 지혜를 얻기 위해 병법서를 많이 읽었다. 읽고 싶은 책은 많고, 투자할 수 있는 시간에는 한계가 있기 때문에 모든 책을 처음부터 끝까지 읽는 방식에서 벗어나 나에게 지금 필요한 부분을 집중적으로 읽는 방법으로 책을 읽었다.

 

이렇게 책을 읽으면서 독서의 의미에 대해 다시 생각해 보게 되었다. 기존에 한 400권 정도까지 책을 읽을 때는 단순히 책을 읽고, 밑줄을 긋고, 이런 내용이 있군 하고 책 계정에 올리고 넘어갔다면, 확실히 최근에는 절실해져서 그런지 "이 책을 읽고 나서 나는 어떤 걸 얻었지?", "내가 가지고 있는 지식들과 어떻게 충돌되거나 연결되는 거지?"등을 찾아내는 데 더 많은 시간을 쓰게 됐다. 책을 읽는 시간보다 읽은 내용을 가지고 메모하고 기존 지식과 연결하면서 노트 정리하는 시간이 많아졌고, 이러한 방법들을 통해 불과 한 달여 만에 내가 가진 지식들을 연결하는 엣지들이 굉장히 빠른 속도로 늘어나고 있다는 걸 체감할 수 있었다.

 

 

 

2018년부터 독서를 본격적으로 시작해서 2023년 1월을 기점으로 600권 정도의 독서를 했다. 졸업까지 1000권 읽는 것이 목표였는데, 현실적으로는 조금 타이트한 목표인 것으로 보이지만, 책을 읽는 방법과 속도가 이전과는 비교가 되지 않을 정도로 빨라져서 이 정도 속도라면 2025년에는 목표를 달성할 수 있을 것으로 보인다. (물론 목표를 달성하는 것이 질적으로 중요한 것은 아니겠지만 말이다)

 

우선 관심있는 책, 내가 가진 문제를 해결해 줄 수 있는 책을 찾아서 목차와 머리말을 꼼꼼히 읽은 뒤, 내가 필요한 정보가 보이는 부분의 목차만 골라서 20~30분 내로 빠르게 읽고, 이 내용을 가지고 10~30분 동안 메모하며 정리하는 시간을 갖는다. 이런 방식으로 독서를 하다 보니 빠듯한 스케줄을 소화하면서도 하루에 최소 1권, 많게는 3권의 독서를 할 수 있었다.(작년 9월부터 회사에 1시간씩 일찍 출근해서 조용히 책을 읽기 시작했다) 시간이 조금 넉넉한 주말에는 20분 만에 끝내기 아쉬웠던 책들을 몰아서 다시 꼼꼼하게 읽는 시간을 가졌다. 선인들의 지혜가 지금 맞이한 문제들을 근본적으로 해결할 수 있는 지혜를 주리라 믿는다.

 

Economics

최근 일련의 경제 에세이를 쓰면서 거시 경제를 이해하는 흐름과, 국제 / 국내 정책을 이해하는 눈이 조금씩 열리고 있는 듯한 느낌을 받는다. 이번달에 깨달았던 건, 월가의 전문가라고 하는 사람들의 예측은 맞을 때보다 틀릴 때가 더 많다는 것과, 기술에 대해 잘 알지 못하면서 재무제표만 가지고 기업의 가치를 단기적으로 평가하는 경우가 많다는 것, 그리고 100개의 예측 중 99개가 틀리고 1개의 예측이 비슷하게 맞아떨어지면 이 맞아떨어진 1개의 예측을 가지고 콧대를 높여 떠들어댄다는 것 정도이다.

 

물론 이쪽 바닥에 오래있던 사람들이니만큼 이들의 주장에는 나름의 근거가 있겠지만, 중요한 것은 이들의 근거이지, 근거에 기반한 예측 결과가 아니라는 것이다. 경기 침체가 온다 안 온다, 부동산이 폭락한다 안 한다 여러 결론들을 내놓지만, 복잡계에서는 아무도 이를 정확하게 예측할 수는 없고, 나심 니콜라스 탈레브가 그의 저서 "안티프래질"에서 말했듯, 나는 어느 정도의 근거들만을 가지고 리스크에 대응하는 방식을 취하기로 했다.

 

이와 별개로, 내가 이전 에세이에도 잠깐 이야기했지만, 시장의 FOMO 심리를 잘만 이용하면 연준이 그토록 바라던 연착륙이 가능할 수도 있겠다는 생각이 들었고, 이 생각을 시장이 이해해버리는 순간 물거품처럼 이 연착륙 계획이 사라질 수도 있겠다는 생각이 들었다. (이것이 함부로 경기를 예측했다고 떠들고 다니면 안 되는 이유다)

 

돌아오는 2월달에는 적어도 2주에 한 번씩은 에세이를 작성하면서 전반적인 흐름들을 잘 따라갈 예정이다. 경제를 공부하는 것은 단순히 경기 흐름을 예측하고, 주가를 올리는 것 이상의 본질적인 인문학적 가치를 준다.

 

InfraStructure

인프라 공부(DevOps)를 어떻게든 시작해야지라는 막연한 생각이 있었고, 이를 실제 액션을 옮기기 위해서는 어느 정도 구체적인 목표와 일정이 필요했다. 해서, 1월 말까지 사내 마이크로서비스 아키텍처의 기본 골격 구조를 회사에서 개인들에게 제공하는 GCP playground 프로젝트에 올릴 수 있도록 하는 목표를 세우고 틈틈이 시간을 내서 공부하기 시작했다. (주로 화, 목 아침 7시 반에 출근해서 10시까지 하고, 부족한 부분은 주말에 좀 채우는 식으로 진행했다.)

 

사내에서는 당연히(?) Kubernetes Cluster를 사용해서 애플리케이션들을 관리하므로 GKE를 사용해야 했는데, 이를 띄워두는건 비용이 많이 든다.(한 달에 10만 원의 비용만 지원되는데, 기본설정으로 GKE 노드를 띄워두면 3~4일도 안되어서 비용이 다 소진된다. 확실히 Managed Service는 비싸다) 따라서 사용하지 않을 때는 클러스터 자체를 내려야 하는데, 이걸 올렸다 내렸다 하기 귀찮아서 terraform으로 IaC를 구성하는 것부터 시작했다.

 

여기에 sidecar proxy 및 ingress gateway를 위해 istio를 붙이고, 애플리케이션 파드를 띄우고, 트래픽 라우팅 및 인증을 위한 kong-gateway를 띄우고, 모니터링을 위한 grafana / prometheus 설정을 하고, autodeploy를 위한 argocd 연동까지 해두었다. 한 가지 뿌듯한 점은 스터디를 진행하기 전에는 위에 언급한 대부분의 용어들이 무엇인지 조차 잘 몰랐다는 것이다. 하나하나 공식문서를 정독하고, 주변 개발자 분들을 귀찮게 하면서 로그들을 잘 남겨두었고, 2월 사내 Frontend Tech Talk때 이를 팀원들에게 잘 정리해서 공유할 예정이다. (이 과정에서 많은 도움을 주신 백엔드 개발자 댄(Davin Byeon)에게 감사의 인사를 전한다)

 

스터디를 진행하면서, "어 이거 우리 프론트엔드 팀원들이 좀 자유롭게 실험할 수 있는 환경을 제공하면 좋겠는데?"라는 생각이 들었고, IaC를 조금 더 고도화해서 명령어 한두 번에 각 팀원들이 자신만의 클러스터와 Application들을 설정하고 여기서 이런저런 테스트(이를테면, 서버컴포넌트의 네트워크 부하, 캐시 테스트 등등)를 DevOps 팀과 독립적으로 해볼 수 있겠다는 생각에 이르렀다. 그래서 2월 중으로 이 기반들을 완성해서 IaC Repository를 하나 올리고, 각 팀원들이 이를 fork 해서 적당히 수정한 뒤에 각자의 환경을 구성하는 데 사용하도록 하려 한다.

 

Frontend

드디어 벼르고 별러 왔던 React Fiber & Mount Phase & Scheduler에 대한 글을 정리했다. 물론 아직 Lane Model과 Suspense에 대한 내용은 작성하지 못했지만, 사실 위 내용을 제대로 이해하고 있다면 이 둘에 대한 내용은 앞선 내용에 비해 비교적 간단하며, 이미 Draft도 다 들어있다. 간단한 hello world Example을 가지고 React 내부 코드에 디버거를 붙여가면서 하나하나의 Function Call들과 Parameter를 따라가는 과정은 결코 간단하지 않았다. 한번 mount 과정 따라가는데 거의 10시간은 쓴 것 같다. 게다가 이 내용을 2시간 안애 Frontend Tech Talk때 팀원들이 받아들일 수 있는 수준으로 만들었어야 했는데, 사실 이게 더 부담이긴 했다. 내가 적당히 이해한 것과, 이를 남들에게 더 짧은 시간 동안 명쾌하게 전달하는 것은 근본적인 차이가 있기 때문에 내가 이해하는 과정만큼의 시간을 어떻게 설명할지에 대해 쓴 것 같다.

 

이 과정을 거치면서 팀원들의 React에 대한 전반적인 이해도가 높아진 것 같아서 기분이 좋았고, 계속 진행되고 있는 Next13과 React18스터디를 더 효율적으로 수행하기 위한 기반이 된 것 같아서 좋았다. 이제 2월에는 Lane Model과 Suspense에 대한 글을 올리고 React는 당분간 좀 쉬어야겠다. (사실 이 모든 걸 시작한 이유가 Suspense가 내 생각하고 다르게 동작했기 때문이라서 Suspense는 꼭 정리하고 넘어가려 한다.)

 

Philsophy

1월 한달 동안 계절학기로 "서양 철학의 이해"를 들었다. 소크라테스부터 시작해서 니체에 이르기까지 굵직한 서양철학의 역사와 주요 저서들을 살펴보았는데, 사실 수업은 거의 안 들었고, 수업의 굵직한 흐름에 따라 실제 원서와 관련된 방송들을 보면서 개인적인 철학 노트를 따로 만들었다. (그래서 시험은 중간 / 기말 둘 다 잘 보진 않았다. 애초에 준비할 생각을 안 했다)

 

나에게는 데카르트가 어떤 책에서 어떤 내용을 어떤 부분들로 나누고, 이를 어떻게 설명했는지보다는, 데카르트가 이런 생각을 할 수밖에 없었던 문화적 / 사회적 배경이나, 데카르트가 이러한 배경해서 맞닥뜨린 문제를 해결하기 위해 어떤 사상들을 기반으로 생각을 시작했는지가 더 중요했다. 즉, Cogito Ergo Sum을 증명하는 과정이 아니라 왜 이러한 생각을 할 수 밖에 없었는지가 더 중요했다.

 

수업 시간에는 각 철학자들의 방대한 양의 저서들을 다 다룰 수 없어 Cogito Ergo Sum과 같은 내용들을 증명하는 쪽의 일부만 발췌해서 수업을 진행했고, 나는 이게 개인적으로는 좀 힘들었다. 그래서 수업은 안 듣고, 위의 흐름을 짚어가는데 더 시간을 많이 사용했다.

 

나는 철학이 시대의 흐름을 관념으로 포착해 낸 것이라는 말을 굉장히 좋아하고, 지금 시대를 관통하는 철학이 무엇인가에 대해 고민하는 것을 좋아한다. 나에게는 시대의 흐름을 관념으로 포착해 낸 후에, 이 관념을 가지고 현상의 문제를 해결하는 것이 더 중요하기 때문에 데카르트 수업 때, "데카르트가 우리 회사에 취직했으면 잘렸겠는데?" 하는 생각을 하기 시작했고, 그 결과 이런 글을 쓰게 되었다. 이 글의 내용을 기반으로 회사가 맞닥뜨린 여러 문제들을 잘 헤쳐나가 보려 여러 사이드 프로젝트를 시작했는데, 이게 조금이라도 모두에게 효과적인 교육을 만드는데 도움이 되는 불씨이기를 바란다.

 

 

 

이데아 기반의 사고와 현상 기반의 사고

that logic excludes _by definition_ nuances, and since truth resides exclusively in the nuances, it is "a useless instrument for finding Truth in the moral and political sciences." . 모든 사물과 현상에는 원인과 본질이 있으며, 이를 "이

yeoulcoding.me

 

반응형

'Developer History' 카테고리의 다른 글

개발일지 (3월 회고)  (0) 2023.04.02
개발일지 (2월 회고)  (0) 2023.03.01
개발일지 (11월 & 12월 회고)  (0) 2022.12.18
개발일지 (10월 회고)  (0) 2022.11.06
개발일지 (9월 회고)  (0) 2022.10.03