컴퓨터(프로그래밍)를 아이들에게 가르칠 때, 저는,

"원리는 필요없다.  기본도 필요없다.

중요한 것은 지금 알고 있는 것으로 

무엇을 만들고 싶은 지? 를 생각하는 것이다."

라고 가르칩니다.


부모님들에게도

"아직은 장난감처럼 가지고 놀 때입니다. 아이들이 노는데 방해하지 마세요!"

라고 당부합니다.


어떻게 하면 

호기심을 자극하고 동기를 유발 시킬 수 있는 지만을 생각합니다.


어떻게 하면

쉽게 결과물을 만들고 이를 통해서 성취감을 갖도록 할 수 있을 지만을 생각합니다.


나중에 이들이 

"이 길이 내길이다" 라는 마음이 들 때,

원리나 기초는 그 때 필요한 것 이라고 생각합니다.


단순한 호기심에 시작하는 입문자에게도 같은 입장입니다.


그러나,

강한 호기심을 보이고 재능이 있어 보이는 아이들에게는 한계에 가까운 수준까지 살짝 간을 보듯이 푸시하곤 합니다.  성장을 위해서는 역시 원리와 기본은 너무나 중요하기 때문입니다.



지난 글들 중에도 의도와 다른 오해가 있어서 이번에도 마찬가지일거라는 예상은 했습니다.


제가 강의 할 때 결과물만 만드는 강의를 하는 것이 아닙니다.

배경 스토리를 풀어나가면서 원리를 쉽게 이해 할 수 있도록 최대한 노력합니다.


하지만, 

자연스럽게 이해 할 수 없는 원리나 기본이 호기심을 방해하지 못하도록 

수강자에 맞춰서 균형을 잃지 않으려고 노력합니다.

수업 도중에도 아이들의 눈빛을 읽는 것에 집중합니다.

(대본에 집착하는 강의를 하지는 않습니다)


이해를 강요하지 마라고 부모님에게 당부합니다.  (노는데 방해되니까)


제목과 비유는 무엇이 더 중요한 가를 강조하기 위한 방편입니다.

"무엇이 더 중요한 가도" 개인적인 의견일 뿐입니다.

오해 없으시길!


사족은 여기까지!!


저작자 표시 비영리 변경 금지
신고

Posted by 류종택




동네 축구형


"공만 보면 달려간다."


어김없다!  공이 있는 곳에 선수들이 있다.  패스고 작전이고 없고 우르르 몰려 다닌다.  열심히 하는 것처럼 보이고 상당히 열정적이다.  하지만, 실제로 공(목표)에 다가서거나 만져 본 사람은 적다.





조기 축구형


"포지션을 갖춘다."


얼핏 프로의 모습이 보이기 시작한다.  포지션(목표 정의와 개발 프로세스 정립)을 이용한 패스와 작전이 가능해 진다.  하지만, 무엇인가 항상 2% 부족하다.  아무리 노력해도 채워지지 않고, 번번히 프로젝트(경기)가 실패로 끝난다.





프로 축구형


"임기 응변이 가능해 진다."


조기 축구형의 경우에 크게 부족한 점은 없었다.  다만 프로젝트(경기)는 작전대로 진행되지 않는 것이 문제이다.  결국 예측을 뛰어 넘는 간극을 얼마나 "제때 그리고 빠르게" 대응 할 수 있느냐가 문제다.  이 때문에 과거의 조직 체계나 개발 프로세스를 버리고 애자일이 오래 전부터 자리 잡고 있다.  그러나, 개개인의 역량(개인기)이 뒷받침되지 않으면, 유연한 개발 프로세스가 오히려 독이 될 수도 있다.

저작자 표시 비영리 변경 금지
신고

Posted by 류종택

편지를 배달하는 과정을 생각해 보겠습니다.  아주 작은 부락으로 이루어진 과거의 이야기 입니다.  

 

"태기마을 류서방에게 보내는 편지"

 

