회사의 도서관에서 특정 분야에 대한 책을 다른 분들에게 추천해주는 북셀렉터 활동을 완료했다.
1년동안 북셀렉터들과 도서관 담당자와 한달에 한번씩 모여서 책에 대한 후기를 서로 공유했다.
내가 맡은 부분은 운영체제였고, 운영체제 관련한 책에 대해서 보고 공유하면서 들었던 생각들을 정리차 작성한다.

운영체제라는 주제를 서비스개발자, 디자이너, 기획자에게 설명하는 것이 너무 어려웠다. 커널이나 알고리즘을 얘기하는 것은 피드백을 주거니 받기 어려운 부분이었다. 게다가 책을 추천하는 것은 그보다 더 어려운 것이었다.  왜 운영체제라는 것이 필요한지 조차도 모르는 분들을 설명하기란 굉장히 어려웠다. 초반에 기술 서적을 설명할 때 'Hard core'라는 단어를 쓰면서 나를 위안했다. 그러나, 시간이 지나면서 상대방을 이해시키려 하지 말고 좋은 마음으로 볼 수 있도록 하는 방법이 생각이 났다. 

PPT와 유투브 동영상을 이용해서 리눅스OS에 대해서 어떤 것인지 보여주었지만, 디자이너, 기획자, 서비스개발자의 표정들이 동감대가 이루어지지 못했다. 어려운 개념을 설명하려고 쉬운 개념이 필요하다는 생각이 들었다. 즉, 눈에 들어오는 제품을 직접 만들어 가지고 가서 왜 운영체제가 필요한지를 설명하였다. 특히 나는 리눅스 OS와 C/Java언어 계통을 좋아하는 까닭에 내가 잘 할 수 있는 것들을 찾아보았다.

처음에는 안드로이드 폰이었다. 안드로이드폰을 직접 들고 가서, 북셀렉터 모임에서 안드로이드 OS에 대한 개괄적인 설명과 아키텍처를 설명하였다.


