티스토리 뷰

2장. 잔을 비우다

원제: Apprenticeship Pattern, 2010년 초판, 인사이트

저자: 데이브 후버 / 애디웨일 오시나이 (Dave H. Hoover / Adewaile Oshiney)

 

"그대가 이미 가득 차 있는 잔을 가지고 내게 온다면, 어찌 그대에게 마실 것을 드릴 수가 있겠소?" -Michel Grandmont의 'Testing a New Cup of Tea'의 이야기

1. 프로그래머의 길, 멘토에게 묻다: 1장 요약 <들어가는 글>

2. 프로그래머의 길, 멘토에게 묻다: 2장 요약 <잔을 비우다>

3. 프로그래머의 길, 멘토에게 묻다: 3장 요약 <긴 여정을 걷다>

4. 프로그래머의 길, 멘토에게 묻다: 4장 요약 <정확한 자기 평가>

5. 프로그래머의 길, 멘토에게 묻다: 5장 요약 <끊임없는 학습>

6. 프로그래머의 길, 멘토에게 묻다: 6장 요약 <학습 과정의 구성>

7. 프로그래머의 길, 멘토에게 묻다: 7장 요약 <맺는 글>

첫 번째 언어

  • 언어를 하나 선택하고, 그 언어에 능숙해져라. 이 언어가 앞으로 몇 년 동안 당신이 문제를 해결할 때 쓸 주력 언어이며 실제로 쓰면서 마하는 기본 기술이 될 것이다.
  • 어떤 언어를 배우는 최상의 방법은, 그 언어에 정통한 사람과 함께 일을 하는 것
  • 언어를 혼자서 배울 수는 있겠지만, 전문가들과 교류하지 않으면 그 언어의 진수를 깨우치는 데 오랜 시간이 걸리게 됩니다. - 언어를 배우는 것에 대한 랄프 존슨의 이야기
  • 언어를 배우기로 했다면 그 언어에 열성적인 사람들이 모이는 지역 모임이나 인터넷 포럼을 방문해서 참여할 만한 곳인지 가늠해 보아라.
  • 공동체의 축적된 경험을 통해 많은 것을 배울 수 있다.
  • 일부 사람들만 알고 있는 지식이 있는 경우가 있기 때문에 몇 년 정도 커뮤니티에 열중할 필요가 있다.
  • 첫 번째 언어에 대해서 더 잘 알수록 그 다음 언어를 배우는 일이 수월해진다.
  • 소프트웨어 개발에서 치우침 없는 이력을 쌓으려면 다양한 언어를 접하는 편이 좋다.
  • 당신이 첫 번째 언어를 넘어서서 나아갈 때는, 이미 알던 언어와는 급진적일 정도로 상이한 접근 방식을 취하는 언어를 배울 ㅚ를 찾아보라. (객체 지향 언어에 익숙한 사람이라면 함수형 언어를 탐구해보는 등)
  • 이렇게 언어의 범위를 넓히는 것은 마스터에게 요구되는 다양한 전문성으로 가는 첫 걸음이다.

 

 

흰 띠를 매라