누가 편지를 전해주더라도 이보다 명확 할 수는 없습니다.  그런데, 그것을 굳이 현재와 같이 행정구역을 나누고, ,,번지까지 부여해야 한다면 왜 그렇게 해야 하는 지 이유를 납득 할 수 없을 것 입니다.

 

그런데, 현재에 와서 "XX동에 사는 류서방에게 전달해 주세요" 라고 한다면, 제정신이라 인정받기 어려울 것 입니다.  규모의 차이로 인해서 예전에는 쓸데 없다고 생각되었던 "운영과 관리"의 중요성이 부각됩니다.  코드를 클래스로 나누고, 구조적인 효율을 위해서 도시 계획하듯이 개발 할 때의 이득이 점점 더 커지게 됩니다.


결론적으로, OOP를 제대로 이해하기 위해서는 규모 크고 복잡한 시스템에서의 활용을 경험하는 것이 좋습니다.  오픈소스를 통해서 훈련하는 방법도 효과가 있겠지만, POSA(Pattern-Oriented Software Architecture) 시리즈도 도움이 될 것이라 믿습니다.

 

OOP가 적용 된 소스 코드를 통해 공부를 할 때 한 가지 걸림돌이 되는 것이 있습니다..  일반적으로 절차지향적 코드보다 OOP가 적용 된 코드가 읽기 어렵습니다.  OOP가 다차원적인 사고나 프로세스를 요구하는 구조로 구현되는 경우가 자주 발생하기 때문입니다.  이러한 코드는 객체들이 마치 개별적인 유기체처럼 행동하게 됩니다.  결국 하나 하나 작은 것만 이해하는 것으로 전체의 그림을 이해하기 어렵습니다.

 

따라서, OOP 코드를 이해하기 위해서는

  • 정적인 설명 (Class Diagram 등)

  • 동적인 설명 (Sequence Diagram, Job Flow 등)

두 가지 측면에서의 관점이 필요합니다.


마지막으로 저는

OOP가 무엇인지 제대로 알기 위해서,

그리고, 프로그래밍을 깊이 이해하기 위해서

 

"규모가 큰 시스템의 그림(지도)을 머릿속에 한 번에 넣을 수 있는 반복 훈련이 필요하다고 믿습니다."

 

전체의 그림과 흐름을 바둑의 수 읽기와 같이 머릿속에서 자유자재로 결합하고 분리하고 테스트 할 수 있는 상상력이 필요합니다.


양념이라고 생각하고 넣은 예와 제목 등이 원래 의도를 이해하는데 방해가 되는 것으로 보고, 불필요한 부분을 제거하고 조금 수정하였습니다.  원래의 글이 혹시라도 궁굼하신 분들을 위해 첨부 파일로 올립니다.


Original.pdf


저작자 표시 비영리 변경 금지
신고

Posted by 류종택

가끔 이런 질문을 발견하고 합니다.


"저는 이런 공부를 하였고, 

이런 기술들을 다룰 수가 있습니다.  

제 실력이 어느 정도 되는 것인가요?"


이제 아주 중요한 시기에 들어선 분일 것입니다.  스스로의 성취가 자랑스럽고 심지어 도취되어 성장에 대한 욕심이 앞서는 시기입니다.  이 시기에는 이런 것을 충분히 즐기고 무럭무럭 자라나는 것이 맞는다고 봅니다.


하지만, 언젠가는 벽에 부딪치고 성장통을 겪게 될 것 입니다.  어떤 분야도 비슷한 것 같습니다.  이제 좀 할만하면 지쳐서 포기하는 사람이 끝까지 남는 사람보다 휠씬 더 많습니다.


자신이 성장을 넘어서 성숙을 하는 시기라는 것을 모르기 때문에 지치는 것입니다.  항상 딱 지치기 좋은 순간이 있습니다.  그 순간을 넘어서면, 그 원망스럽게 기어오르던 벽이, 나중에는 자신이 더 이상 미끄러지지 않도록 받쳐주는 역할을 한다는 것을 알지 못합니다.  그리고 진정한 실력자의 대열에 들어서지 못하고 도태되어 버립니다.


