[프로그래머의 길, 멘토에게 묻다]를 읽고
Apprentice Pattern
견습생을 시작하며
나는 새로운 책 구입하는 것을 좋아한다. 영상보다 높은 밀도로 질 높은 지식을 얻을 수 있기 때문이다. 한 달에 4권 정도의 책을 새로 구매하지만, 정말 마음에 드는 책은 만나기 어렵다. ‘프로그래머의 길, 멘토에게 묻다’(원제 - Apprentice Patterns)는 그 중에 발견한 보물이다.
옵티바(Obtiva)사의 Chief Craftsman인 저자는 자신이 마주한 문제 상황을 효과적으로 해쳐나가는 데 일정한 패턴이 있음을 발견했다. 예를 들어, [막다른 골목을 탐사하는 데 스스로 너무 많은 시간을 쏟고 있음을 발견했다]면 [자신을 견습생으로 받아줄 멘토를 찾아볼 것]을, [몸담고 있는 조직의 개발 문화가 스스로를 낙담시킨다]면 [지역의 커뮤니티에 들어가 팔꿈치를 맞대고 지식을 공유해보기를 권하는 식]이다.
이 책에는 개발자로 살아가면서 마주할 수 있는 여러 가지 문제 상황에 대해, 적절하고 구체적인 행동 계획을 제안한다. 이 책은 순서대로 읽을 필요가 없다. 마치 웹페이지처럼 챕터 각각이 서로를 링크하며 연결되어 있기 때문이다. 자신이 관심가는 챕터부터 읽다보면, 챕터 마지막 부분에 관련된 다른 챕터가 적혀있다. 인상깊게 읽은 패턴의 일부를 옮긴다.
긴 여정
- “합기도를 마스터하려면 얼마나 걸리나요?” 수련 지망생이 묻는다. 여기에 대한 훌륭한 대답은 이것 뿐이다. “자네 얼마나 오래 살 것 같나?”
- 달인의 경지로 이르는 길을 한 걸음 딛을 때마다 당신의 목적지는 두 걸음 멀어진다. 그 경지는 평생의 노력이 필요함을 받아들이고, 거기에 이르는 여정을 사랑하는 법을 배우라.
- 길게 보아라. 견습기간 동안에는 급여나 통상적인 리더십 같은 것보다 학습과 장기적인 성장에 더 가치를 두어라.
- 이 여행이 얼마나 길어질지에 대해서는 준비가 되어 있어야 한다. 중년의 나이가 되어서도 여전히 현역 소프트웨어 개발자일 것이라는 점을 마음에 새기고 있어야 한다.
- 당신이 기예를 연마해 나갈 수십 년의 세월을 생각한다면, 당신이 따라잡기 어려울 정도로 앞서 있는 사람은 없을 것이다.
- 새 기술이 낡은 기술을 대체하지만, 여전히 동일한 기본 문제를 해결하고 있다. 배워야 할 새 소프트웨어와 더 좋은 하드웨어가 언제나 눈앞에 있겠지만, 긴 여정은 기예에 숨은 더 심오한 진실을 장인들에게 가르치고, 마스터들로 하여금 특정한 기술을 초월해서 문제의 핵심을 짚을 수 있도록 해준다.
- 지금부터 20년, 30년, 40년 뒤를 생각해보라. 그때 당신이 어떤 종류의 경험을 쌓아왔다면 좋겠는가?
멘토를 찾아라
- 초심자가 정규 교육 과정으로 시작하든 독학으로 시작하든 간에, 소프트웨어 장인정신의 길로 향하는 첫 걸음은 자신을 견습생으로 받아줄 장인을 찾는 것이다.
- 2002년 여름까지 나는 프로그래밍 경력이 2년이 채 되지 않았었고, 초보자와 수많은 경험을 쌓은 실무자 사이의 엄청난 차이에 대해 어렴풋하게나마 알기 시작한 참이었다. 그 해 여름, 피트 맥브린의 ‘Software Craftmanship’을 읽고 나서, 나는 멘토를 찾아야겠다고 생각했다.
- 그의 가르침은 내가 애자일 소프트웨어 개발 쪽으로 많은 발전을 이루는 데 중추적인 역할을 했고, 나에게 소트웍스 같은 개발 조직에 합류할 만한 재능이 있다는 믿음을 심어주었다.
- 잠재적인 멘토에게 거절당하거나 이상하게 비친다고 해도, 그 리스크는 별 것 아닌 반면에 보상은 아주 크다는 점을 기억해 두라.
- 당신이 마스터의 경지에 이르는 것을 진지하게 생각한다면, 당신을 지도해 줄 멘토를 끈질기게 찾도록 하라.