5. 패턴은 의도적 수련으로 쌓인다
의도적 수련이란
에릭손은 의도적 수련을 이렇게 정의합니다: "의도적 수련이란 잘하지 못하거나 아예 할 수 없는 것을 상당한 노력과 구체적인 방법으로 지속적으로 시도하는 것이다."
핵심은 막연한 노력과 의도적 수련은 다르다는 것입니다.
컴포트 존을 벗어나기
세계적인 피겨 스케이팅 선수들을 관찰한 연구가 있습니다. 그들은 연습 시간의 68%를 트리플 악셀 같은 어렵고 실패하기 쉬운 동작에 투자했습니다. 반면 아마추어 선수들은 48%만을 어려운 동작에 쓰고, 나머지 시간은 이미 잘하는 동작을 반복했습니다.
더 중요한 차이는 실패를 대하는 태도였습니다. 최고 선수들은 넘어졌을 때 그냥 일어나서 다시 시도하지 않았습니다. 잠시 멈춰서 "왜 균형을 잃었지? 발목 각도가 문제였나? 속도가 부족했나?"를 분석하고, 다음 시도에서 구체적으로 무엇을 바꿀지 결정한 후에야 다시 시작했습니다.
핵심은 '컴포트 존을 벗어나는 것'입니다. 우리 뇌는 에너지를 아끼려는 본능이 있어서, 편한 것, 익숙한 것, 이미 잘하는 것을 반복하려 합니다. 하지만 그것은 연습이 아니라 그냥 '하는 것'일 뿐입니다. 진짜 성장은 불편한 곳, 실패가 일어나는 곳, 아직 못하는 곳에서 일어납니다.
일상을 수련의 장으로
하지만 여기서 딜레마가 시작됩니다. 피아니스트는 공연 전에 연습실에서 연습하고, 운동선수는 경기 전에 훈련장에서 땀을 흘립니다. 하지만 우리는? 매일이 실전이고, 매일이 프로덕션입니다. 별도의 수련 시간 없이 늘 '공연'을 하고 있습니다.
그렇다면 어떻게 일하면서 동시에 의도적 수련을 할 수 있을까요?
첫 번째 방법은 일을 작은 실험으로 만드는 것입니다.
예를 들어, 새로운 기능을 구현할 때 10분 타이머를 설정하고 "이 시간 안에 로직을 구현해보자"라고 도전해보세요. 실패해도 괜찮습니다. 10분이니까요. 또 스스로 정한 실험일 뿐이니까요.
두 번째는 즉각적인 피드백 루프를 만드는 것입니다.
코드를 작성하고 한 달 후 코드 리뷰를 받는다면 너무 늦습니다. 페어 프로그래밍을 하거나, 작은 PR을 자주 만들어 빠른 피드백을 받으세요. 매일 퇴근 전 5분간 "오늘 뭘 배웠지? 뭐가 어려웠지? 내일은 뭘 다르게 해볼까?"를 자문해보는 것도 좋습니다.
세 번째는 패턴을 수집하고 연습하는 것입니다.
코드 리뷰를 받았다면, 그냥 "아, 그렇구나"하고 넘기지 마세요. "이 사람은 왜 이렇게 생각했을까? 어떤 패턴을 적용한 걸까?"를 분석하고, 비슷한 상황에서 그 패턴을 적용해보세요. 이렇게 모은 패턴들이 여러분만의 '심적 표상'이 됩니다.
환경의 역할: 테트리스가 알려주는 것
한편 '수련하기'가 중요한 것은 맞지만, 그것만으로 모든 것을 돌파하기란 힘듭니다.
관련하여 재미있는 사례가 있습니다. 1990년대에 전성기를 누렸던 테트리스 게임에서, 최근 플레이어들이 과거보다 훨씬 뛰어난 실력을 보이고 있다는 것입니다. 왜일까요?
스콧 영은 『학습의 재발견』에서 이 현상을 분석했습니다. 비밀은 '환경'에 있었습니다.
유튜브 영상으로 최고수의 손 움직임을 관찰할 수 있게 되자, 1초에 10회 이상 버튼을 누르는 '하이퍼 탭핑' 같은 혁신적 기술을 누구나 모방할 수 있게 되었습니다. 커뮤니티와 유튜브 등의 온라인 플랫폼은 개인의 발견을 광범위하게 배포 가능한 지식 저장소가 되었습니다.
1990년대 플레이어는 주변 친구들에게서만 배울 수 있었지만, 오늘날 플레이어는 전 세계 최고수들의 전략을 쉽게 접할 수 있습니다. 실력 향상은 단순히 재능이나 끈기의 문제가 아니었던 것입니다.
스콧 영은 실력 향상의 세 가지 핵심 요소를 제시합니다:
•
보기(See): 다른 사람이 하는 것을 관찰하고 배우기. 최고수의 플레이를 볼 수 있는 환경이 중요합니다.
•
연습하기(Do): 단순 반복이 아닌 의도적 연습. 우리 뇌는 힘든 노력을 줄이려 하는데, 이것이 학습의 이점이자 저주가 될 수 있습니다.
•
피드백 받기(Feedback): 빨간펜 채점이 아닌, 실제 현실과의 접촉. 내가 한 행동의 결과를 즉시 확인하고 조정하기.
이 세 요소가 갖춰질 때 빠른 성장이 가능합니다. 하나라도 부족하면 성장은 정체됩니다.
시선을 '나'에게 돌리기
김창준님은 『함께 자라기』에서 이렇게 언급했습니다.
"경험은 일, 놀이, 수련 세 가지로 나눌 수 있는데, 이 중 수련에 투자된 시간만이 퍼포먼스 향상과 관련이 있다."
우리가 매일 코드를 작성하고, 버그를 수정하고, 기능을 구현하는 것. 이것은 '일'입니다. 퇴근 후 유튜브를 보거나 게임을 하는 것은 '놀이'입니다. 그렇다면 '수련'은 언제 하고 있나요?
이제 시선을 바꿔야 합니다. "어떤 강의를 들을까?" "무슨 기술을 배울까?"가 아니라, "나는 오늘 무엇을 연습했는가?", "나는 어떤 약점을 개선했는가?"로요.
수련은 거창한 것이 아닙니다. 오늘 작성한 코드에서 가장 마음에 들지 않는 부분을 10분간 다시 써보는 것. 실패했던 디버깅 과정을 복기하며 "다음엔 어떻게 접근할까?" 메모하는 것. 코드 리뷰를 받고 그 패턴을 세 번 연습해보는 것. 이 모든 것이 수련입니다.
'나'에게 집중해야 합니다. 나의 현재 수준은 어디인가? 나의 약점은 무엇인가? 나는 오늘 무엇을 의도적으로 연습했는가?
여기서 '의도성'을 가지고 있느냐가 중요해집니다. 같은 실수를 반복하지 않기 위해 의식적으로 노력하고, 약점을 파악하여 집중적으로 개선하고, 피드백을 구하고 반영하는 것. 이것이 시간이 지나도 크게 달라지지 않는 개발자와, 매년 눈에 띄게 성장하는 개발자를 가르는 차이입니다.
테트리스 플레이어들이 30년 전보다 훨씬 뛰어난 이유를 기억하세요. 최고수를 관찰할 수 있고(See), 의도적으로 연습하고(Do), 즉각적인 피드백을 받을 수 있는(Feedback) 환경.
모든 연습이 완벽을 만들지는 않습니다. 하지만 의도적 수련은 확실히 전문가를 만듭니다.
여러분이 작성하는 작은 코드 한 줄이, 단순한 작업이 아닌 의도적 수련의 시작이 되기를 바랍니다. 불편함을 피하지 말고, 실패를 두려워하지 말고, 끊임없이 왜?라고 물으세요. 그것이 진짜 성장의 시작입니다.