진정한 실력은 의식을 거치지 않고 시전되어야 합니다.  우리는 "무의식"의 커다란 에너지 황소 위에 "의식"이라는 작은 고삐 하나를 채웠을 뿐입니다.  대부분의 에너지는 무의식 속에 있습니다.  


세상에 있는 모든 슈퍼 컴퓨터를 모아놔도 어린 아이가 하는 말을 흉내내지도 못합니다.  그 정도로 말을 한다는 것은 엄청난 일입니다.  하지만, 우리는 너무나 자연스럽게 말을 하며 살아갑니다.  세상에 유일하게 말을 할 수 있는 것이 인간인데도, 그 사실을 그렇게 중요하게 생각하지 않습니다.  인간에게 언어란 수 많은 반복을 통해서 이미 내재 된 기능일 뿐입니다.  이처럼 실력이란 내재 된 기능으로 아무 생각 없이 발휘 될 수 있어야 합니다.


의식의 가치는 실력이라는 무시 무시한 칼이 흉기가 되어 일을 그르치지 않도록 조절하는 데에 있습니다.


실력이 의식 수준에 있지 않는 이유는 너무도 당연합니다.  우리의 뇌는 용량이 너무 작기 때문에 우리가 하는 일들을 모두 처리하는 데에는 무리가 있기 때문입니다.  또한, 가장 늦게 진화 된 이성적인 두뇌 영역은 상당히 많은 에너지를 소모합니다.  그래서 뇌는 반복되는 것들을 무의식적으로 바로 처리 할 수 있는 영역으로 옮겨 버립니다.  (오직 반복만을 통해서)


초보 운전자들은 지나가는 자동차와 신호등에 몰입되어 운전하는데 진땀을 빼고 다른 일을 할 수가 없습니다.  의식적인 행동을 취할 수 밖에 없는 상황이기 때문입니다.  하지만, 어느 정도 경력이 되면 운전하면서 할 수 있는 일들이 많아집니다.  가끔은 자신이 어떻게 운전하며 집으로 왔는지를 전혀 기억 못하는 경우도 생깁니다.


무의식 영역은 의식에 비해서 방대하면서도 에너지를 거의 소모하지 않습니다.


자 이제, 여러분들이 어떤 분야에 있던지 무의식적으로 할 수 있는 일이 있다고 합시다.  그렇다면 길이 훤하게 보이게 됩니다.  자동차와 운전대를 잊게 되고, 엑셀과 브레이크의 존재를 잊게 됩니다.  그저 길을 갈 수 있게 됩니다.  이제 수단을 넘어서 목적을 향해서 달릴 준비가 된 것 입니다.


어느 정도 경력이 되면 "아는 것"보다 더 중요한 것이 "할 수 있는 것" 입니다.  사실 "능숙한 것"이 실무에서 필요합니다.  그리고, 바로 그것이 바로 진정한 실력입니다.




저작자 표시 비영리 변경 금지
신고

Posted by 류종택

이제 내 나이 곧 서른 열 여섯이 되는 청년이다.

그리고, 오늘도 한 가지 생각에서 한 발 자국도 전진하지 못하고 있다.


  "프로그래밍이 무엇인지 이제야 조금 알 것 같다."


프로그래머는 기술로 완성되지 않는다.

예술로 귀결 된다.


정답이란 애초에 없었고,

언제나 새로운 길을 요구한다.


완벽이란 가능하지 않으며,

최선을 다할 뿐이다.


조금 늦은 나이에 초라한 이치를 하나 깨달았다.

그리고, 이제부터가 나의 전성기다.


  "프로그래밍은 예술을 탐하면서 시작된다."

저작자 표시 비영리 변경 금지
신고

Posted by 류종택

동네 골목길에서 조기 축구 회원으로 보이는 무리와 스쳐지나갔다.