(이미지는 구글 검색후 찾아낸 것음. 내용과 무관함. 출처 : http://ss.textcube.com/blog/3/31048/attach/XaBhtFDQSb.jpg)


다들 스마트폰을 쓰고 있어서 그런지 안드로이드 OS에 대해서 그렇구나 정도로 설명을 진행했다. 반응이 미비했지만, 마음이 움직일 수 있겠다하는 생각이 들었다.

누구나 쉽게 운영체제를 좀 더 이해할 수 있는 방법이 없을까 하는 생각이 들었다. 운영체제를 깊게 이해하기 보다는 기존의 펌웨어 방식의 특징을 얘기하고 운영체제가 필요하게 되었나를 설명하면 좋겠다는 생각이 들었다. 사실 나도 책으로만 공부했지, 왜 운영체제가 필요한 것인지에 대해서 깊이 생각해본 적은 없었던 부분도 있었다.

중고 레고 마인드스톰을 35만원을 주고 구매했다. 비싸게 주고 샀지만 이런 기기를 언제 만져볼까 싶기도 하면서도 누군가에서 재미있는 설명을 해준다면 좋을 것 같아서 구매했다.


(이미지 출처 : http://ecx.images-amazon.com/images/I/618DwmMkOQL._SL500_AA300_.jpg)


( 펌웨어의 의미는 상당히 고급스러운 데, 이 문서에서는 단순히 어플리케이션처럼 바이너리를 넣은 개념으로 이해하면 좋을 듯)

북셀렉터 모임 때 마인드스톰 로봇에 프로그래밍을 하고 업로드 한후, 안드로이드 OS의 블루투쓰 콘트롤 어플을 이용해서 자유자재로 움직이는 로봇을 시연했더니 반응이 아주 좋았다. 그 다음 달에도 레고 마인드스톰을 이용하여 겉표면에 나와있는 로봇을 만들어서 혼자 흔들어대도록 만들어서 보여주었더니 역시 반응이 좋았다. 
이것저것 시연을 하면서 프로그래밍한 바이너를 저장한 펌웨어의 특징과 펌웨어 형태로 개발하는 것의 한계를 얘기할 수 있었다. 

"펌웨어는 한번에 한가지만 할 수 있다. 바로 마인드 스톰의 특징이라고 할 수 있다. 동작하게 하는 CPU와 작은 메모리로 센서를 인풋으로 삼아 다양한 동작을 가능케 한다.
그러나 동시에 여러개를 할 수 있으려면 운영체제의 개념이 필요하다. 즉 프로세스(일) 관리가 필요한 것이고, 프로세스를 관리하려면 메모리를 침범하지 않도록 보호를 해야 한다. 또한 어느 한 프로세스가 소홀히 되지 않도록 다양한 방법(알고리즘)이 필요한 것이라고 얘기했다. 또한 무엇을 하면서도 언제든지 내가 원하는 일을 바로 처리해 줄 수 있도록 하는 큰 개념을 운영체제라고 얘기했다. "



사람들이 조금씩 운영체제를 이해할 수 있었다. 눈에 보이는 레고 마인드스톰을 가지고 깊이 이해할 수 없었지만, 왜 운영체제가 필요한 것인지를 이해시키는 부분을 설명을 했다. 디자이너, 기획자들이 바로 반응이 왔다.

그 다음은 아두이노 였다. 아두이노는 마인드스톰과 달리 6-8만원 정도로 가격이 쌌고, digital input/output port가  많다보니 좀 살 것 같았다. 마인드 스톰은 레고 블럭으로 로봇 만드는 것은 바쁜 나에게 힘든 경험이었다.



(이미지 출처 : http://arduino.cc/en/uploads/Main/arduino_uno_test.jpg)


아두이노는 리눅스 운영체제를 탑재할 수 없다. 그러나 펌웨어 기반으로 동작할 수 있고, 조금만 할애하면 누구나 쉽게 멋진 예술작품을 만들 수 있기 때문에, 소개하면 좋겠다는 생각이 들었다. 또한 나는 ARM 에 대해서 깊이 알 수 있겠다는 생각이 들었다. 오픈 하드웨어, 오픈 소스를 표방하고 있기 때문에 코드를 볼 때마다 즐거웠다.

아두이노를 가지고 다양하게 시연를 해주었다. 센서. LED, MIDI 스피커, 화이트 캐릭터  LCD를 가지고 폭탄 만들기 시연, LED 방식으로 다양한 효과를 선보이니 역시 반응이 좋았다. 작은 기계에서 다양한 기능을 가지고 재미있는 일을 할 수 있는 것에 호기심을 내비쳤다.

1기 활동을 끝마치고 나서 그들에게 더 좋은 것을 보여줄 수는 없었다. 그러나 소통하는 것이 무엇인지를 조금씩 깨달았다. 기대감과 호기심을 자극시킴으로서 공감과 참여를 이끌어내는 것이 즐거웠던 것 같다. 다들 웃으면서 다양한 얘기를 해주실 때마다 고마움을 느꼈다. 그리고, 아래와 같은 솔직한 얘기를 했다.

운영체제는 항상 필요한 것은 아니다. 필요한 곳에 쓰일 수 있는 소프트웨어이지, 모든 것에 만능은 아니다.
또한  완벽한 운영체제를 만드는 것은 쉽지 않다. 어떤 곳은 펌웨어로, 어떤 곳은 운영체제로 쓰일 수 있을 것이다.



어려운 주제인 운영체제를 공감하기 위해서 사비을 지불했다. 사람들이 어려워하는 주제에 대해서 이해를 조금 높일 수 있도록 노력했다는 점은 잘했다고 생각이 든다. 그러나 눈에 보이지 않은 부분은 도외시 하지 않았나 하는 생각이 들었다. 공감대를 갖도록 하기 위해서 눈에 보이는 것 위주로 하지 않았나 생각을 한다.


기술서적에 대한 북셀렉터 활동을 하면서 배운 것을 정리해 본다.

첫번째, 어려운 주제라도 쉽게 설명할 수 있는 방법이 있다. 그것을 찾아내는 과정에서 많은 고민과 고통이 있을 수 밖에 없다. 상대방이 무지를 존중하자. 그것은 내가 설명할 수 있는 방법을 제공한다. 상대방을 쉽게 이해시키고 동감대를 만들어 낼라면 2배를 고민하고 노력하자.

두번째, 소통의 방법 중 하나는 눈으로 보여주는 것이다. 실제의 현상, 기술이 100%라면 책에서 보여주는 것은 30% 미만이다. 책의 한계를 인정하고 책에서 보여주고 싶었던 그림을 내가 소화하고 보여주자. 완벽하지 않더라도 개념을 현실로 만들어 놓자.

세번째, 쉬운 것부터 시작하자. 쉬운 것부터 시작하니 점차 어려운 것도 쉽게 해낼 수 있는 방법이 생긴다. 정말 시작은 반인 것 같다. 말만 하지 말고 정말 작은 발걸음부터 떼자.


마지막으로 책이란 무엇인가? 라는 하는 물음이 내안에 든다.
'책은 현상에 대한 아무 일부에 대한 모습을 보여주는 거울이다' 라는 생각이 든다.
언젠가 또 다시 바뀌겠지만.. ^^



Posted by '김용환'
,