나의 2025년 회고

강민수·2026년 3월 1일

회고 시리즈

목록 보기
2/2

3월에 올리는 작년 회고… 쓰다 보니 이렇게 됐다. 늦었지만 그냥 올린다. 🙂


인생 첫 한 해를 되짚는 회고

그동안 마음속으로 '매년 회고 써야지…'를 되뇌다 계속 미뤄왔는데, 드디어 부끄럽지만 끄적여본다.


1. 냉혹한 추위 속으로 다시…

2024년 12월.

나의 두 번째 커리어 퇴사가 결정되었다.

거두절미하고, 회사 자금 사정으로 정리해고 되었다.

그런데 도리어 나는 이걸 기회라고 생각했다. 애초에 내가 선택한 회사였지만, 1년이 넘어가는 시점부터 떠날 생각을 하고 있었다. 이유야 여러 가지가 있겠지만, 월급이 밀린 상태가 되다 보니 솔직히 일할 맛이 나지 않았다. 그래서 '권고사직 당하면 편하게 집에서 준비나 하면 되지'라고 생각했던 게 사실이다.

그러던 차에, 월급이 두 달째 밀리던 시점에 하나둘 짐을 싸기 시작했고, 나도 그 중 한 명이었다.

미리 준비는 해두고 있었지만, 재직 중 준비하는 것과 백수로 준비하는 건 직접 겪어보니 천지 차이였다. 그래도 다행히 서류 합격률이 저조하지는 않았다. 하지만 이건 그저 서막에 불과했다.


2. 면접도 배움의 과정이라는 깨달음

시리즈 B부터 유니콘 기업까지, 다양한 규모의 회사 면접을 보면서 느낀 것이 정말 많았다. 그리고 면접이 하나의 배움의 과정이라는 걸 다시 한번 실감했다.

특히 한 상장 기업 면접이 기억에 남는다. 자바스크립트 V8 엔진의 동작 원리와 클로저에 대해 굉장히 깊게 물어봤다 (지금 생각하면 기본적인 질문들이지만). 식은땀을 흘리며 설명을 마치고 바로 '아, 떨어졌다'는 걸 직감했다.

그래서 바로 복기에 들어갔다.

'내가 자바스크립트 이 부분을 제대로 모르는구나. 기본부터 다시 하자.'

MDN, 자바스크립트 Deep Dive, 각종 유튜브를 뒤지고, 머릿속에 그림을 빈 종이에 다시 옮겨 그려봤다. 그리고 GPT와 티키타카 하면서 체화시켰다.

그렇게 여러 면접을 반복하다 보니, 어느 순간 누가 물어도 머릿속 그림을 자연스럽게 설명할 수 있게 되었다.

그 효과가 가장 극적으로 발휘된 건 세 번째 회사(직전 회사) 면접이었다. 시니어, 리드분과 면접을 봤는데, V8 엔진과 클로저, 리액트 쿼리 캐싱 구조를 말로만 설명하는 게 아니라 그냥 손으로 그려가며 설명했다. 나중에 들으니 '이런 사람 처음 봤다'고 하셨다고. (자랑은 아니고…) 체화가 몸을 움직이게 한 것 같다.

덕분에 다음 날 빠르게 합격 통보를 받았다. 다만 선뜻 수락하지는 못했다 (이유는 후술).

결론적으로, 이 과정을 통해 내가 아는 것과 모르는 것을 명확히 인지할 수 있었고, 하나씩 메워가면서 성장했다.


3. 선택에 대한 고민

직전 회사를 선택하기까지 고민이 정말 깊었다.

물론 그 회사도 투자 라운드가 높고, 더 많은 동료들과 스쿼드 기반 구조, 디자인 시스템까지 갖춰져 있었다. 하지만 배부른 소리일 수 있겠지만, 내가 가고 싶었던 회사 중 한 곳의 전형이 진행 중이었다.

이제 지난 얘기니 솔직하게 털어놓자면, 평소 줄기차게 서류 탈락하던 당근에서 운 좋게 서류 합격 후 과제를 거쳐 기술 면접까지 올라가 있었다. 그래서 직전 회사에는 미안하지만 결정을 잠시 미루고 싶었다.

당근 면접 경험 자체는 정말 좋았다. 결과적으로는 기술 면접에서 아쉽게 탈락했다. 돌이켜보면 기술적인 부분도 있었지만, 프로덕트 메이커로서의 사고방식을 묻는 질문도 꽤 많았는데, 그 부분을 제대로 생각해본 적이 없던 나에게는 아직 맞지 않는 옷이었던 것 같다.

