[Book] 프로그래머의 길, 멘토에게 묻다 - 6장 학습 과정의 구성

학습을 하는 법 2



독서 목록

  • 읽기로 한 책들을 추적해 갈 독서 목록을 유지하고, 다 읽은 책은 기억해두라.

  • 이 패턴은 읽을 책을 관리하기 위한 것일 뿐 아니라 과거의 독서 습관을 성찰하는 방법이다.

    • 이 패턴은 읽을 책을 관리하기 위한 것일 뿐 아니라 과거의 독서 습관을 성찰하는 방법이다.
  • 이렇게 돌이켜 보는 일은 다음 읽을거리를 정할 때 더 나은 결정을 하게 해 준다.

  • 특정한 책이 계속해서 참고 문헌에 나타나는 것을 발견하면, 그 책의 우선순위를 높여라.

    • 독서목록 == 우선순위 큐
    • 이 패턴은 잠재적인 지식의 홍수 속에서 우선순위를 매기며 걸러내는 방법을 제시하는 것이 목적이다.
  • 멘토들에게 책에 대한 조언을 구하자.

    • 다만 나의 상황은 내가 제일 잘 아니, 다음에 무엇을 학습할 지 결정하는 것은 내가 해야 한다.


꾸준히 읽어라

  • 배움을 향한 당신의 갈증을, 문자로 쓰인 정보를 흡수하는 데에 최대한 집중시켜라.

  • 정기적으로 발간되는 연구 논문집을 읽을 때의 장점

    1. 나의 정신세계가 확장된다.
    2. 전산학의 최첨단 이슈에 계속 접할 수 있다.
    3. 도전적인 새 아이디어의 원천이 되기도 한다.
  • 이런 아이디어를 구현하려고 노력한다면,

    • 장차 그 기술이 주류가 되기도 전에 몇년이나 앞서서 나의 도구 상자를 새로운 알고리즘이나 자료구조, 디자인 패턴으로 확장할 수 있다.


  • 독서의 중요성과 독서 목록의 관리 (나의 생각)

    • 내가 프로그래밍을 접하기 전부터 독서의 중요성은 알고 있었다.
      • 많은 성공한 사람들의 공통적 특징인 ‘독서와 글쓰기’를 실행함으로써 프로그래밍을 접할 수 있었기 때문이다.
    • 독서를 하다보면 좋은 책에 대한 수집 욕구가 생기고, 읽지 않은 책이 아직 많음에도 사게되는 자신의 모습을 볼 수 있다.
      • 그러한 점에서 이 책이 해결책을 제시해준 느낌이 든다.
    • 독서목록은 우선순위 큐와 같다는 점을 인지하여, 매일 독서목록의 우선순위를 갱신하고 하나씩 읽어나가보자.


고전을 공부하라

  • 무지를 드러내서 잘 모르는 개념이 어떤 뜻이며 어떤 책에서 비롯되었는지 물어보라.

    • 그 책을 당신의 독서 목록에 추가하라.
  • 성공적인 견습생들은 ‘수명이 긴 책’에 집중하는 경향이 있으며, 웹이나 실험을 통해서 그정보가 어떻게 발전했는지를 배운다.

    • 고전에서 얻는 지혜는 당신이 긴 여정에서 올바른 방향을 향하도록 하는 결정적인 정보가 된다.


  • 고전에 대한 편견 (나의 생각)

    • 사실 고전이라 하면, 구시대적이라 생각하고 잘 접하지 않게 된다.
    • 그러나 여기서 말한 것처럼, 수명이 긴 책이라면 그만한 이유가 있을 것이다.
    • 그리고 내가 지금 배우는 지식들이 왜 탄생하게 되었는지에 대해 알게되어 더욱 깊이있는 지식으로 다듬어 질거라 생각된다.


