김맥스 블로그

2023년 플렉스팀 회고

2023년 플렉스팀 PE로서의 한 해를 돌아봅니다.

요약

max

올해는 커리어 하이였습니다. 그리고 앞으로 더 잘 할 수 있다는 것이 명백합니다. 수많은 어려운 과제와 여전히 못 하는 것들이 넘칩니다.

내년은 더 지리하고 어렵지만 중요한 일들이 기다리고 있습니다. 팀과 제품의 장기적 비전에 기여하는 일들은 계속 해야만 합니다. 그 과정에서 냉소하거나 지치지 않고, 제품의 좋은 면을 보고 장기적인 투자의 힘을 믿으며, 같이 일하는 사람들에게 힘을 불어넣을 수 있는 사람이 되고 싶습니다. "쟤가 일하는 거 보면 뭔가 될거같은 느낌" 같은게 있었으면 좋겠습니다.

올해의 성과는 팀 덕분이기도 해서 정말 많은 고마움을 느낍니다. 저도 팀의 발전에 더 기여하고 싶은 마음이 큽니다. 더 좋은 개발 문화의 정착, 서로 더 발전하고 효능감을 느낄 수 있는 좋은 팀 환경을 만들고 싶습니다.

하이라이트

1. 채용 과정 참여 시작 (2022.12 ~ )

2022년 12월부터 웹 프론트엔드 엔지니어 채용 전형 테크 인터뷰에 인터뷰어로 참여하기 시작했고 올해 스무건 정도의 면접에 들어갔었습니다.

많이 해맸습니다. 지원자분의 역량과 경력, 이력서의 내용과 밀도에 따라 질문의 질과 인터뷰 경험의 편차가 존재함을 많이 느꼈습니다. 또한 제 개인적으로는 저보다 더 경험과 경력이 있으신 분들께 어떤 질문을 드리고 제가 어떻게 검증을 해야 하는지 감을 잘 못잡기도 했어요.

날씨가 다시 쌀쌀해지고 나서야 같이 인터뷰에 들어가는 동료들과의 잦은 대화, 프로세스를 계속 개선하는 방식을 통해 지원자에 따라 느끼실 수 있는 인터뷰 경험의 편차도 많이 줄일 수 있었던 것 같습니다. 스스로도 지원자분을 짧은 시간 안에 전부 검증해야겠다는 강박보다는, 이 분께 궁금한 것들을 계속 생각해내고 따라가며 검증보다는 제품의 기술적 고민과 어려움 들을 잘 서로 잘 공유할 수 있는 시간으로 만들려는 노력들이 좀 유효하지 않았나 생각합니다.

2. Micro Frontends 아키텍처 마이그레이션과 운영 (2023.01 ~ 2023.03)

2023년 3월에 flex 제품의 대부분을 Micro Frontends 아키텍처로 전환하는 7개월간의 작업을 끝냈습니다. 이 프로젝트는 말할 것도 없이 제가 일하면서 맞닥뜨린 가장 어려운 프로젝트였습니다.

솔직히 처음 이 아키텍처의 끝 그림을 그렸을 땐 이걸 대체 어떻게 할 수 있지 싶은 수준의 난이도였습니다. 불확실성이 높아서 이 일을 하고있다는 사실 자체만으로 심리적 안정감이 크게 침해되는 느낌이었달까요. 이거 하다가 망하면 난 일년의 반 동안 아무것도 회사에서 아무것도 못 해낸 사람이 될 것 같은 느낌과 싸웠습니다. 다행히 많은 동료분들의 지혜와 도움과 멘탈케어와 조언에 힘입어 성공할 수 있었습니다.

이 일을 하며 개인적인 가장 큰 수확은 플랫폼의 입장에서 부채를 만들고 거두는 원칙에 대해 조금더 생각해볼 수 있었다는 것입니다.

