본문 바로가기
카테고리 없음

日新日日新又日新 (일신일일신우일신)

by vamalboro 2009. 9. 20.
日新日日新又日新 (일신일일신우일신)

- "진실로 하루를 새롭게 하고, 날마다 새롭게 하며, 또 날로 새롭게 하라"-


구직 중이라 면접에 대해서 검색하던 중 현재 애자일컨설팅의 대표로 일하시는 김창준 씨의 당신은 몇 년 차? 라는 IBM 기사(2009.03.31)를 보았다.

내용인즉슨, 경력 연차와 직무 성과의 상관성, 소프트웨어 개발에서 경력과 실력, 전문가와 1만 시간 법칙 그리고, 의도적 수련에 대해 이야기한다.

나 자신이 아직 시작하는 단계이고 하수이기에 많은 걸 느낄 수 있었고 글 중간마다 링크되거나 소개된 다른 기사나 Article을 읽으며 깨닫는 것이 많았다.

재밌고, 잘하고 싶고, 고수가 되고 싶다.

어렸을 적 많이 봤던 무협소설의 무림고수가 되고 싶은 그런 마음이랄까…,

그러자면 끊임없는 수련이 필요한 건 당연지사.

무협소설에도 나오지 않던 가.

기초적인 정권 지르기나 발차기 같은 수련을 매일매일 거르지 않고 했을 때에 고수가 나오는 법.

마소 05.7월호에 기재된 '프로그래머에게 적합한 의도적 수련(김창준)' 기사에서 글 내용 중에 나온 실천할 수 있는 내용을 요약 정리해본다.

김창준 - 의도적 수련

1. 코드 시각화하기
   - 이미 본 코드를 머릿속에서 떠올려 눈으로 보듯 만들기
   - 새 코드를 머리 속에서 만들기
2. 같은 코드를 정해진 시간(예컨대 한 시간) 동안 할 수 있는 데까지 매일 리팩토링 해보기
3. 같은 장난감 문제를 여러 번 풀기
   - 폰 노이만 공항 문제, X 만들기
4. 새로운 언어 배우기



워드 커닝엄 - 발견에 대해 수용적이 되는 5단계

1. 알고 있는 것을 사용하라(Use what you know)
   - 이미 갖고 있는 것에서 출발한다. 사실 우리는 이미 많은 것을 알고 있다.
2. 작동하는 걸 느껴라(Feel it work)
   - 'Feel'이라는 단어를 쓴 것이 중요하다. 뭔가 시도했다면 그게 제대로 작동하는지 '느껴야' 한다.
3. 경험을 공유하라(Share the experience)
   - '경험'을 공유하라. 일단 일차적 경험을 공유하는 것이 중요하다.
공유의 형태와 스케일은 여러 가지일 수 있다.
4. 통찰을 기다려라(Wait for insight)
   - 통찰을 얻게 되길 기다려라. 성급하게 재촉하거나 무심하게 내다버리는 우를 범하지 마라.
5. 리팩토링해서 포함시켜라(Refactor to include it)
   - 통찰을 얻었다면 과거를 리팩토링해서 그 통찰을 포함시키도록 하라. "아; 그랬던 거였군. 멋진걸!"라는 통찰을 얻는 데에서 끝나는 경우가 많다. 귀중한 통찰을 얻었다면 그것을 다시 나의 과거에 투영. 리팩토링하라.

워드 커닝엄 - 2003년 8월 인터뷰 내용 중
1. 작지만 유용한 프로그램 매일 만들기
2. 큰 프로그램 읽기


다시 한번 되새겨 보며 실천해 보자.

"진실로 하루를 새롭게 하고, 날마다 새롭게 하며, 또 날로 새롭게 하라"

목적은 무림고수다!



추천 글
 - '고수, 무술과 프로그래밍에 대한 소고 1, 2(김창준) - 마이크로소프트 2005년 4, 6월호'
 - '프로그래머에게 적합한 의도적 수련(김창준) - 마이크로소프트 2005년 7월호'