안다고 생각하는 것과 아는것

처음으로 강의라는 것을 해봤습니다. :mrgreen: 친구의 부탁으로 총 네번에 걸쳐서 했는데 내용은

  • Design Principles ((SRP, OCP, LSP, DIP, ISP를 소개했습니다.))

  • Design Patterns

  • Refactoring

  • C++



이었습니다. 3번째 날까지는 나름 준비도 열심히 하고 해서 그럭저럭 한 것 같은데 네번째 날은 긴장이 풀어져서 그런지 듣는 분들을 별로 배려하지 못했다는 생각이 듭니다. :-| 네개의 주제중에 그나마 제일 자신 있는 주제였는데 말이죠.

각 강의에서는 주로 다음 책들의 내용을 소개하였습니다.


  1. Agile Software Development

  2. Design Pattern Explained

  3. Refactoring

  4. C++ Coding Standards



이번에 강의를 하면서 배운 점이 있다면 스스로 안다고 생각했던 것들 중 많은 것들이 실제로는 1) 전혀 모르고 있었거나 2) 다 이해하지 못하고 있었다는 사실입니다. ((GoF에 나온 패턴중에서도 Flyweigth, Memento같은 패턴들은 다시 보기 전까지 전혀 기억이 나질 않더군요. Bridge 패턴은 원래 이런거였나라는 생각이... :-| ))

혼자서 책을 읽는 것과 책의 내용을 누군가에게 가르치기 위해 읽는 것은 전혀 다른 일이더군요. 무엇이든 남에게 쉽게 설명할 수 있어야 비로소 알았다고 얘기할 수 있을 것 같습니다. 한동안은 다(多)독이 목표였으나 이번 강의 경험을 계기로 정독을 해치지 않는 정도의 다독으로 바꾸었습니다.

다독이 목표가 되었던 이유는 물론 너무나 좋은 책들이 많이 나왔기 때문입니다. 단순히 읽어야 될 책들이 많아진 것이 아니라 전체적으로 내용의 질이 매우 좋아진 것 같습니다. ((하지만 아직도 번역서의 경우에는 질이 형편없는 경우들이 종종 발견되더군요. 전 되도록 못하는 영어지만 전공 책은 원서로 읽는 편인데 얼마전 번역서를 읽다가 서문만 보고 집어 던진 책이 있으니 바로 소프트웨어 장인정신이라는 책입니다. 이런 번역이 책으로 출판될 수 있다니 정말 놀랍더군요. 결국 다시 원서를 주문했습니다.))

한달동안 준비한다고 잠도 좀 못자고 했습니다만 결과적으로 보면 가르친 것보다 스스로 배운게 더 많았던 것 같습니다. 무엇보다 한번 읽었던 책을 다시 정독할 시간을 내기란 쉽지 않은데 이번 일을 계기로 위의 고전(?)들을 다시 한번 읽게 된 것 역시 큰 소득이었네요.

Comments

Popular Posts