돌연 이런 저런 생각에 빠지다가 동네 축구와 조기 축구 그리고 프로 축구에 대한 차이를 생각해봤다.

  • 동네 축구
    • 공만 쫓아 다닌다.
    • 잘하는 놈이 하나만 있어도 하는 생각이 간절하다.
  • 조기 축구
    • 자신의 포지션을 안다.
    • 팀워크의 비중이 커진다.
  • 프로 축구
    • 포지션을 넘어 임기응변이 가능해 진다.  (전략과 전술의 분리)
    • 잘하는 놈 한 둘 만으로는 승리를 장담 할 수 없다.
그런데, 갑자기 이것이 조직 운영에도 같은 양상이 보이는 것을 직관적으로 깨달았다.

스타트업은 공만 쫓는 근시안적인 운영에서 벗어나기 힘들다.  부족한 자원과 환경 변화에 대해서 민감하고 치명적인 규모로 인해서 목표와 수단이 뒤 바뀌는 건 순간이다. 

스타트업이 취할 수 있는 전략은 무엇일까?  나는 "축구를 하지 않는다"라는 가정을 해봤다.  축구 대신 공차기 놀이에 집중하는 것이다.  거대한 비지니스에 목을 메지 않고, 빠르고 쉽게 파고들 수 있는 틈새 시장을 노리는 것이다.  또한 균형보다는 집중하여 돌파해야 한다.

과도기에 이르게 되면 역시 균형에 신경을 써야 한다.  조직도 커지고 커뮤니케이션의 문제도 불거지게 된다.  이제 공차기를 졸업하고 축구를 해야 할 때다.  필요에 따라 인력을 소모하지 말고, 팀원들의 전문성을 무기로 삼아야 한다.

하지만, 프로 축구의 수준으로 기업이 커지면 어떻게 해야 하나?  이것은 아직 경험하지 못하였으니, 사업에 성공하고 나면 이 글을 마무리 짓기로 하겠다.

^^;


저작자 표시 비영리 변경 금지
신고

Posted by 류종택

지식 중독

종태기 생각 2014.08.22 13:32

삼켜버린 음식이 소화되지 않는다면

아무런 소용이 없듯이,


받아들인 지식이 

내 안에서 원래의 모양을 유지한다면,

독이 된다.

저작자 표시 비영리 변경 금지
신고

Posted by 류종택

할 수 있는 일은 자산이 아니다. 
능력 만으로 자만하지 마라. 

해야 할 일들은 부채이다. 
이자가 불어나기 전에 해결해라. 

이루어 놓은 일들은 원석과 같다. 
갈고 닦아서 자산이 되게 하라. 

저작자 표시 비영리 변경 금지
신고

Posted by 류종택


이미지 출처: http://commons.wikimedia.org



감동적인 명사들의 강의를 듣다보면 몇 가지 공통점을 발견하고 합니다.  이번 포스트는 제가 느낀 그 공통점들을 정리해보고자 합니다.  


제 생각을 정리하기 위한 것이기에 두서 없을 수 있습니다.  여러분들의 의견을 주시면 감사하겠습니다 ^^*

저도 강의를 자주 하는 편인지라, 교육에 관련된 이론서들을 읽어보았지만, 그다지 와닫지는 않았습니다.  아직 제 공부가 짧아서 그런 것이라 믿습니다.  언젠가 깨달음을 얻게 되면 이론적인 부분들도 정리해보겠습니다.