엔지니어링적인 이상을 타협하지 않는 빡빡한 플랫폼이라기보단, 제품과 함께 아키텍처를 같이 발전해나가고 상시 수정이 가능한 회사 자체 프레임워크는 어떤 부채를 낼 수 있고 어떤 때에 거두어야 하는지에 대한 감이 좀 생겼습니다. 아키텍처 마이그레이션 할 때 "아 이건 1년짜리 엔지니어링이야" 라고 만들었던 코드가, 중간에는 그런 일이 한번도 없다가 진짜 1년이 지나서 확장의 필요성이 생겼을 때 쾌감과 성장했음을 느꼈습니다.

3. Micro Frontends 아키텍처로 바뀐 제품 운영하기(2023.03 ~)

사실 마이그레이션 과정도 힘들었지만 사실 가장 힘들었던건 마이그레이션 이후 6개월 정도(3월~9월) 정도의 시간이었습니다. 이때는 프로덕션에 올라간 제품이 정말 생각지도 못한 장애와 이슈를 맞으며 실시간으로 깨달음이 갱신되었던 시간이었습니다.

저도 장애 많이 내서 자괴감과 책임감도 많이 느끼고 안정성을 담보하기 위한 설계가 부족했음을 깨닫고 후회도 많이 되었던 시기였습니다. 하지만 소 잃고도 외양간을 계속 고쳐야만 한다는 심정으로 계속된 땜질, 프레임워크 개선, 배포 프로세스 개선 등으로 피말렸던 여름을 지나 가을이 지났을 때는 거의 심심하면 발생했던 장애가 굉장히 과거의 일처럼 느껴질 정도로 개선되었습니다.

올해 아무도 가지 않았던 길을 가며, 아무도 맞지 않았던 이슈와 문제를 먼저 맞고 해결하는 과정에서 우리 팀만의 기술적 우위와 지혜가 쌓이고 있음을 많이 느꼈습니다.

4. FE Conf 연사 참여 (2023.10)

feconf

개발 컨퍼런스에 연사로 참여하는 것은 제 버킷 리스트 중 하나였는데, 올해 참여할 수 있어 좋았습니다. 그동안 고생하고 찡찡댔던 것들을 외부에 알릴 수 있다는 것 만으로도 저는 많은 살풀이가 되었습니다.

사실 명예욕 비스무레한게 있어서 "저 사람 좀 친다" 싶은 개발자가 되는 것도 좋습니다. 국내에 몇 없는 Micro Frontends의 레퍼런스를 제공할 수 있었다는 것도 보람있는 일입니다. 하지만 제가 연사로 나감으로 팀에 도움이 된 것이 저는 더 의미있게 받아들여집니다. 팀의 기술적 성과와 역량을 대외적으로 알릴 수 있었고, 이를 바탕으로 시장에서 팀의 기술적 역량에 대한 평가를 높였다는 생각이 듭니다. 채용 과정에서도 더 좋은 분들을 많이 모실 수 있었고요.

발표를 잘 했냐는 측면에서는 좀 아쉬운게 많습니다. 7개월간의 마이그레이션 여정에는 많은 사전 설명과 원래 flex 제품이 어땠는지를 알아야 알 수 있는 기술적 성과나 선택의 사연 같은 것들도 있었는데 그걸 다 알려드리지는 못했고요. 사실 이걸 다 알려드리려면 한 두시간은 잡았어야 할 것입니다.

준비에 절대적으로 투자할 수 있는 시간도 좀 부족했고, 지금 유튜브에 공개된 영상을 보면 발표도 좀... 못한 것 같습니다. 다른 컨퍼런스에 연사로 또 참여할 수 있다면 지금의 이 느낌을 바탕으로 조금 더 잘할 수 있을 것 같습니다.

5. 성능 TF 리드 (2023.10~)

10월부터 flex 웹 제품 성능 향상 TF의 리드 역할을 맡고 있습니다. 3개월간 제품의 성능을 꽤 많이 향상시켰고 향상한 성능을 잃지 않을 수 있도록 웹 성능에 대한 가시화, 성능 기준을 수립하는데 기여하고 있습니다.