"대개 발걸음 하나하나마다 새로 시작한다는 느낌이 들어야 한다. 이것이 초심이며, '되고 있음'의 상태다." - 순류 스즈키 (Zen Mind, Beginner's Mind)

 

  • 이전에 비해 새로운 기술을 익히는 일이 힘들다고 느껴질 때, 자기 개발이 교착 상태에 빠진 것 같을 때..
  • 새로운 상황에 들어설 때는 학습을 통해 얻은 자신감은 그대로 두면서 이전에 얻은 지식은 한편으로 밀어두어라.
  • "배웠던 것은 잊어버려야 한다." - 요다
  • 새로운 기술 분야를 배울 때 이런 접근법을 취하면 학습 과정이 엄청나게 가속화된다.
  • "이례적으로 높은 잠재력을 지닌 사람들에게 어린아이와 같은 면이 있음을 발견했다." - 심리학자 에이브러험 매슬로
"위로 오르기 위해서는 당신이 이미 잘하는 것을 내려놓아야 한다. 그리고 골짜기로 미끄러져 내리기도 하면서 단단히 디디고 선 곳을 떠나야 ㄴ다. 만약에 이미 잘 하는 것을 내려놓지 않는다면, 꾸준히 전진할지는 몰라도 고지에는 결코 오를 수 없을 것이다." - 제리 와인버그 (Becoming a Technical Leader)

 

열정을 드러내라

  • 장인들은 소프트웨어 개발이라는 기예를 기꺼이 배우고자 하는 열성적인 견습생만 채용한다. - 피트 맥브린
  • 견습생이 맡은 일이 있다면 열정을 드러내는 일이다.
  • 팀에 다양한 경험을 지닌 사람들이 공존할 때 집단지성이 발휘된다.
  • 어떤 것도 당연하지 않게 여기는 견습생과 고참이 함께 밀접하게 소통할 때 팀이 더욱 건강해진다.

 

구체적인 기술

  • "지식을 가진 것, 그리고 그 지식을 써서 소프트웨어를 만들어내는 역량과 실무 능력을 갖춘 것은 다르다. 여기에 장인정신의 역할이 있다." - 피트 맥브린
  • 채용되기 위해서는 실무적인 역량을 인정받아야 한다.
  • 그 역량은 구체적인 기술이다. 실무에서 팀에 어떻게 기여할 수 있는지를 증명할 수 있는 기술이다.
  • 토이 프로젝트가 담긴 포트폴리오를 보여줄 수 있다면 좋다.
  • 그리고 이력서를 정기적으로 업데이트 하는 습관을 들여라.
  • 구체적인 기술을 나열한 별도의 목록을 만들어라.

 

무지를 드러내라

  • 학습능력을 통해 신뢰를 받아야 한다. 섣불리 아는척을 하려는 압박을 이겨내야 한다.
  • 학습 능력도 소프트웨어 납품과정의 일부임을 보여주어라. 그들에게 당신이 성장하는 모습을 보여주어라.
  • 사람들에게 진실을 말하라. 그들을 안심시켜야 할 때는, 아는 척 하기보다는 당신이 얼마나 잘 배울 수 있는지를 가지고 안심시켜라.
  • 이렇게 해서 당신의 평판은 어떤 지식을 알고 있느냐가 아니라 학습하는 능력이 얼마나 좋은지를 기반으로 쌓여갈 것이다.
  • "나는 사실 매일매일 스스로 무지하다는 느낌을 몸에 붙이도록 교육받았고, 그렇게 함으로써 내가 바른 길로 가고 있음을 알 수 있었습니다. 나는 성장하고 있었지요." - 데이브 후버
  • 이러한 학습과정을 익히는 것은 장인정신이다.
  • 장인이라면 새로운 것을 배울 때 자신의 전문 기술을 옆으로 밀어 두고 흰 띠를 매는 용기와 겸손을 가질 필요가 있다.
  • 장인에게 가장 중요한 특성 중 하나는 학습능력, 즉 무지의 영역을 파악해서 이 영역을 줄이려 애쓰는 것이다.
  • 견습과정이 끝날 때쯤 당신은 몇몇 기술 분야에서는 상당히 깊이 있는 지식을 얻게 될 것이다.
  • 업무에 관해 정말 이해되징 않는 것 다섯가지를 적어 보라. 그 목록을 모두 볼 수 있는 곳에 붙여두고, 업무가 바뀔 때마다 그 목록을 갱신하는 습관을 들여라.

 

무지에 맞서라

문제상황: 뭔가 배워야 할 것 같은데 어떻게 시작해야할 지 모를 때

  • 도구나 기법을 하나 고른 다음에 그것과 관련된 지식의 빈틈을 능동적으로 메워라.
  • 자신에게 가장 효과적인 방법을 택하라.
  • 누구도 모르게 은밀하기 진행할 수도 있다. 하지만 마스터의 경지를 바라보는 견습생이라면, 기꺼이 무지를 드러내는 일도 필요하다.
  • 공개적인 학습은 견습생이 숙련공 단계로 발전해 가는 길 중 하나임을 기억해야 한다.
  • 당신의 견습과정이 팀에 문제가 되지 않을 정도의 세심함은 갖춰야 한다.

 

 

깊은 쪽

문제 상황: 자신이 정체되어 있다고 느낀다.판에 박힌듯한 상황에서는 무난한 수준의 능력일지라도 결국은 평범함으로 퇴보한다.

  • 더 깊은 쪽으로 뛰어들어라.
  • 다 준비될 때까지 기다리다가는 아무 일도 못할 수가 있다.
  • 두렵게 생각되는 일을 맡고, 능력을 넘어서는 듯한 일을 실제 함으로써만 당신은 성장할 수가 있다.
  • 위험이란 두려움으로 반쯤 감은 눈에 비친 기회의 다른 모습이다.
  • 오히려 실패가 눈앞에 뻔히 보인다 할지라도 승진이나 해외 발령 같은 제안이 들어왔을 때 그것을 ㅂ랃아들이라는 말이다.

 

 

장을 마치며..

  • 무지란, 인지해서 맞선다면 나쁜 것은 아니다.
  • 가장 나쁜 경우는 자기 무지에 대해 신경조차 쓰지 않는 것이다.
  • 하지만 만약 자신에게 무엇이 부족한지 알고서 그 부족함을 메우고자 노력한다면, 당신은 한 발짝 더 전진할 것이다.
  • 탄탄한 견습과정을 이루는 토대 중 하나는 정확한 자기 평가다.
  • 그로 인해 당신이 이 길을 따라서 얼마나 왔는지 어림해 볼 수 있으며, 자신에게 있는 지식의 빈틈에 주목할 수 있다.
  • 지금 자기가 잘 하는 것, 즉시 습득해서 능숙해질 필요가 있는 기술, 그리고 장기적으로 어떤 지식에 관심을 둘지에 대해서 당신 스스로 충분히 익숙해질 필요가 있다.
댓글