2. why?
많은 기술서적을 뒤로 하고, 왜 이 책일까?
책을 접하고 … who am i?
소프트웨어 프로그래머로서 준비가 되었는가?
그래서 … what to do?
나는 어떠한 자세를 가져야 하는가?
3. 저자는 누구이길래 책을 출판하였나?
심리학을 전공하였지만
프로그래머로 전향한 데이브 후버
닷컴버블의 조짐이 보이던
2000년 4월 perl 언어를 기반으로
닷컴 신생기업에 입사.
2001년 4월, J2EE 프로젝트에 참여
2002년 저자에게 가장 큰 영향을 미친
와이어트 서덜랜드를
시카고 애자일 개발자 그룹에서 만남
이후 eXtreme programming
전도사로 활약, 업계의 스타개발자들과
잦은 조우를 하게 됨.
4. 독특한 이력의 저자가 쓴 책이 가지고 있는 목표
상황, 문제, 해결책, 실천방안 순의 수많은 패턴들?
책은 디자인패턴 서적이 아님에도 수많은 패턴들을 제공하고 있다.
이러한 패턴들은 프로그래머의 기술능력의 향상에 도움이 된다고
생각하진 않는다. 하지만 프로그래머의 역량의 향상에는 큰 도움이
되었다고 스스로 만족하고, 또한 주위 프로그래머들에게
추천해주고 싶다.
난 분명 모호하였던 오늘, 그리고 내일에 해야 하는 일들에 대해
명확해졌기 때문이다.
책을 모두 읽고 나서 느낀 이러한 점들. 책이 가진 목표다.
5. 저자가 꾸준히 말하는 장인정신
오늘, 그리고 내일 무엇을 해야 하는지 명확한 목표를 가져다 준
저자의 책에는 꾸준히 장인정신에 대해 이야기 하고 있다.
어찌보면, 사회초년생에게 열정이라는 기름을 몸에 발라서 불태우라며
강요하는 것과도 같은 느낌이 드는 이 어감은 사실 불편하였다.
하지만 우선 저자의 환경과 국내의 환경을 생각해보았을 때
저자의 환경에서 매우 이상적이고 자부심을 가질 수 있는 어휘다.
그렇다면 국내의 환경을 고려하였을 때
장인정신에 대해 어떻게 받아들여야 할까?
바로 스스로에 대한 자부심과 일을 꾸준히 진행할 수 있는 동기부여이자
배움에 대한 갈증을 유지할 수 있게 하는 힘.
6. 저자가 애자일 개발 운동에서 얻은 교훈
“사람들에게 이런 저런 일을 하라고 얘기하는 것만으로는
영구적이고 지속 가능한 변화를 일으키지 못한다는 사실이다.
당신이 조언해 주었던 사람들은 그 조언의 규칙에
들어맞지 않는 상황에 처하면 이내 갈피를 잡지 못할 것이다.
그러나 그들이 조언에 담긴 규칙을 이루는 근본적인 가치를
제대로 이해했다면, 어떤 상황에서라도 대처할 수 있는
새 규칙을 찾아낼 것이다.”
학습동기를 높여주는 공부원리(2008, 학지사)
견습과정이란
“우리가 사람들에게 스스로 해 나갈 수 있도록 채비시켜주는
그런 어떤 것이다. 그러기 위해서 우리는 세련된 겉모습보다
배움에 더 가치를 두고, 도전을 즐기고, 실수를 숙련에 이르는
수단으로 이용하도록 가르친다.”
7. 부숴도 좋은 장난감에 대한 경험이 있는가?
만들어 보았던 장난감의 횟수를 자랑스레 말할 수 있는가? No
장난감에 꾸준한 애착을 보이며 발전시켜 보았는가? No
장난감을 만들 때
그 장난감에 사용된 기술들을 완전히 이해하였는가? No
실제로 쓸모가 있는 장난감을 개발하였는가? No
8. 배울 자세를 갖추었는가?
돌이켜보면 무척 부끄럽기 그지 없으나,
면접에서도 밝혔듯이 java에 대한 배움의 욕구로 첫 직장을
4개월만에 그만 둔 경험을 하였다.
과연 첫 직장에서 나는 java에 대해 배울 것이 없었던가?
나의 무지를 드러내기보다는 오히려 무지를 포장하지 않았는가 싶다.
나의 성장하는 모습을 보이지 않고
이미 성장하여 거들먹 거리는 모습을 보인 듯 하다.
그러다 보니 깊은 쪽에서 학습할 기회를 오히려 잃었다.
9. 하나의 언어에 정통하며 언어에 열린 자세를 가졌는가?
스스로 꾸준히 Java를 학습하였다고 생각하였으나
열린 포럼의 참석 여부도 없으며, 동종 업계의 개발자들과
조우를 한 경험도 없다.
또한 알고리즘에 대해서도 깊이 알고 있지 못하는 등
언어에 앞서 기초가 부족하다는 생각도 가지고 있다.
또한, 객체지향 프로그래밍 패러다임 외의 패러다임에 대해
기회가 분명 있었음에도 관심을 가지지 못한 것 역시 사실이다.
하지만 책에서도 요구하듯이 당분간은 꾸준히 java 언어에 대해서
정통하다는 자부심을 가질 때까지는 학습자세를 가지려 한다.
10. 나는 겸손한가?
겸손은 성공적인 견습과정의 토대 중 하나다.
이 겸손한 자세는 대화에서만 요구되는 것이 아니다.
두 번째 직장의 사장님으로부터 들었던 말이 있다.
“문수씨는 겸손이 부족해요.
기초에 대해 계속 학습하세요. 문수씨는 정말 기초가 부족해요”
특정 개수만큼 자료구조에 담아야 하는 상황에서 그 자료구조의 객체를
생성시에 parameter 없이 생성을 하였을 때 들은 얘기이다.
그러한 코드를 작성하고는 공부한다고 본 책은 병렬프로그래밍이었다.
그때 내 생각은 이게 무슨 기초라는 거지. 라는 생각이었지만
Java 기본서라면 거의 모든 서적에서 기술하는 내용이다.
난 java 의 기본서를 충실히 보았어야 했던 것이다.
만약 사장님의 지적이 없었다면 쓸데없는 메모리 낭비가 눈에 보인다.
11. 나는 모방을 통한 학습에 대해 열려 있는가?
프로그래머가 되고자 준비하는
가장 좋은 방법은 프로그램을 짜는 것이며,
다른 사람들이 작성한
뛰어난 프로그램을 공부하는 것이다.
- 빌 게이츠, programmers at work
단순히 copy & paste 를 하는 것이 아니라
코드에 대한 이해를 통해서 학습을 하라는 것이다.
이러한 자세가 절대 필요함을 이전의 직장생활을 통해 경험을 하였고
모두 소중한 경험이었다.
12. 바닥을 쓸어라. _ 1
장인적인 전통에서, 새내기는 마스터의 견습생으로 시작한다.
그들은 쉬운 일을 거드는 것부터 시작하고, 숙달되어가면서
점차로 더 크고 복잡한 작업으로 옮겨간다.
- 피트 맥브린, Software Craftsmanship
나는 수없이 많은 면접을 보아왔다.
면접에서 거의 공통 요건인가 싶은 부분은
“이 일이 문수씨에게 정말 큰 도움이 되지 못할 수 있고,
정말 지루한 일상일 수도 있는 매력이 없는 일이 될 수도 있다.
그때에 문수씨는 그 일을 할 수 있겠는가?”
그때 내가 연상한 것은 유명한 대학교의 조리학과 나온 친구가
수개월째 호텔 주방에서 그릇을 닦는다는 말이었다.
13. 바닥을 쓸어라. _ 2
당신은 긴 여정을 걷는 중이고
이 여행은 단거리 경주가 아님을 기억해야 한다.
- p 178
앞 슬라이드에서 표현하였던 그 친구는 늘 활기차다.
정말 하고 싶었던 일을 꿈꾸며 오늘도 그릇을 닦는다는 말에
생기가 넘친다. 친구는 즐기고 있고 미래를 꿈꾸고 있다.
나는 면접자리에서 yes를 답하였다.
이 서적을 추천해주신 분께 이렇게 말하고 싶다.
“제게 주어진 일을 진행하여 여러분에게 인정을 받고,
여러분이 가진 노하우를 저에게 전달해주셨을 때
보람을 느끼실 수 있도록 최선을 다하겠습니다.”