Skip to content

Latest commit

 

History

History
56 lines (46 loc) · 6.99 KB

Chapter07.md

File metadata and controls

56 lines (46 loc) · 6.99 KB

7장 맺는 글

장인들은 원숙해지는 솜씨에 가장 자부심을 느낀다.
단순한 모방이 지속적인 만족을 줄 수 없는 것은 이런 이유 때문이다.
기술은 점차 발전해 가야만 한다.

마스터는 없다 아직까지는..

지금까지 소프트웨어의 역사는 100년 정도라고 할 수 있다..

한 인간이 태어나고 죽을 때까지 100년이라고 한다면 지금은 아직도 개발되어야 하고 많은 역사나와야 한다.

저자는 스트라디바리의 이야기처럼 지식의 전달을 강조한다.

저자는 제멜바이스의 이야기처럼 설득의 필요성도 강조한다.

우리가 마스터를 분간할 수 있는 방법 중 하나는 그의 학생들이 야망과 성취라는 측면에서 마침내 스승을 능가하는지를 보는 것이다.

소프트웨어의 역사가 더욱 발전하기 위해선 견습생이 계속해서 마스터를 뛰어 넘어야 하고 발전해나가야 한다.

패턴 목록

  • 가장 뒤떨어진 이가 되라(Be the Worst): 주변의 모든 이들을 일찌감치 앞서버리면서 당신의 학습은 더디어졌다.
  • 고전을 공부하라(Study the Ckassics): 당신과 함께 일하는 경험 많은 사람들은, 당신이 이미 읽었을 것이라고 여기는 책에서 나오는 개념들을 계속 언급한다.
  • 구체적인 기술(Concrete Skills): 뛰어난 개발 팀에서 일하고 싶지만, 당신에게는 아주 적은 실무 경험밖에 없다.
  • 꾸준히 읽어라(Read Constantly): 신속하게 숙련도를 끌어올렸지만, 당신에게 보이지 않는 심오하고 더욱 근본적인 개념들이 어디선가 끝없이 흘러가고 있는 것 같다.
  • 긴 여정(The Long Road): 당신에게는 소프트웨어의 명장이 되고자 하는 포부가 있다. 비록 사람들이 당신에게 기대하는 것은 그게 아닌 것 같지만.
  • 깊은 쪽(The Deep End): 당신은 자신의 경력이 안정 상태에 접어든 것이 아니라 실은 틀에 박힌 듯 정체된 것이 아닌가 두려워지기 시작한다.
  • 능력의 폭을 넓혀라(Expand Your Bandwidth): 소프트웨어 개발에 대한 당신의 이해는 좁으며 일상 작업에 관련된 저수준의 세부사항에 맞춰져 있다.
  • 독서 목록(Reading List): 읽어야 할 책의 권수가 당신의 책 읽는 속도보다 더 빠르게 늘어간다.
  • 또 다른 길(A Different Road): 당신이 가려는 방향은 소프트웨어 장인정신으로 향하는 길과 다르다는 것을 알게 되었다.
  • 더 깊이 파고들어라(Dig Deeper): 당신은 많은 도구와 기술이나 기법에 대해 피상적인 지식밖에 가지지 못했고, 좀 더 어려운 문제들과 씨름하면서 계속 장애물에 부딪하고 있다.
  • 마음 맞는 사람들(Kindred Spirits): 당신은 멘토도 없이 궁지에 빠져 있으며 당신의 포부와는 어울리지 않는 분위기 속에 놓여 있음을 알게 되었다.
  • 멘토를 찾아라(Find Mentors): 당신은 이미 있는 것을 다시 만들고 장애물에 부딪히느라 많은 시간을 소모하고 있지만, 어디쯤에서 안내를 받기 위해 방향을 틀어야 할지 확신하지 못한다.
  • 무지를 드러내라(Expose Your Ignorance): 당신의 지식에 큰 틈이 있음을 발견 했고, 당신이 하고 있는 일에 대해서 잘 모른다고 사람들이 생각할까봐 두렵다.
  • 바닥을 쓸어라(Sweep the Floor): 당신은 미숙한 개발자이며 팀으로부터 신뢰를 얻고자 한다.
  • 배운 것을 공유하라(Share What you Learn): 주변의 사람들이 당신처럼 빠르게 학습하지 못하는 것 같아서 좌절하고 있다.
  • 배운 것을 기록하라(Record Whar you Learn): 당신은 같은 교훈을 계속 되풀이해서 배우지만, 도무지 몸에 붙지를 않는 것 같다.
  • 부숴도 괜찮은 장난감(Breakable Toys): 실패가 허용되지 않는 환경에서 일하지만, 당신에게는 여전히 안전하게 학습할 데가 필요하다.
  • 소스를 활용하라(Use the Source): 주변에 좋은 코드와 나쁜 코드를 구별할만한 사람이 없다면, 당신이 짜 놓은 것이 좋은지 어떤지 어떻게 알 수 있을까?
  • 실패하는 법을 배워라(Learn How You Fail): 당신의 학습 역량은 성공적인 부분을 향상시켰지만, 실패와 약점은 그대로 남아 있다.
  • 연습, 연습, 또 연습(Practice, Practice, Practice): 당신의 일상적인 프로그래밍 작업은 실패하면서 배울 수 있는 여지를 제공해 주지 않는다.
  • 열정을 드러내라(Unleash Your Enthusiasm): 당신은 팀에 맞추기 위해서 소프트웨어 개발에 대한 흥분과 호기심을 숨기고 지내게 되었다.
  • 열정을 키워라(Nurture Your Passion): 당신은 기예에 대한 열정을 질식시키는 환경에서 일하고 있다.
  • 예술보다 기예(Craft over Art): 고객에게 해결책을 주기로 했는데, 단순하고 검증된 해법을 선택할 수도 있고, 뭔가 새롭고 환상적인 것을 만들 기회로 삼을 수도 있다.
  • 익숙한 도구들(Familiar Tools): 당신이 사용하는 도구와 기술들이 너무 급속히 바뀌어서, 작업을 추산하는 데 어려움을 느낀다.
  • 일하면서 성찰하라(Reflect as You Work): 지금의 지위에서 보낸 햇수와 수행한 프로젝트 개수가 늘어가면서, 당신은 마치 마법처럼 경험이 쌓이게만들어 줄 계시의 순간을 기다리고 있음을 깨닫는다.
  • 자신만의 지도를 그려라(Draw Your Own Map): 고용주가 제시하는 어떤 경력경로도 당신에게 맞지 않는 것 같다.
  • 전장에 머물러라(Stay in the Trenches): 승진 제안을 받았지만, 그 자리로 가면 프로그래밍과 멀어지게 된다.
  • 지속적인 동기 부여(Sustainable Motivations): 당신은 계속 바뀌고 상충되는 요구사항을 가져오는 고객을 위해 아리송하게 명세된 프로젝트라는 죄절스러운 현실에서 일하고 있음을 깨닫는다.
  • 직위를 지표로 이용하라(Use Your Title): 공시적인 자리에서 자신을 소개할때면 왠지 사과를 하거나 당신의 실제 기술 수준과 직무 내용간의 격차에 대해 변명을 해야 할 것 같은 생각이 든다.
  • 첫 번째 언어(Your First Language): 당신은 몇몇 언어에 익숙하지만, 그 어느 것에도 능통하지 않다.
  • 팔꿈치를 맞대고(Rubbing Elbows): 뭔지 알 수는 없지만 더 상급의 테크닉과 접근 방식이 있을 것이란 느낌을 갖고 있다.
  • 피드백 루프를 만들어라(Create FeedBack Loops): 당신은 자신이 인식하지 못한 무능력으로 고통 받고 있는지 알 수가 없다.
  • 한발 물러서라(Retreat into Competence): 너무나 광대한 자신의 무지에 직면하면서 당신은 압도됨을 느낀다.
  • 흰 띠를 매라(The White Belt): 당신이 가진 경험이 새로운 기술의 습득을 더 어렵게 하는 것 같아서 학습에 애를 먹고 있다.