그렇게 마음을 다잡고, 2월에 들뜬 마음으로 직전 회사에 입사했다.


4. 성장을 거듭한 레벨업의 기회

팀과 회사를 바라볼 때 나는 크게 두 가지를 본다.

  1. 내가 이 팀에 지금 어떤 기여를 할 수 있는가
  2. 내가 이 팀에서 어떻게 성장할 수 있는가

먼저 내가 마주한 팀의 문제를 해결한 경험들부터.

1. 백엔드와 프론트엔드 간의 API 소통 부재

처음 문제를 제기한 지점은 API 소통이었다. 스웨거를 쓰고는 있었지만 같은 SOT(Source Of Truth)로 활용하지 않고 있었다.

그래서 내가 맡은 프로젝트부터 하나씩 개선해보기로 했다. 직전 회사에서 이미 검증한 OpenAPI 기반 코드젠을 도입했고, 백엔드 개발자분과 지속적으로 소통하며 스웨거 구조의 잘못된 부분을 왜 고쳐야 효율적인지 단계적으로 설명드렸다. 그분을 내 아군으로 만드는 데 성공했다(ㅎㅎ).

결과적으로 d.ts 파일 하나로 타입을 관리하고, 반복 핸들러 생성을 코드젠에 위임하면서 개발 생산성이 눈에 띄게 좋아졌다. 이후 큰 프로젝트의 스쿼드 협업에서도 긍정적인 효과를 입증했고, 프론트 동료분들로부터도 감사하다는 피드백을 받았다.

2. 디자인 시스템이라는 이름 속 시스템의 부재

입사 전 디자인 시스템이 있다고 들었고, 스토리북과 배포 구조까지 꽤 갖춰져 있었다. 하지만 두 가지 문제가 있었다.

하나, 한 명의 시니어에게 모든 책임이 전담되어 있었다. 하지만 그분이 프로덕트까지 함께 맡아야 하는 상황이었고, 다른 팀원들은 소비만 하는 편이었다.

그런데 마침 그분이 출산 휴가를 가게 됐다. 나는 이걸 그냥 넘길 수 없다고 생각했다.

정기 주간 회의에서 문제를 제기하고, 내가 총대를 메고 제안했다. 한 명의 개인이 책임지는 구조가 아닌, 프론트엔드 전체가 함께 만들어가는 구조로. RFC(Request For Change) 템플릿을 만들고, 2주에 한 번 디자이너분들과 정기 회의도 신설했다.

기존에는 소통 없이 서로 업데이트 간의 괴리만 쌓였는데, 소통의 장을 만들어두니 하나둘 프론트 개발자분들이 역할을 주체적으로 가져가고 디자이너분들과의 소통도 원활해졌다.

3. tsconfig 느슨한 타입 설정으로 인한 런타임 오류 가능성

기존 tsconfig 설정이 너무 느슨하다 보니 런타임에서 오류가 터져 QA에서 잡히는 일이 잦았다.

점진적으로 해결하는 게 맞다고 판단해, 기존 코드는 ts-no-check로 건드리지 않고, 새로 작성되는 코드부터 strict: true로 강타입으로 전환했다. 덕분에 이후 개발 단계에서 타입 에러를 미리 잡을 수 있게 됐다.


다음은 내 스스로 성장한 순간들.

1. 16K 캔버스 메모리 최적화

B2C가 아니다 보니 대용량 트래픽 처리는 없을 거라 생각했는데, 맡은 프로젝트에서 변수가 생겼다.

16억 화소 초고화질 이미지를 소켓으로 계속 받아 렌더링해야 했는데, 잘못 처리하면 브라우저 메모리 가비지 컬렉터가 제대로 처리를 못했다.

밤을 지새우며 결국 해결했을 때의 쾌감은 이루 말할 수 없었다. 고객사 요구 기한 내에 배포까지 맞출 수 있었고, 이때부터 팀 내 신뢰 자산이 한층 두터워졌다.

2. 첫 사내 라이브러리 배포

openapi-react-query가 타입 세이프티 이슈와 일부 기능 미지원 상태였고, 업데이트를 마냥 기다리기엔 시간이 아까웠다.

오픈소스니까 포크 떠서 내 GitHub에 zip으로 배포해 썼는데, 어느 날 팀원이 안 된다고 해서 보니 개인 레포 토큰이 24시간 후 만료된 것이었다. 그래서 시니어분과 협의해 바로 사내 레포지토리에 라이브러리로 배포했다.

