Toss Frontend Accelerator 2기 후기

minizzang·2025년 9월 28일

25.07.14~25.07.25

지난 7월, 토스에서 진행한 Frontend Accelerator 2기 과정에 참여했다.

열흘 동안 퇴근 후 8시부터 10시 반까지 진행되는 프로그램에 참석하는 게 조금은 부담되기도 했지만, 내가 언제 토스 개발자분들께 배울 기회가 있을까 싶어 망설임없이 지원했고 감사하게도 합격해 참여할 수 있었다.

결과적으로 이 선택은 내 개발자 인생의 터닝 포인트(positive)가 되었다.

도움이 된 주요 학습 내용들

🤓 메타인지 높이기, 한 번에 하나씩

코딩을 하다보면 종종 거대한 코드 베이스 안에서 길을 잃고 내가 뭐하고 있었지..? 싶은 순간들이 있다.
분명 A 기능을 구현하려고 했는데, 우선 기존에 있던 B훅을 리팩토링하고 싶고, C함수의 네이밍이 A기능과는 맞지 않는 것 같아 고민이 되고… 그러다보면 정작 중요한 로직은 제대로 신경쓰지 못한 채 지엽적인 것들에 시간을 쏟게 된다. 결국 정신을 차려보면 처음 목표한 기능은 해내지 못한 채 시간은 흘러가있다.

이 프로그램에서 가장 먼저 했던 훈련은 한 번에 하나씩 이다.

코딩을 시작하기 전에 목표를 하나 정하고, 그 목표를 달성하는 것에만 집중한다. 성능 개선, 변수명, 함수명, 엣지 케이스 같은 것들은 중요하지 않다. 우선 주요 기능을 구현하고 다음 사이클에서 리팩토링을 해보면 어떨까.

10분 타이머를 맞춰놓고 이 훈련을 진행하며 깨달은 점은 나는 멀티태스킹이 안 되는 사람이라는 것이다. 정신을 차리지 않으면 나를 방해하는 여러 요소들(Slack 알림, 목표를 벗어난 리팩토링 욕구 등)에 휘둘리는 스스로를 발견할 수 있다.
처음엔 꽤 에너지가 드는 과정이지만, 내가 사고하는 것을 인지할 때와 아닐 때 효율 차이가 크다 보니 기본적으로 메타인지를 높이는 훈련을 꾸준히 할 필요를 느꼈다.

🧠 인지 부하를 줄이는 코드

훈련을 진행하면서 가장 많이 되뇌인 말은 위에서 아래로 읽히는가? 였다.

내가 과거에 짠 코드를 수정할 때 이게 뭐하는 녀석이지? 하고 코드를 타고 타고 들어가 처음부터 끝까지 맥락을 파악해야했던 경험이 종종 있다. 그때 의도를 알 수 없는 함수명과 각종 effect를 만나기라도 하면 상황은 더욱 심각해진다.

나는 막연히 “유지 보수하기 좋은 코드를 짜는 개발자”가 되고 싶다고 생각했다. 하지만 구체적으로 유지 보수하기 좋은 코드가 무엇이고, 어떻게 해야 그런 개발자가 될 수 있는지는 치열하게 고민해본 적이 없었던 것 같다.
하지만 2주 간의 훈련을 통해 그에 대한 답을 찾을 수 있었다.

전문가들의 패턴을 체화해 근거를 만든 뒤
불편한 신호를 감지하고
패턴을 근거로 코드를 수정해
결국 인지부하를 줄이는 코드를 작성하는 과정

프로그램을 통해 이 사이클을 경험할 수 있었고, before와 after 코드를 비교해보면 매번 놀라웠다.

👨🏻‍💻👩🏻‍💻 페어/몹 프로그래밍

내가 생각하는 Accelerator 프로그램의 가장 큰 장점이 이 부분인데,
동일한 과제에 대해 2명이 페어를 이뤄 한 명이 코딩을 하면 다른 한 명이 상대의 메타인지를 관찰+리뷰해주는 페어 프로그래밍과, 내가 짠 코드를 여럿이서 함께 논의하며 의견을 주고 받고 더 나은 방향에 대해 이야기하는 몹 프로그래밍이다.

회사에서 일을 할 땐 더 나은 코드에 대해 깊게 논의하거나 하나의 기능을 여러 명이 다르게 구현해보고 이야기를 나누는 것은 현실적으로 매우 힘들다. 하지만 여기선 그게 가능했다.

처음엔 스스로가 정답이 아니라고 생각해 내 코드를 공유하는 게 민망하기도 하고, 다른 사람에게 어떻게 리뷰를 해야 하는지 감이 안 잡히기도 했다.
하지만 2주차에 접어드니 지금까지 배운 패턴들을 기반으로 논리적으로 생각할 수 있게 되었고, 자신감도 생겼다.

이 시간에는 토스 개발자분들도 facilitator로 참여해 의견을 공유해주셨는데, 개개인의 선호도나 스타일은 조금씩 다르지만 기본적으로 추구하는 방향성이 모두 맞춰져있다는 느낌이 들어 신기했다.

회고

근거 있는 코드 작성하기

프로그램을 시작하기 전, 2주 후에 바라는 나의 모습을 아래와 같이 정의했다.

당시 나는 내가 작성하는 코드에 대한 근거를 명확하게 말하기가 어려웠다. 코드 리뷰를 하거나 받을 때, 왜 이렇게 코드를 작성했는지 혹은 왜 이렇게 수정되어야 하는지를 직관적으로는 느끼지만 남을 설득할 명확한 근거가 없었고, 이는 내가 짠 코드를 스스로 신뢰하지 못하는 결과를 낳았다.

결과적으로 나는 프로그램을 통해 내가 원하던 바를 (100+a)%얻을 수 있었다. 특정 기술이나 기능에 국한된 학습이 아니라, 기본적으로 프로그래밍을 하는 데 필요한 기초 근육들을 쌓는 훈련 속에서 추구해야하는 방향성과 근거를 찾을 수 있었다.

훈련한 것이 휘발되지 않게

벌써 프로그램이 끝난지 두 달이 지났다.
Accelerator를 진행하면서 이직 준비도 병행했는데, 그 과정에 여기서 배운 내용들이 큰 도움이 되었고 감사하게도 이직에 성공했다.

그런데 지금 나는 배운 것들을 잊지 않고 잘 사용하고 있나?
(솔직히 100%는 아닌 것 같다.. ㅎㅎ)
아무리 좋은 내용을 배우더라도 내가 익히지 않으면 결국 내 것이 되지 않는 것처럼, 계속해서 인지하고 완전히 체화해야겠다는 다짐을 한다. 💪

글을 마치며,

2주 동안 함께 치열하게 고민하고 노력했던 2기 동료분들과 조언 해주신 토스 개발자분들, 무엇보다 이렇게 좋은 프로그램 기획해주신 오종택 코치님께 감사드립니다.🙇

앞으로 더 많은 개발자들이 Accelerator 프로그램을 통해 방향성을 찾고 성장하는 경험을 하길 바라며, 혹시 지원을 망설이고 있다면 무조건 도전하시길!

이런 분들께 추천합니다.

  • 더 성장하고 싶은데, 무엇을 어떻게 노력해야 하는건지 모르겠는 분
  • 일단 구현은 해내지만, 코드 퀄리티에 아쉬움이 남는 분
  • 2주 전에 내가 짠 코드를 다시 이해하기에 시간이 오래 걸리는 분
  • 전문가라면 어떻게 이 문제를 해결할지 궁금한 분
  • 다른 개발자들과 교류하며 함께 성장해가고 싶으신 분

0개의 댓글