2023. 4. 30. 18:17ㆍ잡담
연 초에 회고를 6시간 동안 쓰다가 날려먹은 이후... 회고를 다시 쓸 엄두가 나지 않아 하염없이 미루고 있었다.
문득 이러다가 2년치 회고를 쓰겠다는 생각이 들어 빠르게 압축본으로 적어보려고 한다.
상반기
재작년 말에 이직을 한 후, 작년 상반기에는 새로운 조직에 적응하며 배우는 게 참 많았다.
개발팀의 학습 문화나 코드 리뷰 문화에서 얻은 것들을 체화하고, 그 과정에서 사용하지 않았던 근육을 사용하는 듯한 고통과 짜릿함을 동시에 느꼈던 시기였다.
테스트 코드
React 유닛테스트 코드 작성을 시작하면서 테스트란 무엇이고 왜 해야 하는지, 그리고 유지보수 가능한 테스트 코드 작성을 위해 무엇을 고려해야 하는지에 대한 고민과 인사이트를 많이 얻은 시기이다.
역설적으로 테스트 코드를 작성하다가 잘못된 컴포넌트 설계와 구현에 대해 깨닫는 경험이 정말 많았다.
지금 와서 돌이켜보면 그 당시 내가 한 고민들과 그로 인해 얻은 것들이 비단 테스트 코드 작성에만 적용되는 것들이 아니었다는 점에서 아주 값진 시간을 보낸 셈이다.
회사
https://nookpi.tistory.com/136
이러한 개발팀의 문화에 매력을 느껴 블로그에 '내가 우리 팀을 좋아하는 이유'라는 글을 남겼는데, 이 글을 보고 왔다고 하셨던 분들이 면접 시에 많아 정말 부끄러웠지만 한 편으로는 좋았다. 아무리 좋은 문화와 내실을 가져도 알리지 않으면 아무도 모르지 않겠는가...?
어학당 서비스를 런칭하고 어학당 담당자가 되어 유지보수와 기능 고도화를 담당했다.
회사는 연초부터 스쿼드 제체를 통해 도메인별 커뮤니케이션 비용을 줄이고 목적조직으로의 개편을 시도했다.
성공했는지는...? 아직도 잘 모르겠다.
오픈소스
https://nookpi.tistory.com/140
뭐라도 기여해보겠다는 포부를 늘 가지고 있었고, 운이 좋게 내가 자주 사용하는 라이브러리에 기여할 기회가 있었다.
이를 바탕으로 욕심을 좀 더 내서 평소 관심 있던 크롬 확장 프로그램을 vite로 개발할 수 있는 보일러 플레이트를 만들었는데 굉장히 재미있는 경험이었다.
특히 내가 만든 오픈소스 프로젝트에 PR혹은 issue로 기여해 주는 다른 개발자들, 그리고 issue 내에서 서로 답변하고 이슈를 해결해 주는 모습을 보는 기분이 참 각별했다. 모바일 게임의 자동사냥을 돌려둔 기분...?
하반기
스쿼드 조직으로 나뉘면서 업무 방식에 대해 혼란이 생겼고 전체적으로 정신이 없었다.
프론트 파트 내부적으로는 컨벤션을 정리하고 리소스를 효율적으로 사용하기 위해 업무에 자동화할 수 있는 것들을 많이 찾아냈던 시기이다.
오픈소스
꾸준히 레포에 올라오는 이슈를 해결해나갔는데, 생각보다 여간 번거로운 게 아니었다.
크롬 익스텐션에서 동작하는 짝퉁 HMR을 구현하기 위해 끙끙댔고, 생각한 대로 해내긴 했지만 지금도 반쪽짜리라고 생각한다.
사람들이 원하는건 많은데 내 역량으로는 개인 시간을 내서 해결하는데 확실히 한계가 있었다.
QA프로세스도 빈약해서 가끔은 a문제를 해결한 PR이 기존에 잘 되던 b에 문제를 낳는 경우도 있었다.
그래도 처음으로 오픈소스로 후원도 받고(30유로!) 이슈를 하나하나 줄여나가는 재미가 또 있었다.
은근히 Stars가 꾸준하게 올라서 그 부분도 동기부여가 되었던 것 같다.
JSConf 2022
노들섬에서 열린 JSConf2022를 팀원들과 함께 참석했다.
jest preview를 만든 흥 비엣 응우옌의 세션을 들었는데, 두 달 만에 stars 1600개를 받았다고 자랑하길래 부러웠다.
운영이라던지 세션들의 퀄리티는 전반적으로 실망스러웠지만, 그중에도 재미있는 세션들이 있어서 만족했다. 회사 돈이 아니라 내 돈을 내고 참석했다면 속상했을지도...?
함수형 프로그래밍
https://nookpi.tistory.com/149
함수형 프로그래밍 패러다임에 꽂혀 프로덕트 내부에서 이런저런 시도들을 해봤다.
함수형 프로그래밍이 주려는 핵심 가치(action을 제어하고 data, calc를 적절하게 추출하여 소프트웨어의 안정성을 높이는 것)를 알게 된 좋은 계기였고, 실무에 적용하면서 잘 한 부분도 있었고 잘 못 한 부분도 있었던 것 같다.
실제로 코드를 pipe로 체이닝하고, 이터레이터에서 map을 돌리는 게 함수형이 아니라는 걸 알게 되어서 좋았다.
2022 총평
새로운 회사에 적응하고, 훌륭한 동료들에게 자극받아 공부하고 논쟁하며 또 한 번 크게 성장한 시기였다.
모든 환경과 프로덕트를 관통하는 정해진 프로그래밍 규칙 혹은 베스트 프랙티스 같은 것은 존재하지 않는다는 것을 알았다.
하지만 동시에 다양한 환경에 적용 가능한 일반적인 법칙과 철학이 있다는 점을 알게 되었고, 그것들을 체화시킨 이후에 작게는 내 코드 퀄리티가 어떻게 개선되는지를 느끼면서 또 굉장히 뿌듯했으며 크게는 일을 대하는 관점에서도 마찬가지의 법칙을 적용하려고 노력했던 것 같다.