
1월 13일(화) Pre-Course부터 사전 스터디, 본 코스를 포함해서 2월 27일(금)까지 6주가 흘렀다. 오프라인 교육은 총 9회였지만, 코스 기간 동안 개인 시간을 모두 투자해야 할 정도로 코어한 프로그램이었다.
나뿐만 아니라 대부분의 사람들이 반신반의했을 것이다. 아무리 그래도 6주라는 시간에 사람이 전문가로 변할 수 있을까? 지금의 나는 당연하게 말할 수 있다.
당연히 바뀔 수 있다. 바뀌었으니까.
이전의 나
코스 진행 전, 사전 질문에서 나의 고민을 적는 시간이 있었다. 3~5년 차 개발자들의 고민을 들어보면 대부분 비슷할 텐데, 나도 크게 다르지 않았다.
사수 없이 업무를 하고 있는데, 내가 잘하고 있는 건지 판단하기 어려워요.
내가 작성한 코드를 다른 사람에게 설명하는 게 어려워요.
PR 리뷰하는 게 어려워요. 어떻게 하면 잘할 수 있을까요?
위 고민들은 연차가 쌓인다고 자연스럽게 해결되지 않는다.
Toss Frontend Accelerator는 이 문제를 6주 만에 해결해주었다.
어떻게 가능했을까?
전문가 따라하기
생각보다 방법은 간단하다. 전문가를 따라하면 된다. 하지만 실행은 그렇게 간단하지 않다.
1) 무지를 드러내기
1번에 적은 이유는 가장 중요하고 어렵기 때문이다. 우리는 잘 모르는 부분을 습관적으로 숨기려 한다. 잘한 것만 보여주고 싶은, 사람의 당연한 심리다.
누군가는 모르는 것이 생겼을 때 2시간 동안 고민해서 해결하기도 하고, AI에게 물어보며 스스로 답을 내리기도 한다. 둘 다 잘못된 방법은 아니지만, 코스에서는 전문가의 도움을 받아 2분 만에 해결하고 남은 1시간 58분을 다른 곳에 쓰기를 권장한다.
스스로 고민해서 해결하는 건 코스가 끝나고 평생 하면 되지만, 전문가의 도움을 받을 수 있는 건 지금뿐이다. 한마디로 ROI(Return on Investment) 가 전혀 나오지 않는 행동인 셈이다.
처음엔 나도 못하는 것을 드러내는 게 두려워 질문을 거의 하지 않았다. 하지만 코치님이 뇌가 찌릿해지도록 질문을 해주셔서, 얼굴이 빨개지면서도 계속 답변을 했다.
아래는 사전 스터디 기간 중 코치님과 나눈 대화의 일부이다. 처음엔 재미있게 공부를 하고 있었고, 이렇게 코스가 끝나면 자연스럽게 성장해 있지 않을까 하는 막연한 기대가 머릿속을 채우고 있었다. 그런데 코치님과 대화를 주고받으면서 크게 깨달았다.

