Search

Our Journey: 진짜 프로페셔널을 향한 항해

1. 우리는 왜 여기에 모였을까요?

실력 향상은 단순히 재능이나 끈기에 달린 일이 아니다. 우리가 얼마나 더 많이 배울 수 있는가를 결정하는, 즉 무엇이든 더 잘할 수 있게 만드는 세 가지 요소가 존재한다.
1.
보기(See): 지식은 대부분 남에게서 얻는다. 다른 사람이 하는 바를 보면서 쉽게 배울 수 있는 환경이어야 실력이 빠르게 향상된다.
2.
연습하기(Do): 숙달되려면 연습이 필요하다. 하지만 모든 연습이 다 똑같지는 않다. 우리 뇌는 힘든 노력을 줄이는 기계와도 같다. 이 사실은 학습에서 엄청난 이점이자 저주가 될 수 있다.
3.
피드백 받기(Feedback): 발전하려면 반복적인 조정이 필요하다. 피드백은 시험지를 빨간펜으로 채점하는 것처럼 점수를 매기는 일이 아니라 자신이 영향력을 발휘하고자 하는 현실과 접촉하는 것을 뜻한다.
다른 사람들을 보면서 배우고, 광범위하게 연습하고, 신뢰할 수 있는 피드백을 얻는 환경이 갖춰지면 빠른 실력 향상이 이루어진다. 그러나 만일 이 세 가지 요소 중 하나라도 놓친다면 불가능하다.
- 스콧 영 <학습의 재발견>, 15~16p
글을 읽는 여러분은 모두 이미 무언가를 '만들 수 있는' 개발자일 겁니다.
기능은 어떻게든 구현하고, 버그는 밤을 새워서라도 잡아냅니다. 하지만 마음 한편에는 이런 질문이 떠나지 않을 겁니다.
"이게 최선일까? 더 나은 길이 있지 않을까?"
우리는 살면서 수많은 방법론에 노출됩니다. "AA 잘하는 법", "BB 잘하는 법" 같은 글들을 읽고 잠시 워크플로우를 개선해보려 하지만, "잘 동작하지 않는군"이라는 생각과 함께 다시 원래의 익숙한 방식으로 돌아가곤 합니다.
이건 여러분의 잘못이 아닙니다. 아름다운 소리를 내는 '플루트'가 있어도, 그 연주법을 체계적으로 숙달하지 않으면 결코 아름다운 소리를 낼 수 없는 것과 같습니다. 지금까지는 단지 전문가의 '악기'와 그 '연주법'을 체계적으로 훈련할 기회가 없었을 뿐입니다.
이번 프로그램은 바로 그 '악기'와 '연주법'을 여러분에게 제공하고, 10일간 함께 집중적으로 숙달하기 위해 존재합니다. 우리의 목표는 명확합니다. '어떻게든 만드는 개발자'에서 '원칙과 기준으로 탁월하게 만드는 개발자'로 거듭나는 것. 진짜 프로페셔널의 세계로 들어서는 것입니다.

2. 우리가 마주할 벽, 그리고 돌파구

프로페셔널의 길을 가로막는 벽은 복잡하고 거대해 보이지만, 그 뿌리는 놀랍도록 단순한 두 가지 문제로 귀결됩니다.
1. 통제되지 않는 '인지 과부하' (Cognitive Overload)
"내가 지금 뭘 하고 있었지?"
이 질문은 모든 문제의 시작입니다. 우리의 뇌는 한 번에 많은 것을 처리하지 못합니다. 이 한계를 무시하고 여러 작업을 동시에 하려 할 때 '정신없는' 상태가 되고, 그 혼돈은 코드에 그대로 흔적을 남깁니다.
불안감은 수많은 if 분기문이 되어 코드의 복잡도를 폭발시킵니다.
잦은 맥락 전환은 타입 안정성을 무너뜨리고 런타임 에러를 유발합니다.
거대한 문제를 작게 '분할 정복'하지 못해 어디서부터 손대야 할지 모르는 막막함에 빠집니다.
우리의 첫 번째 돌파구는 이 인지 과부하를 정복하는 것입니다.
우리는 10분 타이머Red-Green 사이클을 통해 의식적으로 '한번에 하나씩'만 처리하는 작업 리듬을 훈련합니다. 동시에, Parse, Don't Validate 같은 코드 레벨의 패턴을 통해 불확실성을 코드의 '입구'에서 차단합니다. 이를 통해 애초에 많은 것을 생각할 필요가 없는 '안전하고 예측 가능한 환경'을 우리 손으로 만들어냅니다.
2. 기준 없는 방황
인지 부하를 줄여도, '어디로 가야 할지' 모르면 길을 잃습니다. 어떤 코드가 좋은 코드인지, 리팩토링은 언제 왜 해야 하는지에 대한 기준이 없다면 모든 결정은 '감'에 의존하게 되고, 코드 퀄리티와 성장은 운에 맡겨집니다.
우리의 두 번째 돌파구는 우리의 머릿속 흔들리지 않는 '나침반'을 심는 것입니다.
우리는 패턴 북을 통해 문제 상황(Trigger)과 해결책(Ability)을 연결하는 감각을 기르고, 모듈화 원칙(FoM)을 통해 코드 변경에 '왜?'라는 명확한 이유를 부여합니다.
더 이상 "이거 어떻게 하지?"라며 혼자 고민하는 대신, "이 문제는 사실 OOO 패턴으로 해결할 수 있는, 이미 세상에 답이 있는 문제다"라고 문제를 재정의하는 '일반해 탐색 능력'을 갖추게 됩니다.

3. 이런 변화를 만들어보고 싶어요

단순히 몇 가지 기술을 더 알고 끝나는 것을 목표로 하지는 않았으면 좋겠습니다. 이 코스를 충실히 수행했다면 개발자로서의 성장을 바라보는 관점 자체가 달라지리라 생각합니다.
더 이상 '감'에 의존하지 않습니다. 가설-검증 루프패턴이라는 '시스템'으로 디버깅하고 해결합니다.
더 이상 '불확실성으로 인한 불안'에 휘둘리지 않습니다. 한번에 하나씩 원칙과 점진적 개선 사이클을 통해 '통제감'을 가지고 코드를 다룹니다.
더 이상 '성장의 정체'를 두려워하지 않습니다. 의도적 수련메타인지라는 도구를 통해, 스스로 성장을 설계하고 가속하는 방법을 알게 됩니다.
위와 같은 변화를 만들기 위해 우리는 정말 유효한 방식으로 노력해야 합니다. 그리고 직접 내 손과 머리를 써서 훈련해야 합니다. 쉽지 않은 일이지만 함께 밀도 높은 시간을 보내면서 큰 변화를 만들어낼 수 있으리라 믿습니다.
여러분과 그 변화의 첫걸음을 함께 내딛게 되어 진심으로 기쁩니다.