toycrane

성장의 보편 패턴: 인간, 사회, 그리고 소프트웨어

모든 성장에는 같은 패턴이 있습니다. 요리를 배울 때도, 자전거를 탈 때도, 조직이 커질 때도, 소프트웨어가 바뀔 때도 겉모습은 다릅니다. 하지만 밟는 단계는 놀라울 정도로 같습니다.

요리사의 성장으로 보는 다섯 단계

가장 쉬운 예는 요리입니다.

1단계: 감으로 합니다. 냉장고를 열고 있는 재료로 대충 만듭니다. 레시피는 없습니다. 간은 “감”으로 맞춥니다. 잘 되면 맛있고, 안 되면 다시 합니다. 모든 지식이 머릿속에만 있습니다.

2단계: 의식하기 시작합니다. 처음으로 다른 사람에게 요리를 가르치려 합니다. “적당히 볶아”, “간 좀 봐가면서 해.” 그런데 “적당히”가 사람마다 다릅니다. 결과가 들쭉날쭉합니다. 내 머릿속에만 있던 것을 밖으로 꺼내야 한다는 사실을 처음 깨닫습니다.

3단계: 형식으로 적습니다. “소금 적당히”가 아니라 “소금 1/2 티스푼”으로 적습니다. 불 세기, 시간, 순서를 글로 정리합니다. 적어보면 내가 무의식적으로 하던 판단이 드러납니다. 머릿속 지식이 글로 정리되는 과정입니다.

4단계: 일을 나눕니다. 손님이 늘어나니 혼자 감당이 안 됩니다. 앞 요리, 메인 요리, 디저트를 맡는 사람이 나뉩니다. 주방장이 전체 순서를 맞추고, 재료 업체에 주문하는 방식도 정합니다. 각자 자기 일만 잘하면 됩니다.

5단계: 자동화합니다. 전국 어디서나 같은 맛을 내야 합니다. 소스는 공장에서 만들어 보내고, 조리 시간은 타이머로 정확히 맞추고, 위생 점검은 확인 목록으로 처리합니다. 판단의 여지를 의도적으로 줄입니다.

핵심은 순서입니다. 감으로 하다가 가르치려니 표현하게 되고, 적다 보면 사람이 늘어 일을 나누고, 결국 반복은 자동화됩니다. 거꾸로 하면 안 됩니다. 레시피도 없이 프랜차이즈부터 차리면 가게마다 맛이 달라지고, 결국엔 망합니다.

같은 패턴, 다른 영역

영역은 달라도 밟는 단계는 같습니다.

자전거를 생각해 보면 됩니다. 아이가 세발자전거를 탈 때는 생각 없이 페달을 밟습니다(1단계). 두발자전거로 바꾸면 갑자기 안 됩니다. “핸들을 잡고, 페달을 밟고, 균형을 잡고…” 하나하나 의식해야 합니다(2단계). “출발할 때는 한 발을 땅에, 속도가 붙으면 올린다” 같은 자기만의 요령을 정리합니다(3단계). 수백 번 반복합니다(4단계). 그리고 다시 생각 없이 탑니다(5단계). 음악을 들으면서, 대화를 하면서요.

1단계와 5단계는 겉보기에 같습니다. 둘 다 “그냥” 합니다. 하지만 본질은 다릅니다. 1단계의 “그냥”은 모르니까 그냥 하는 것입니다(무의식적 무능). 5단계의 “그냥”은 알아서 그냥 하는 것입니다(무의식적 유능). 가운데 2단계부터 4단계까지의 의식적 고통을 거쳐야 5단계에 도달할 수 있습니다.

같은 자리로 돌아오지만 높이가 다릅니다. 나선형 성장입니다.

조직도 마찬가지입니다. 병원을 떠올려 보면 됩니다. 환자가 접수합니다(진입점). 접수처가 증상에 따라 진료과를 배정합니다(조율). 내과 의사가 진찰합니다(전문 담당). 혈액 검사는 외부 검사기관에 맡깁니다(외부 연결). 검사 의뢰서 양식은 두 조직이 함께 쓰는 표준 서식입니다.

단계요리개인 (자전거)사회 (조직)
1. 감으로있는 재료로 대충세발자전거한 사람이 다 함
2. 인식”적당히”가 안 통함균형이 안 잡힘혼자 감당 불가
3. 형식화레시피 작성요령 정리역할과 규칙 정의
4. 분업/반복주방 분업수백 번 연습부서와 업무 흐름
5. 자동화프랜차이즈무의식으로 탐매뉴얼과 장치