저는 TF에서 약간의 PM역할을 겸하고 있습니다. 성능 TF의 마일스톤과 중장기적인 로드맵을 수립하고, 제품 성능 향상을 위해 어떤 태스크의 우선순위를 높여 수행해야 할지 결정하고, 태스크의 결과로 성능이 얼마나 향상되었는지에 대한 예상치와 결과치를 만들어 사내에 공유하는 작업도 하고 있습니다. 또한 성능 관련한 VoC나 문의가 들어왔을 때 어떻게 대응해야 할지에 대한 방식을 같이 이야기하거나 하는 일도 했습니다.

원래 플랫폼 업무를 하면서도 PM과 같은 역할을 조금 기대받기는 했는데, 원래는 "내가 근데 엔지니어인데 이런일도 해야하나?" 식의, 역할에 저를 맞추는 경향이 있었습니다. 하지만 이번에 성능 TF 업무를 하며 그냥 저를 PM이기도 한 사람이라고 생각하게 되었습니다. 그렇게 생각하니 업역의 한계를 벗어나 그냥 이 일이 잘 되기 위해서는 어떤 방식의 기여가 필요한지, 코드를 작성하는 일인지, 문서를 작성하는 일인지, 누구와 이야기해야 하는 일인지 좀더 넓은 반경에서 생각해보는 역량이 생기고 있다는 생각이 듭니다.

코드를 작성하는게 다가 아닌 "문제를 해결하는 사람"에 좀더 가까워지고 있다는 생각도 들었습니다.

좋았던 점

1. 높아지기만 하는 기대치를 어느정도 충족해냄

팀이 저한테 기대하는 기여의 강도와 폭은 올해 한 번도 줄어들지 않았습니다. 계속 높아지기만 했습니다. 팀의 기대치는 수직적, 수평적으로 계속 넓어져 나갔습니다. 프론트엔드 엔지니어로써 제품에 장기적 비전과 개발 문화에 기여하는 역할, 또한 인프라 관련 오퍼레이션과 서버 모니터링에 대한 책임과 역할, 연말에 가까워지면서는 PM 비스무레한 역할도 수행했습니다.

돌아보면 거의 피플 매니징 역할 빼고는 다 받고 나서서 했다는 생각이 듭니다. 일이 그냥 계속 어려워지기만 해서 스트레스를 더 많이 받고 뇌가 계속 꼬여가는 경험을 했습니다만 어느정도의 성과는 보였다는 생각이 듭니다.

돌아보면 자꾸 제품에서 가장 시급한 문제가 있는 험지로 보내지는 경험을 했습니다. 앞으로 이 커다랗고 해결에 오래 걸리는 문제를 계속 해결해가려면, 기대치가 높아지는 것 정도는 앞으로도 잘 소화해내고 어려운 문제를 더 단순하게 보고 해결할 수 있는 탁월함을 갖춰야 합니다.

2. 스스로 일하는 환경을 변화시키는데 성공

스스로 일하는 환경을 변화시키는 여러 시도들이 없었다면 높아지는 기대치를 따라가지 못했을 것입니다.

올해도 작년만큼 주로 혼자만 일하는 시간이 많았는데요. 혼자 일하고 고립되면 될수록 커뮤니케이션의 양을 높여 제품과 관련된 의견과 발언에 대한 주목도를 계속 높이고 "내가 이런 일을 하고 있다!" 는 것을 다양한 채널에서 이야기하고 다녔습니다. 이런 방식으로 외로움 이슈를 해결하고 많은 사람의 의견을 얻어 혼자 하는 일이 더 잘 되도록 해낼 수 있었다고 생각합니다.

3. 업무 효율을 계속해서 높임

올해는 처음으로 "이제 야근만 해서는 나한테 주어지는 일들을 모두 해낼 수 없다." 는 생각이 들었습니다. 아무리 생각해봐도 시간을 많이 투자하는 방법으로는 각이 안나왔거든요. 일의 효율을 높여야 했습니다.

업무 차원에서 가장 중요한 것은 쓸데 없는 일 안하는 것, 그리고 적절한 위임이었습니다. 시간을 더 써야 하는 일이 존재할 때 다른 일들을 적절히 위임하는 시도들을 많이 했습니다. 개인적 차원에서는 잘 노는 것, 일에 대해 생각하지 않는 시간을 가지는 것이 일의 효율을 높이는데 정말 큰 도움이 된다는 것을 알았습니다.