더 깊이 파고들어라

  • 도구나 기술 분야, 각종 기법 같은 것을 깊이 파고드는 법을 배워라.

    • ‘깊이’라 함은, 세부적인 설계보다는 그런 설계에 이르게 한 요인을 이해하는 것을 의미한다.
  • 이런 지식의 깊이가 새로운 분야에 도전할 때 기댈 언덕이 되어준다.

  • 또 다른 이점은, 내가 작업하고 있는 시스템의 물밑에서 무슨 일이 일어나는지 설명할 수 있게 된다.

    • 채용 면접 때 자기가 만든 소프트웨어를 의미 있게 설명해주는 차별된 지원자가 된다.
  • 이러한 깊이를 탐구하는 태도를 가지려면??

    • 자기 관점에 변화를 주어야 한다.
    • 관점이 변화하면, 시스템의 여러 층위를 뚫고 문제를 쫓아가서 ‘모든 것이 뜻이 통하는’ 수준의 지식을 얻으려는 태도가 생긴다.
    • 그리 된다면, 사용하는 도구들에 대해 숙련되게 이해하게 된다.
  • 깊이 파고드는 법

    1. 근원적인 곳으로부터 정보를 얻는 것이다.
      • ex) REST의 원 개념이 정의된 로이 필딩의 박사 학위 논문을 읽자.
    2. 그 개념이 최초로 언급된 당시의 전후 맥락을 재구성해 볼 필요가 있다.
      • 그 아이디어를 누가 처음 생각해 냈는지 조사하고, 그들이 풀려던 문제가 무엇이었는지 이해하자.
      • 이와 같은 맥락에 관한 내용은 보통 그 개념이 전달되는 과정에서 사라진다.
  • 이 패턴을 정기적으로 실천한다면, 같이 일하는 프로그래머들과 구별될 것이고, 가장 어려운 과제들을 맡게 될 것이다.


  • 원문을 읽자 (나의 생각)

    • 원래는 원문을 읽기가 좀 꺼려졌다.
      • 왜냐면 원문은 보통 읽기 어렵고 이해하기 힘들어서 접근성이 떨어진다는 생각이 있었기 때문이다.
    • 그래서 좀 더 이해하기 쉽게 변형된 2차, 3차 거쳐서 나온 책들을 읽기를 선호했다.
    • 하지만 이젠 그런 습관을 버려야 겠다는 생각이 든다.
      • 확실히 원문에서의 모든 내용이 100% 보존되어 전달된다는 보장이 없고,
      • 근원의 지식을 얻어서 해당 분야가 왜 탄생했는지 이해해서, 지식의 깊이가 깊어지기 때문이다.


익숙한 도구들

  • 익숙한 도구들을 선별해서 거기에 집중하라.

    • 이상적인 경우라면 이런 도구들을 쓸 때, 난 더 이상 문서를 볼 필요도 없다.
    • 물론 고객에게 얼마나 걸릴 것이다는 것을 제시할 때의 확실한 근거를 필요로 할 대 유용하다.
  • 이런 도구들은 이 프로젝트에서 저 프로젝트로 옮겨갈 때 나와 함께 한다.

    • 그리고 나를 다른 면접 대상자보다 더 생산적이게 하는 요소의 일부분이다.
  • 그러나 주의할 점이 있다.

    1. 이 도구들을 너무 잘 아는 전문가가 된 나머지 나중에 떼기 힘들어진다.
    2. 더 나은 도구가 나왔음에도 불구하고 그 사실을 알아차리지 못할 수 있다.
  • 친숙하고 소중한 도구를 떠나 보내는 것은 고통스러운 과정이지만, 그것도 역시 내가 습득해야 하는 기술 중 하나다.

  • 나의 경력이 성공적이려면, 익숙한 도구들을 쉽게 얻고 쉽게 버리는 법을 배워야 한다.


  • 버리는 법은 어떻게 배울까?? (나의 생각)

    • 걱정이 앞서는 것은 어쩔 수 없는 것 같다.
    • 아직은 자바만 배우는 입장이라 이러한 상황을 경험해보진 못했다.
      • 하지만 나중에 더 좋은 객체지향 언어가 나와서 자바는 버려야 하는 상황이 왔을 때,
      • 과감히 바로 버리고 새로운 언어에 도전하는 행동을 취할 수 있을까??
    • 항상 이러한 상황에 대비하는 마음가짐으로 새로운 것을 배워나가는 것에 익숙해질 필요가 있다고 느꼈다.




© 2021. All rights reserved.

----------Powered by Hydejack----------

Jun's Development Blog