왜 이 패턴이 작동하는가

이 패턴이 보편적인 이유는 뇌의 구조에 있습니다. 두 장치가 역할을 나눕니다.

전전두엽(Prefrontal Cortex) 은 의식적 판단을 담당합니다. 계획하고, 규칙을 적용하고, 새로운 상황에 대응합니다. 레시피를 보면서 요리할 때, 자전거 균형을 의식적으로 잡을 때처럼 새로운 것을 배울 때 활성화됩니다. 그런데 에너지를 많이 씁니다. 느리고 피곤합니다. 한 번에 처리할 수 있는 양도 적습니다.

선조체(Striatum) 는 자동화된 패턴 실행을 담당합니다. 습관, 반복, 절차적 기억이 여기에 저장됩니다. MIT의 Ann Graybiel 연구에 따르면, 쥐가 미로를 처음 달릴 때는 뇌 전체가 활성화됩니다. 반복하면 선조체만 “시작”과 “끝” 신호를 보내고 중간 과정은 자동으로 실행됩니다. 에너지 소모가 적고 빠릅니다.

학습이란 결국 전전두엽이 하던 일을 선조체로 넘기는 과정입니다. 새로운 행동은 전전두엽이 의식적으로 처리합니다. 반복을 거치면 선조체가 그 일을 넘겨받습니다. 넘기는 과정이 끝나면 전전두엽에 여유가 생기고, 사람은 다음 단계의 새로운 것에 집중할 수 있습니다.

이것이 곧 추상화입니다. “핸들을 잡고, 페달을 밟고, 균형을 잡고…”라는 낮은 단계의 동작이 반복을 거쳐 “자전거 탄다”라는 하나의 큰 덩어리로 묶입니다. 프로그래밍에서 비트를 생각하지 않고 Python을 쓰는 것, 요리에서 “소금 1/2 티스푼, 중불 3분”을 의식하지 않고 “간 맞춘다” 하나로 묶는 것도 마찬가지입니다. 낮은 단계들을 하나의 덩어리로 묶어서 의식에서 내리는 것입니다.

자전거 타는 법을 아직도 의식적으로 처리하고 있으면, 자전거를 타면서 대화할 수 없습니다. 요리의 기본 동작이 자동화되지 않으면, 새로운 요리를 만들 여유가 없습니다.

패턴을 가졌는데 왜 실패하는가

패턴은 보편적입니다. 하지만 패턴이 있다는 것과 패턴을 제대로 밟는 것은 다른 문제입니다. 요리의 학습 패턴은 누구에게나 같은데, 맛없는 식당은 왜 있을까요?

단계를 건너뜁니다. 1단계와 2단계를 거치지 않은 사람이 3단계를 합니다. 직접 요리해본 적 없는 사장이 주방 매뉴얼을 만듭니다. 무엇이 중요한지 모르니까, 중요한 것은 빠지고 안 중요한 것은 너무 자세히 적힙니다. 결과적으로 형식은 있지만 본질은 없는 장치가 만들어집니다.

형태만 베낍니다. 미슐랭 식당의 레시피를 그대로 가져옵니다. 하지만 “왜 이 단계가 있는지”를 모릅니다. 재료가 바뀌면 대응을 못 합니다. 남의 4단계와 5단계를 복사하면서 자기의 1단계부터 3단계까지는 생략하는 것입니다. 형태만 따라 하고 본질은 없는 상태입니다. 결과물이 그럴듯해 보여도 상황이 조금만 달라지면 무너집니다.

잘못된 것을 자동화합니다. 선조체는 가치중립적입니다. 좋은 패턴도 굳히고, 나쁜 패턴도 굳힙니다. 나쁜 자세로 운동을 반복하면 나쁜 자세가 몸에 박힙니다. 전전두엽이 잘못된 패턴을 학습시키면, 그 잘못된 것이 자동화되어 더 단단해집니다. 레시피가 완성되기 전에 프랜차이즈를 내면, 안 좋은 맛이 전국에 똑같이 퍼집니다.