올해 남는 개인 시간에는 팀의 문제 해결에 기여하는 개발이나 학습이 아니라면 안 하고요. 대신 여러 취미를 갖는 시도들을 하면서 업무 효율이 꽤 개선되었다는 생각을 했습니다.

별로였던 점

1. 생활이 박살남

회사에서의 스트레스를 잘 관리하지 못하고 일의 복잡함은 정말 쉽게도 생활을 박살냈습니다. 어느정도 회사에서는 이런 복잡함을 잘 관리해냈다고 생각했는데 집에 들어오면 그냥 막살았습니다.

늦게 퇴근하고 놀고 자느라 잠도 부족한 경우가 많았고, 피곤한데 운동을 하는 경우도, 스트레스 풀려고 과자나 군것질류를 자꾸 먹는 경우도 많았습니다. 좋지 않은 생활 습관과 수면 부족을 영양제 투입과 운동을 많이 하는 것으로 퉁쳐서 해결해버리는 식으로 살았습니다.

좀 더 규칙적인 생활과 생활 습관을 개선하면 업무 효율 개선에도 더 성과가 있으리라 봅니다. 생활에 좀 더 루틴을 추가하고 절제를 좀 더 습관화하고 싶습니다.

2. "제품을 좋은 곳으로 이끄는" 사람은 아직 못됨

기여의 폭이나 기대치만큼 좋은 임팩트를 내고 있는가? 라는 질문에, 위에서 말했듯 어느정도는 충족했지만 더 성장이 필요합니다.

가장 크게 느끼는 것은, 로드맵에 기여하기 위해 해야하는 일들을 고를 때 아직도 근시안적인 관점으로 단기간에 결과가 나오는 것들에 대한 욕심을 포기하기가 힘들다는 것입니다. 이게 안 그래도 플랫폼 특성상 장기적 관점의 일이 많은데, 그 기간동안 아무런 성과나 임팩트가 없는게 아직도 불안한 것 같습니다.

이런 욕심에 가까운 정념들을 배제하고 "정말 팀과 제품에 가장 시급한 일이 무엇일까" 라는 관점에서 태스크를 선별하고 리소스를 투입하는 결단이 필요합니다. 또한 그런 일을 정했다면 조금 더 목소리를 높여 이를 설득하고 싸우는 일도 마다하지 않아야 합니다.

그리고 같은 맥락에서 여전히 실패를 거듭하거나, 사이즈 가늠도 힘들만큼 불확실성이 높은 태스크를 맞닥뜨릴때 냉소에 휩싸이는 경향이 있어서 고것도 경계해야 합니다. "이거 한다고 뭐가 되나" 하는 의심들은 태스크가 정말 잘 만들어졌다면 안 할 생각들일 것입니다. 제품의 좋은 면을 보고 장기적 비전에 기여할 수 있는 멘탈과 감정 상태로 더 오래 있을 수 있게 의식적인 연습도 필요합니다.

3. 일 효율은 높아졌으나 학습 효율은 낮음

일 효율이 높아졌다고 말씀 드렸습니다만 일에 필요한 기술이나 프랙티스를 공부할 때의 효율은 좀 재고해봐야겠다고 생각이 듭니다.

요새 느끼는 것은 이전보다, 무언가 같은 시간을 투자해도 머리에 들어오고 이를 제대로 알고 있다고 느끼는 순간이 점점 적어짐을 느낍니다. 뇌 퇴화 이슈일수도 있지만 것보단 좀 더 자투리 시간을 잘 활용해서 공부를 해나가는 것에 좀더 익숙해져야 함을 느낍니다.

정신적으로 피로가 있는 순간이 많다 보니, 조금 더 깊게 이해하고 한 꺼풀 더 들어간 곳의 정보를 얻어서 제 것으로 만드는 일들이 쉽지는 않습니다. 조금 더 본격적으로 보아야겠다 - 고 굳은 결심을 하고 공부에 임해야 한달까요. 더 좋은 학습 방식을 계속 찾아나가고 적용해보고 싶습니다.