처음엔 겁먹고 엄두도 못 냈던 일인데, 해보니 '안 될 거 없다'는 자신감이 생긴 좋은 경험이었다.


이렇게 세 번째 회사에서도 짧은 시간이었지만 정말 많이 성장했다. 직접 나서서 기여하다 보니 백엔드, 프론트, 디자이너, PM, QA 등 다양한 팀원들에게 신뢰 자산을 쌓을 수 있었다.

하지만… 그럼에도 불구하고 고민이 커지기 시작했다.


5. 커리어에 대해 커져만 가는 고민

성과도 나쁘지 않고 경험도 좋았지만, 아직 채우지 못한 갈증이 머릿속을 맴돌았다.

  1. 성숙한 개발 문화에 대한 갈증
  2. 성공하는 프로덕트를 원팀으로 함께 만들어가는 경험

지금 회사에서도 열심히 하면 어떻게든 될 수도 있었겠지만, 내게는 시간이 더 급했다. 더 늦기 전에 더 큰 도전을 해보고 싶었다.

저 두 가지를 기준으로 적합한 공고를 찾아 지원하기 시작했다. 두 조건을 동시에 충족하는 회사는 생각보다 많지 않았다.

그러던 중 한 회사에서 덜컥 최종 합격이 났다. 하지만 포기했다. 규모는 상장사로 현 회사와 비교가 안 됐지만, 아쉬운 개발 문화와 지나치게 수직적인 구조가 내 성향과 맞지 않았다. '또 같은 이유로 나오지 않을까'라는 생각이 컸다. 그래서 감사히 고사했다.


6. 다시 찾아온 하나의 행운

그리고 정말 운 좋게도, 토스에서 면접 기회가 왔다.

여러 과정을 거쳐 지금은 프론트엔드 그로스 트랙으로 합격해서 잘 다니고 있다. 앞서 제시한 두 가지 조건을 많은 부분 충족한 회사였기에 선택했다.

교육 과정을 마친 지금, 또 다른 차원의 성장을 한 것 같아 감사하다. 배운 것을 계속 업그레이드하면서, 이제는 사일로와 프로덕트에 어떻게 녹여낼지 고민해봐야겠다.

진정으로 팀에 도움이 되는 사람이 되고 싶다. 그러기 위해 부단히 노력하는 2026년을 만들어야지.


7. 일본에서의 마지막 한 해 마무리

이번 오프 위크(토스의 연말 휴식 시즌)에 해외여행을 처음 가봤다. 내 나이에 이렇게 우물 안 개구리일 수가 ㅎㅎ.

일본어를 못 하다 보니 온갖 방법으로 길 찾고, 지하철에서 헤매기도 했다. 그러다 어느 순간 지하철이나 구글맵 보는 게 익숙해졌다.

처음에는 낯섦을 두려움으로 받아들였는데, 생각해보니 당연한 일이었다. 내가 있던 울타리 안에서는 뭐든 익숙하지만, 울타리 밖에서는 누구나 어린 양일 뿐이다.

거의 매일 평균 4만 보 가까이 걸었고, 매일 러닝도 했다 (비밀 아님 ㅎㅎ).

오사카에 와보니 내가 어디에 관심이 있고 없는지가 더 명확해졌다. 먹는 것이나 쇼핑에는 물욕이 별로 없다는 걸 확실히 알았다. 면세도 되는데 구경만 하고 가족 선물 몇 가지만 샀다. 그냥 여유롭게 자연을 보고 발길 가는 대로 걷는 게 훨씬 좋았다.

혼자 하는 무계획 여행의 재미가 이런 거구나 싶었다. 다음에는 가족들과 꼭 다시 오고 싶다. 새로운 안식처가 하나 생긴 느낌이랄까.


끝으로

언제 다 쓰나 했는데 드디어 마무리된다.

올해는 커리어적으로도 고민이 많고 회사도 여러 번 옮기며 다사다난한 한 해를 보냈다. 앞으로 더 새로워지고 확장된 경험을 쌓으러 온 만큼, 토스에서의 여정을 나만의 색깔로 2026년을 꽉 채워볼 생각이다.

너무 조급하지도, 너무 여유롭지도 않게 — 적당한 긴장감으로 당당하게.

그리고 이번 여행에서 배운 것처럼, 새로움은 두려운 것이 아니라 누구에게나 낯섦으로 시작될 뿐이라는 걸 다시 새긴다.

2026년 모두 새해 복 많이 받으시고, 각자의 재미있는 한 해 보내봅시다. 🙂

profile
개발도 예능처럼 재미지게~

0개의 댓글