강의에 필요한 것들
  • 신선하고 충분한 재료
    • 너무나 당연하게도 명강의는 충분한 공부와 노력을 통해서 얻은 재료가 뒷받침하고 있습니다.  감동을 불러 일으키는 강사들은 자신의 전문 분야는 물론 그렇지 않은 분야까지도 아주 오랜 기간 깊이 공부를 하여 일가를 이루신 분들 입니다.
    • 하지만, 너무 뻔한 내용을 다룬다면 아무리 좋은 내용이라고 해도 지루하게 됩니다.  그렇다고, 트랜드에 민감하게 따라가려고 하지 말고, 자신의 경험을 바탕으로 강의를 준비한다면, 필드의 경험이 우러 나오는 신선한 재료를 준비할 수가 있을 것 입니다.
  • 재미
    • 재미 없는 강의에 감동하기는 불가능에 가깝습니다.
    • 재미를 위해서 강의 구성에 신경을 써야 합니다.  이것이 많이 또는 잘안다고 해서 좋은 강사가 될 수 없는 이유이기도 합니다.
    • 재미에 영향을 주는 것들은
      • 스피드
        • 너무 빠르거나 난해하면 청중이 지치기 쉽습니다.
        • 너무 느리거나 단조로우면 청중이 집중하기 어렵습니다.
        • 적당한 스피드를 찾아서 엑셀과 브레이크를 번갈아 활용해야 합니다.  이는 태도에서 다루는 "청중의 눈빛을 살펴라"와 같은 맥락입니다.
      • 강약
        • 때로는, 청중들이 중요한 핵심이 어디인지 본능적으로 느낄 수 있도록 핵심에 이르렀을 때, 청중들을 압박해야 합니다.
      • 유머
        • 강의 흐름에 도움이 될만한 유머를 통해서 청중을 끌어 드려야 합니다.  다만, 무리하거나 너무 비중이 커지면, 강의 내용이 가려질 수 있으니 조심해야 합니다.
  • 확실한 메시지
    • 재미있거나 장황한 강의를 듣다보면 가끔 핵심 메시지를 놓치는 경우도 생깁니다.  주제와 전체 내용이 서로 어색하지 않도록 준비하고 진행하는데 주의를 기울여야 합니다.
  • 용기
    • 강사가 자신감이 없어 보이면 강의 내용에 힘이 실리지 않습니다.
    • 용기는 "용기를 갖자"라고 되뇌인다고 생기지 않습니다.  우리의 뇌에게 합리적인 근거를 제시해야 떨림이 멈춥니다.  뇌가 인정 할 수 있는 자신의 가치를 발견하고, 강의 준비 내용에 확신을 가져야 합니다.  "강단에 서기로 결정한 사실만으로도 충분히 나는 용기 있는 사람이다"라고 스스로가 믿어야 합니다.
    • 강의를 반복해서 연습하다보면 강의에 대한 압박감이 줄어들어서 상대적으로 작은 용기로도 충분히 극복할 수 있습니다.  다른 사람 앞에서 발표하는 연습이 상당한 도움이 됩니다..
  • 발돋음 계단
    • 어려운 주제는 핵심을 관통하는 키워드 또는 비유를 통해서 청중들이 쉽게 접근 할 수 있도록 해야 합니다.
    • 이후 점진적이고 반복적으로 깊이 있는 곳으로 이끌어야 하며, 반복의 강도와 스피드는 청중의 반응을 통해서 유기적으로 조절할 수 있어야 합니다.


강의를 하는 태도
  • 청중의 눈빛을 살펴라
    • 예순베이는 훌륭한 용사다.  용감하고 지치지 않는다.  그러나 그는 훌륭한 장수가 될 수 없다.  훌륭한 장수는 병사들의 고통을 함께 느끼는 사람이어야 한다.  - 징기스칸
    • 청중의 반응에 따라 속도,난이도,흐름(유머 등) 등을 조절 할 수 있어야 합니다.
  • 질문을 통해 적극적인 참여를 이끌어 내라
    • 뇌는 자극이 없으면, 해당 이슈에 대해서 "최대 절전 모드"로 전환해 버립니다.  듣기만 하는 강의보다 소통하는 강의를 운영해야 합니다.
  • 가르치려 들지 말고 자극하라
    • 청중의 나이가 많을 수록, 지적 수준이 높을 수록, 전문 분야에 일할 수룩 기타 등등의 이유가 있을 때 청중들은 남의 가르침을 거부하려는 경향이 뚜렷해 집니다.  일종의 영역 침범에 대한 본능적 방어를 하게 됩니다.
    • 청중들이 스스로 공부하고 활용 및 확장을 할 수 있는 계기를 만들어 준다고 생각해야 합니다.  즉, 선생의 입장에서 가르치는 것이 아니고, 동료의 입장에서 공감대를 형성하여 자신의 경험 알리는(발표) 것 입니다.
  • 비전을 제시하라
    • 강의 내용이 청중들에게 구체적으로 어떤 기대 효과를 불러 일으킬 수 있는 지를 확실하게 제시해야 합니다.


