Apprentice Ship

FrontPage|FindPage|TitleIndex|RecentChanges| UserPreferences P RSS

FrontPage2차모임후기 ApprenticeShip

도제살이 : 중세 유럽도시의 수공업 기술자 양성제도

도제살이는 견습생이 단순히 "학생"이 아니고 실질적인 작업에 투입되어서 진짜 가치를 산출해 내면서 그 기술의 주변부터 조금씩 배워나가는 것을 말한다. 이 제도에서 견습생은 다른 사람들과 한 배를 타고 자기 몫을 해내고 있는 것이다.


우리나라에서도 이런 도제 제도를 볼 수 있는데, 과거에 어떤 기술을 습득하기 위해서는 소위 전문가의 견습생(Apprentice)이 되어야 했다. 전문가(master)와 장인(journeyman), 그리고 견습생으로 이루어진 이 조직은 실질적인 무엇을 만들어 내면서 동시에 교육 시스템의 역할을 대신했다. 대량 교육에 의해 공장에서 제품 찍어내듯 "졸업생"이 양산되는 이 시대에 과거 면대면 전달(face-to-face transmission)에 의한 도제제도의 가치는 더욱 중요해 지고 있다.

도제제도의 현대적 효용가치에 대해서는 SituatedLearning을, 프로그래머들에게 있어 ApprenticeShip의 의미는 SoftwareCraftsmanship을 참고하라.

이를 소프트웨어 개발 업체에 적용한 예는 [http]Apprenticeship in a Software Studio라는 문서에 잘 나와 있다. 김창준은 프로그래밍과는 관련없는 사람일지라도 일독을 추천 한다.

지식관리의 세계적 학자 노나카 이쿠지로 교수는 지식에 형식지와 암묵지가 있다고 합니다. 형식지는 문서화, 규칙화, 수식화된 지식을 말하고, 암묵지는 그렇지 못한 것들을 말합니다. 그런데, 어떤 전문가가 가진 지식이라는 것은 거의 대부분이 암묵지입니다. 이제까지는 형식지의 전달에만 신경을 쏟았지 암묵지는 별 관심을 받지 못했고, 교육 모델에서도 중요하게 다뤄지지 못했습니다. (덕분에 유명한 인간문화재의 대가 끊기는 일이 빈번했죠.)

그런데 이런 암묵지는 전문가와 학생이 같은 공간을 점유하며 함께 일하고 생활하는 속에서 가장 효과적으로 학습됩니다. 도제식 수업(ApprenticeShip)을 일컫는 것이죠.

기존의 영웅적인 프로그래머들의 일화를 들어보면 자신들이 비약적인 발전을 했던 시기는 대부분 "훌륭한 프로그래머"와 함께 일을 할 수 있었던(PairProgramming) 때라고 입을 모읍니다. --김창준

Q: 대한민국의 대학원교육은 어떨까? ApprenticeShip 모델이 잘 적용되고 있는 Case 인가? 김우재는 현재 속해있는 실험실의 도제살이에 대체적으로 만족하는 편이다.

A: 다른 과목은 잘모르겠고, 전산학에 대해서만 말을 하자면, 김창준은 이 ApprenticeShip 모델이 전산학과 학생들에게 적용되면 얼마나 좋을까 하는 생각을 한다. 실무를 가르쳐야 한다면 ToyProblem을 만지는 것이 아니고, 실질적인 일을 (우선은 주변에서부터) 직접 경험하게 하고, 연구를 가르쳐야 한다면 정말 연구하는 사람들 속에서 경험하도록 하는 것이다. 외국의 전산학과에서는 이런 것들이 비교적 잘되어 있는 것 같다. 고학년이 되면 인턴을 하면서 학점을 따는 제도도 있고, 실리콘밸리 근처의 어느 대학에서는 3학년 수업 때 외부에서 실제 고객을 데리고 와서, ExtremeProgramming을 적용해서 학기 중에 학부생들의 손으로 그 고객이 원하는 상품을 직접 만들어 내는 것을 수업 대신 한다고 한다. 얼마나 많이 배울 수 있을까 부럽다. --김창준

일본에선 그런 도제살이가 잘 이루어지는 듯 합니다. 보통 부자간의 직업 승계 정도나 꼭 혈육이 아니더라도 그런 식의 직업 승계를 종종 본 거 같군요. 좀 다른 얘기지만, 바둑에서 조훈현 9단이 이창호 9단을 키워낸 것도 그런 도제살이라고 볼 수 있지 않을까요? --Astro

see also FindingForrester와인지적도제교수법




"; if (isset($options[timer])) print $menu.$banner."
".$options[timer]->Write()."
"; else print $menu.$banner."
".$timer; ?> # # ?>