소프트웨어 아키텍처 문서화: 여전히 OmniGraffle 로 내가 전담하는 블록체인 네트워크의 실행뷰 아키텍처를 그린다.
이젠 더 이상 안하는 일도 있다.
TypeScript, Next.js 등 이제 JavaScript 생태계와는 많이 멀어졌다.
더 이상 프론트엔드 업무는 하지 않는다.
새로운 도전들
올해 가장 큰 도전은 편도 2시간 반에 달하는 출퇴근이다. (세종 <-> 제2판교)
아이를 안 보고는 살 수 없는 몸이라, 주말부부는 절대 안된다.
그래도 주 재택 2회가 가능해서 다행이다.
쿠버네티스 기반 블록체인 네트워크 운영은 그 자체로 큰 도전이고, 경험이 일천한 나에게는 매 순간이 살얼음이다. 재미는 있는데, 경험이 깡패임을 매 순간 느낀다.
아쉬운 점
왜 운동을 안했나
왜 영어공부를 안했나
난 Go 를 얼마나 깊이있기 알고 쓰는걸까
난 과연 8년차에 맞는 경험과 지식을 갖고 있나
사이드 프로젝트는 왜이렇게 하기 힘든가
구체적인 후기
Go 언어의 가장 큰 문제는 역시나 에러처리다. 에러를 반환하는데, 에러 객체가 지나치게 단순해서, 기능을 추가하기 위해 결국 Wrap 이든 Join 이든 쓰게 된다. 그러다보니 팀원들이 모두 제각각 별 규칙없이 쓰게되고, 나중에 규칙을 정하려고 보면 너무 많은 곳에서 너무 많은 수정을 해야 해서 힘들다.
Go 언어에서 동시성 구현은 매우 손쉽지만, atomic 패키지 등은 주의하지 않으면 큰일 날 수 있다. 테스트는 꼭 필요하다.
Go 의 기본 testing 패키지는 좋지만, BeforeAll, BeforeEach, Teardown 같은 기본적인 사항들이 빠져있어 대규모 테스트를 작성하기에 너무 부족하다. 결국 Ginkgo 를 썼는데, JavaScript 의 mocha 또는 Jest 같은 경험을 줘서 좋았다.
JetBrains 의 도구들은 확실히 디버깅과 리펙토링에서 강점이 있다. 다만 최근들어 잦은 멈춤 현상, 버그 등이 발견되고 있는데 가격을 생각하면 상당히 아쉽다. 디버깅에서 대안이 없어 사용 중이다만, Zed 의 발전을 기다리고 있다. (Fleet 은 거의 시작도 전에 죽은 느낌이다)
쿠버네티스 운영에 대한 경험 부족을 ChatGPT 로 보완하고 있다. 내가 경험이 적으니, 경험많은 친구에게 물어보는 느낌. 올해 가장 돈이 아깝지 않은 구독이다. 다만, 요즘 환율이 치솟아서 ChatGPT 구독료가 점점 상승하고 있다.