관성에 갇힙니다. 한 번 자동화하면 “이미 장치가 있는데 왜 바꿔?”라는 관성이 생깁니다. 5단계에서 다시 1단계로 돌아가지 못하는 상태입니다. 선조체가 너무 강해서 전전두엽이 끼어들 틈이 없습니다. 조직으로 치면 “원래 이렇게 해왔어”라는 말로 모든 변화를 막는 것입니다. 2005년에 완성한 메뉴를 한 번도 바꾸지 않는 식당처럼, 한때 최적이었던 것이 시간이 지나면 족쇄가 됩니다.

실패하지 않으려면

패턴 자체는 자동으로 좋은 결과를 보장하지 않습니다. 각 단계의 품질이 핵심입니다.

1단계: 충분히 직접 해봤는가. 감으로라도 해본 경험의 깊이가 이후 모든 단계의 토대가 됩니다. 요리해본 적 없는 사람의 레시피와, 10년 요리한 사람의 레시피는 같은 형식이라도 질이 다릅니다.

2단계: 진짜 문제를 인식했는가. “안 되는 것”을 정직하게 마주봐야 합니다. “적당히”가 통하지 않는다는 사실을 회피하면 3단계로 넘어갈 수 없습니다.

3단계: “왜”를 아는 사람이 형식으로 적었는가. 실제로 해본 사람이 규칙을 만들어야 합니다. 무엇이 중요하고 무엇이 중요하지 않은지를 판단하려면, 1단계와 2단계의 경험이 반드시 필요합니다.

4단계: 분업이 실제 업무 흐름을 반영하는가. 현실의 업무 구조와 동떨어진 분업은 마찰만 만듭니다. 실제로 일이 흐르는 방식을 관찰한 뒤에 구조를 잡아야 합니다.

5단계: 자동화된 것이 여전히 유효한가. 한 번 자동화한 것을 주기적으로 확인해야 합니다. 상황이 바뀌었는데 장치만 그대로라면, 자동화가 오히려 장애물이 됩니다.

무엇보다 5단계에서 다시 1단계로 돌아갈 수 있는 여유를 남겨두어야 합니다. 좋은 식당은 완성된 메뉴를 운영하면서도 실험 주방에서 셰프가 감으로 실험하는 공간을 유지합니다. 자동화된 장치 안에 실험할 여지를 의도적으로 만드는 것입니다. 성숙한 장치에는 1단계부터 5단계까지가 동시에 공존합니다. 확정된 것은 자동으로, 새로운 것은 감으로 다룹니다.

Software 1.0: 이 패턴을 코드로 옮긴 것

이 보편적 패턴은 소프트웨어에도 적용됩니다.

김용성님의 글 “소프트웨어 3.0 시대를 맞이하며”는 Claude Code의 구조가 층으로 나눈 소프트웨어 구조와 놀라울 정도로 비슷하다고 지적합니다. Slash Command는 요청을 받는 부분이고, Sub-agent는 실제 일을 처리하는 부분입니다. Skills는 한 가지 책임을 맡는 부품이고, MCP는 외부 도구와 연결되는 통로입니다.

하지만 더 근본적으로, 이 소프트웨어 구조 자체가 현실 세계에서 조직이 일을 처리하는 방식을 코드로 옮긴 것입니다.

Software 1.0현실 세계 (조직)
요청을 받는 부분접수 창구
일을 조율하는 부분팀장, 매니저
한 가지 책임을 맡는 부품각 분야 담당자
외부 도구와 연결되는 통로외부 연락 수단
표준 형식부서 간 표준 서식

그런데 이 번역 과정에서 어쩔 수 없이 손실이 생깁니다. 현실에는 “상황 봐서 판단”, “애매하면 물어봄”, “해보고 안 되면 다른 방법”이 자연스럽게 있습니다. 코드에는 이것을 담을 문법이 없었습니다. 모든 것을 if-else로 미리 정해야 했습니다.

Software 1.0의 개발 과정은 본질적으로 손실 압축이었습니다. 현실의 업무 흐름에서 애매함과 판단과 예외를 제거하고, 모든 경로가 미리 정해진 장치로 바꾸는 일이었습니다.

다만 이 손실 압축은 단점만은 아니었습니다. 모든 것을 명확히 정해야 했기 때문에 예측할 수 있고, 확인할 수 있고, 테스트할 수 있는 장치가 만들어졌습니다. 현실의 애매함을 의도적으로 제거한 것이 오히려 신뢰성을 만들었습니다.

Software 3.0: 현실에 더 가까워지다

