숙련자와 초짜의 차이

Signal vs. Noise 에서 스크랩 – Christopher Alexander on the difference between a fifty-year-old carpenter and a novice.

건축이나 모터싸이클 수리 같은 아날로그 시대부터의 전통이 있는 분야가 컴퓨터 공학의 프로그래밍 쪽의 메타포로 자주 사용되는데[1] 그 중 자주 인용되는 크리스토퍼 알렉산더의 “A Pattern Language”에서 따온 부분이 37 Signals에 있더라.

Along the way, he compares the work of a fifty-year-old carpenter with the work of a novice. The difference: The experienced craftsman plans less because he has learned to do things in a way that lets him make small mistakes. This gives his work “unconcerned simplicity.”

숙련된 목수는 조금만 계획한다 — 왜냐하면 일 자체를 거의 실수하지 않는 방향으로 하는 법을 알기 때문에.

이게 바로 “unconcerned simplicity” 다.[2]

초보/초심자들이 일 — 예를 들어 프로그래밍이라거나 :p — 을 할 때 계획을 세우려고 하는 것은 “실수 했을 때 바로 잡지 못할 까 두려워하기 때문” 이라는 것. 지금의 내게 딱 맞아 떨어지는 느낌 -_-;;

이렇게 하면 잘 안될지도 모르는데, 저렇게 하면 나중에 고칠 수 없을텐데?하면서 시간을 소모하고 있는 것. 숙련된(장인?) 목수는 일단 일을 시작해도 나중에 삽질한걸 덮을 수 있다는걸 알기 때문에 대범하게 작업할 수 있고, 나같은 초짜들은…  Orz

뭐 별 수 있나, 더 경험하고, 더 생각하고, 더 공부하는 수밖에…

  1. 스티브 맥코넬의 코드 컴플릿이나 많은 패턴 관련된 책, 프로그래밍 에세이에서 활용한다. []
  2. 번역을 하고 싶은데 마땅한 한글표현을 모르겠다. “태연한” 이라고 하기엔 좀 그렇고 무의식적인? 신경쓰지 않아도 자연스럽게 나오는? 정도의 느낌인데 무슨 단어가 좋을지는 내겐 너무 애매… []

Published by

rein

나는 ...

13 thoughts on “숙련자와 초짜의 차이”

  1. 뭐…통찰력의 레베루가 다른것이겠지요 ㅎㅎ
    그 통찰력을 쌓으려면…무한한 삽질을해야…(대운하를 팔 정도의? -_-;;)

    고로 이모씨는 아직도 삽질중이니 통찰력이 없다!! (이상한 결론….ㅡ _-)

  2. kalstein / LMB를 보면 통찰력을 쌓고 삽질을 해야할텐데, 지금까지 한 짓들을 보면 뭔가 배우면서 삽질한건 아니었던 모양이에요.

  3. 코드를 마구 찍어내다보면 생기는 끔찍한 일을 몇 번 겪다보니
    무서워서 코드가 선뜻 나오지가 않는다능 ;ㅅ; …

  4. Dish / 그런 류의 얘기를 하고 있는거지.
    사실 TDD처럼 “이해가 가는 범위에서 조금씩 전진”한다는 것도 우리가 다루는 시스템을 “충분히 알지 못하기 때문”인 듯도 하고;

  5. 일전에 맥OS 개발자 세미난가에 가서 저녁 먹는 자리에서 어떤 분이 “TDD고 머고 전부 범인을 위한 겁니다”라고 하셨는데, 개인적으로 무지 공감했다는. 천재한테는 방법론이 필요 없곘지. 천재가 일을 하는 방식이 방법론일 테니 ;; 근데rein도 천재 급인 거 같은데 ㄷㄷ.

    그리고 무신경한 / 무심한 정도가 제일 원래 의미에 가까운 듯. 물론 좋은 번역어는 아닌 거 같음 ㅡㅡ;;

  6. 수원 / 맞는 얘기 같아요 :) 하지만 암벽등반 쌩초보가 자일도 없이 암벽을 오를 수는 Orz

    번역은 반역이라…

  7. Pingback: silverktk's me2DAY

Leave a Reply