내년 목표

별로였던 점들을 바탕으로 내년의 목표를 도출해보면, 다음과 같습니다.

  • 생활 덜 무너트리기
  • 웹 제품과 조직의 장기적 비전에 효과적으로 기여하기
  • 기술적으로 좀 더 본질을 이해할 수 있도록 의도적인 훈련하기

학습

옵시디언

올해 옵시디언을 좀 잘 활용해보고자 했습니다. 옵시디언에 공부한 내용과 리서치를 계속 기록해나갔습니다. graph view를 채워나가고 연결을 시키는 과정이 아주 보람있었습니다.

올해 학습 중 기억에 많이 남는 것은 webpack을 소스코드단까지 깊숙히 이해하려고 했다는 것입니다. webpack을 공부하며 실질적으로 필요했던 Module Federation과 관련된 동작 뿐 아니라, 번들러가 해결하려는 문제와 과제, 이를 위한 webpack의 접근 방식, 그리고 번들링을 해주는 부분 뿐 아니라 개발서버를 이루는 로직의 동작과 도구들 등 다양한 측면에서 도구를 이해할 수 있었습니다.

또한 클라우드 네이티브 인프라에 대한 공부도 기억에 남습니다. K8S, Docker, 서버 모니터링 환경에 대해서 더 깊게 이해하며 프론트엔드 엔지니어가 개발한 제품이 서빙되는 과정을 좀 더 잘 이해하고 이와 관련된 지식들을 팀에 잘 전파할 수 있었습니다.

내년은 조금 더 웹 개발 근본과 관련된 공부들을 더 많이 하고싶은 바람인데요. 거대한 모노레포의 패키지 개발 및 사용 환경을 잘 관리하기 위한 방법이라던지, TypeScript를 더 잘쓰는 데 필요한 공부들도 좀 더 하고 싶습니다. 시간이 좀 더 여유가 되면 개발 플랫폼 일을 많이 하면서 심적으로 많이 멀어진 CSS, 스타일링과 관련된 공부도 하고 싶네요.

하고싶은 말

스스로를 아주 단기적이고 성격 급한 인간으로 규정하는 편입니다. 오래 걸리는 일을 하며 좋은 면을 보려고 하는 것의 장점, 이터레이션과 반복의 힘을 믿는 사람이 되감을 느낍니다. 냉소하지 않고 좋은 면을 많이 보면서 지속 가능하게 일하고 싶습니다.

팀이 엄청난 성과를 이룬 시점에서 과거를 회고할 때, 가장 기억에 남는 것은 "그때 우리가 얼마를 받았냐" 하는 것이 아닐 것이라 말했던 동료의 말이 이해가 되는 한 해였습니다. 이렇게 복잡하고 쩌는 것을 해내면 우리는 이 과정이, 이 추억이 가장 생각날 것입니다.

이 어려운 제품의 어려운 과정을 함께하고 있는 팀의 동료 분들, 프론트엔드 챕터원 분들께 정말 큰 감사함과 신뢰를 가질 수 있는 한 해였습니다. 우리팀 진짜 짱입니다. 여러분이 없었으면 저는 아무것도 못 했을 것입니다.

프론트엔드 챕터 분들께 감사함이 정말 큽니다. 팀 차원의 여러 일을 겪으며 한 분 한 분이 우리 팀이 기다려왔던 소중한 사람, 어벤저스의 일원처럼 느껴집니다. 내년도 여러분들이 조금 더 편하고 좋은 환경에서 개발하실 수 있도록 최고의 서비스로 모시겠습니다.

내년에도 같이 더 좋은 개발 문화, 제품 만들어 보아요. 저랑 같이 고민해주시고, 지혜를 나눠주시고, 공부도 같이 하고, 술도 먹고, 같이 탄천도 뛰고, 배드민턴도 칠 수 있어 너무 감사하고 행복했습니다.

플렉스팀 정말 좋습니다. 이 글을 읽는 여러분들이 오시기를 제가 기다립니다.

(끝)


Written by 김맥스