이후에도 1시간가량 고민하며 대화를 나누고, 솔직하게 내 생각을 털어놓았다.
- 교과서를 배우면 자연스레 될 거라는 무의식적인 생각
- 평소 개발자 문서를 보듯이 학습하는 습관
- 행동이 집중되지 않고 분산되어 있는 환경
그리고 이를 해결할 방법도 스스로 찾아 답을 내렸고, 앞으로 나아갔다. 나에게는 이때가 진짜 폭발적인 성장의 시작이었다. 이렇게 부끄러운 감정을 솔직하게 털어놓고 나니, 모르는 것을 물어보는 것쯤은 전혀 부끄럽지 않았다. 빠르게 물어보고, 빠르게 답을 구하고, 빠르게 수정해서, 빠르게 칭찬받고 성장하는 것이 너무 즐거웠다.
2) 생각 나열하기
코드를 작성하면서 사고의 흐름을 있는 그대로 나열하고, 전문가와 비교한다. 자신의 생각을 꺼내면서 자연스레 사고의 재조정이 일어나고, 전문가와 비교하면서 잘못된 부분을 바로잡아 한 번 더 재조정을 거친다. 이 과정에서 폭발적인 성장이 일어난다.
10분 타이머, 1시간 라이브 코딩 녹화 복기, 15분 페어 코딩 및 복기. 주로 사용했던 방법들인데, 모두 내가 코드를 작성할 때를 돌아보는 방식이다. 단순히 코드를 이상하게 작성하는 것을 찾는 게 아니라, 사실을 있는 그대로 관찰하면 된다. 아래는 실제로 관찰된 행동들이다.
- 시간이 지나면 다리를 떨거나 목소리가 작아진다.
- 코드를 붙여넣을 때 중괄호나 대괄호 실수가 잦다.
- 병목이 생겼을 때 당황하여 행동이 산만해진다.
- 기획서나 실제 화면을 보지 않고 코드만 작성한다.
위 행동들을 직접 바라보고, 개선 방법을 찾아 시도하고, 개선한다. 이걸 반복한다.

위 내용은 프리코스 때의 PR이지만, 나에게는 가장 기억에 남는 내용이었다. 앞서 말한 대로 전문가와 생각의 방향을 비교하면서 개선해 나가는 정확한 예시이다.
3) 패턴화하기
결국 배운 것들은 시간이 지나면 잊힌다. 전문가는 이를 자연스럽게 패턴화하여 일상과 업무에 녹여낸다. 복잡한 코드를 보면 자연스레 긴장을 느끼고, 인지 부하를 낮추기 위해 행동한다. 그 행동도 AI에게 물어보거나 책을 찾아보는 것이 아닌, 원래 하던 패턴을 반복하는 것이다.
코스에서는 좋은 코드를 작성해 나가는 메커니즘으로 FoM(Fundamentals of Modularization) 을 제시한다. 패턴화의 시작은 이 원칙에서 출발할 수 있다.
- 명확한 신호에서 출발하는가?
- 결과에 기여하고 있는가?
- 일반해로부터 출발할 수 있는가?
- 안전한가?
- 변경하기 쉬운가?
- 그 결과, 뇌가 편해졌는가?
짧고 간단해 보이지만, 효과는 확실하다. 1~6을 빠르고 정확하게 실행하면 전문가의 행동이 자연스럽게 나온다.
이 원칙들은 결국 예측 가능한 코드의 작성을 위한 것이고, 다른 말로 미래에 생각하는 비용을 줄이기 위한 것이다.
FoM을 패턴화하기 위한 패턴을 만들 수도 있고, 본인만의 다른 패턴을 만들어 가면서 전문성을 키워나갈 수 있을 것이다.
지금, 앞으로의 나
코스가 끝나고 나에게 가장 크게 바뀐 것은 생각이다. 코드를 작성할 때 누군가에게 명확한 설계 의도를 설명할 수 있고, 다른 사람의 시각으로 코드를 바라볼 수 있게 되었다.
누구든 코드를 작성할 때 의도가 있으며, 완벽하거나 틀린 코드는 없다. 또한, 내가 작성한 코드가 언젠가는 더러워질 것이라는 사실을 인정해야 한다.
다만, 예측 가능하고 변경에 용이한 코드를 작성함으로써 그 수명을 늘려가고, 더 나은 제품을 만들어가는 데 기여하는 개발자가 되는 것이다.
나는 앞으로 이런 생각들을 꾸준히 정리하며 전문성을 키워나갈 생각이다. 생각을 동료, 지인들과 공유하고, 그 속에서 또 한 번 발전을 이루어 나가고 싶다.
끝으로, 코스 기간 동안 함께했던 팀원들 덕분에 성공적으로 끝마칠 수 있었다. 최고의 팀원들이었다!