정리를 한다면 다음과 같습니다.
신선하고 충분한 강의 재료를 찾아내고,
짧고 분명한 핵심 키워드 또는 비유를 던지고,
청중과 함께 호흡하면서 강의 내용의 깊은 곳으로 이끌고,
비전을 제시하여 마무리 합니다.


저작자 표시 비영리 변경 금지
신고

'종태기 생각' 카테고리의 다른 글

지식 중독  (0) 2014.08.22
할 수 있는, 해야 하는, 이루어 놓은 그러한 일들  (0) 2014.08.22
강의 잘하는 법  (0) 2013.12.17
야근은 정말 필요 없는 것일까?  (0) 2013.12.06
초보 프로그래머들에게!  (0) 2013.10.24
Context switching cost  (0) 2013.10.22

Posted by 류종택

제목에 낚시를 좀 걸어 놨습니다 ^^;  죄송합니다 ㅡ.ㅡ;

이 글은 자신을 위한 야근에 관한 이야기 입니다.





예전에 어느 대학에서 졸업생들을 대상으로 강의를 한 적이 있습니다.  서두에 학생들에게 물었습니다.


"여러분들은 프로그래밍을 하면서 희열을 느껴 본 적이 있습니니까?"

그 누구도 손을 들어 달라는 요구에 선뜻 응하는 학생이 없었습니다.

"만약 단 한 번도 그런 감정을 느껴보지 못했다면, 지금이라도 좀 더 쉬운 길로 가야 합니다.  이를 테면 의사나 변호사가 되는 것을 고민해 보시기 바랍니다."

학생들이 웃습니다. 

"의사나 변호사가 되는 것은 어렵습니다.  그 분야의 분들을 우습게 생각해서 말씀 드린 것이 아닙니다.  

다만, 프로그래머가 되는 것은 쉽지만, 프로그래머로 살아 남는 것은 너무나 어렵기 때문입니다.  한 번 면허를 취득하면 그 자격이 유지되는 업종들과 달리, 프로그래머는 면허가 필요없습니다.  하지만, 자신을 유지하기 위해서는 끊임없이 노력해야 합니다.

열정과 끈기가 없다면, 얼마 가지 못해서 도태 될 것이 뻔 합니다.

그리고, 다른 이유가 하나 더 있습니다.  프로그래밍은 너무나 재밌습니다.  그것을 아직까지 느껴 본 적이 없다면 재능이 없거나, 적성이 맞지 않는 것 입니다."

자신을 위한 야근을 하고 있지 않다면, 스스로에게 물어 보시기 바랍니다.  

"나는 프로그래밍을 하면서 희열을 느껴 본 적이 있는가?"

만약, 어렴풋한 기억으로 남아 있다면, 쫓기면서 살아가고 있는 지 아니면 단순히 나태해 진 것인 지를 살펴봐야 합니다.

그리고, 다시 한 번 자신에게 물어 보시기 바랍니다.
  • 자신의 꿈을 위해서 평소에 어떤 노력을 하고 있습니까?
  • 자신이 이미 이루어 놓은 것을 정리하시고 계십니까?
  • 자신의 부족한 면을 점검하고, 이에 대한 학습 계획을 세우고 계십니까?


저작자 표시 비영리 변경 금지
신고

'종태기 생각' 카테고리의 다른 글

할 수 있는, 해야 하는, 이루어 놓은 그러한 일들  (0) 2014.08.22
강의 잘하는 법  (0) 2013.12.17
야근은 정말 필요 없는 것일까?  (0) 2013.12.06
초보 프로그래머들에게!  (0) 2013.10.24
Context switching cost  (0) 2013.10.22
10년 간의 삽질  (1) 2013.04.22

Posted by 류종택


티스토리 툴바