Andrej Karpathy가 말한 Software 3.0 시대에는 LLM에게 자연어로 무엇을 원하는지 말하면 됩니다. 프롬프트가 곧 프로그램입니다. 이것은 현실에서 코드로 옮길 때 생기던 손실이 줄어든다는 뜻입니다.

두 가지 능력이 이를 가능하게 합니다.

첫째, 질문할 수 있습니다. 전통적인 코드에서 “이 경우는 PM한테 물어봐야 하는데”라는 상황이 오면 코드가 멈출 방법이 없었습니다. 예외를 던지거나, 임의로 결정하거나, 로그만 남기고 넘어갈 수밖에 없었습니다. 에이전트는 다릅니다. 실행 중간에 사람에게 판단을 맡길 수 있습니다. 예외가 질문으로 바뀌는 것입니다. 현실의 조직에서도 “애매하면 상사에게 물어본다”는 일이 자연스럽습니다.

둘째, 다시 시도할 수 있습니다. 전통 코드는 입력이 들어오면 처리하고 출력 또는 예외를 내보냅니다. 모든 경로가 미리 정해져 있습니다. 에이전트는 결과를 보고 다시 시도할 수 있습니다. 코드를 작성하고, 테스트를 돌리고, 실패하면 수정하고, 다시 돌립니다. 스스로 고치는 순환이 가능해집니다.

이 두 능력은 현실 세계에서는 이미 자연스럽습니다. 사람은 원래 “애매하면 물어보고”, “안 되면 다시 해봅니다.” Software 1.0에서는 이것이 불가능했고, 3.0에서 비로소 가능해졌습니다.

여기서 중요한 구분이 생깁니다. 어떤 영역에서는 1.0의 엄격함이 여전히 필요합니다. 은행 송금이 “상황 봐서 판단”하면 안 됩니다. 반면 어떤 영역에서는 3.0의 유연함이 필요합니다. 코드 리뷰, 문서 작성, 구조 판단 같은 일입니다.

이것은 절차적인 것과 선언적인 것의 공존입니다. 엄격한 규칙이 필요한 영역과 재량이 필요한 영역이 나란히 있습니다. 그리고 그 경계는 고정되어 있지 않습니다. 반복되는 판단은 점차 규칙으로 정리되고, 경직된 규칙은 다시 재량으로 풀립니다.

그래서 우리는 어떻게 살 것인가

뇌는 제한된 전전두엽을 높은 수준의 판단에 쓰기 위해, 반복적인 패턴을 선조체로 넘깁니다. 조직은 반복적인 업무를 매뉴얼과 장치로 넘겨 관리자의 판단력을 전략적 결정에 집중시킵니다. 소프트웨어는 반복적인 로직을 자동화해서 개발자의 인지 자원을 설계와 판단에 집중시킵니다.

AI는 이 맥락에서 외부 선조체입니다. 지식 노동의 반복적 실행(코드 작성, 문서 요약, 데이터 분석)을 대신해주는 장치입니다.

그러면 인간에게 남는 것은 전전두엽의 역할입니다. 방향을 정하고, 무엇이 중요한지 판단하고, 어떤 질문을 할 것인지 결정하는 일입니다. AI는 답을 잘 만듭니다. 하지만 어떤 질문을 던질 것인지는 인간의 몫입니다.

하지만 여기에 역설이 있습니다. 이 글 전체를 관통하는 핵심은 여기서도 적용됩니다. 단계를 건너뛸 수 없습니다. 직접 요리해본 사람만이 좋은 레시피를 쓸 수 있듯, 직접 해본 경험이 있어야 AI에게 좋은 지시를 내릴 수 있습니다. 한 번도 요리하지 않은 사장은 AI가 레시피를 만들어줘도 그 결과가 좋은지 나쁜지 판단하지 못합니다. 10년 요리한 셰프는 AI가 만든 레시피를 보고 바로 구분합니다. “이건 되겠다. 이건 안 되겠다.”

AI 시대에 인간이 해야 할 것은 “AI 도구를 잘 다루는 법”만 익히는 일이 아닙니다. 그것은 도구 사용법이지 본질이 아닙니다. 본질은 자기 영역에서 1단계부터 3단계까지를 충분히 거치는 것입니다. 직접 해보고, 왜 되는지 이해하고, 글로 정리할 수 있는 깊이까지 도달하는 것입니다. 그 깊이가 있어야 AI에게 무엇을 맡기고 무엇을 직접 할지 판단할 수 있습니다.